黃易群俠傳M脫機外掛應用程式黃易神行
1808
8

[分享] 身邊怪名稱可顯示了 幫會名稱在努中 包含vb碼

sl25 發表於 2009-7-6 00:23:25 | 只看該作者 回帖獎勵 |正序瀏覽 |
file:///C:/DOCUME%7E1/alan/LOCALS%7E1/Temp/moz-screenshot.jpg

大部份源碼都在廣海聯合國可找到..經本人改進了可歷編所有怪...但是選怪call 和 普攻還是不會做有大大提供一下

研究中所以沒整理好..版面不好看請見諒.. 大部份碼是 virginlin  大大先放上來的 http://bbs.wgun.net/thread-270449-1-2.html

本人改用 timer 隔時間去素描 .改 timer1.時間..



Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function ReadProcessMemory Lib "kernel32.dll" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, ByRef lpBuffer As Any, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long



Const PROCESS_ALL_ACCESS = &H1F0FFF
Dim proc As Long
Dim pid As Long
Const PW_Base = &H97B33C
Dim W2I_DYNAMIC_BASE_ADDR As Long
Dim W2I_ROLE_BASE_ADDR As Long

Dim hp As Long, mp As Long, maxhp As Long, maxmp As Long, genki As Long
Dim name_temp As Long
Dim name_temp1 As Long
Dim pplname(32) As Byte
Dim GroupName(64) As Byte
Dim group_temp As Long

  Dim hProcess As Long

Dim W2I_BASE_ADDR          As Long
Dim W2I_ENVIRON_BASE_ADDR  As Long ':Cardinal ;//   (*(DWORD *)(W2I_DYNAMIC_BASE_ADDR+0x8))         //周圍環境基址

Dim W2I_MONSTER_BASE_ADDR  As Long  '怪物基址
Dim W2I_MONSTER_COUNT      As Long  '怪物數量
Dim W2I_MONSTER_MAXCOUNT   As Long  '怪物數組的最大值 (MAX =769)
Dim W2I_MONSTER_ADDR       As Long  '怪物列表的首地址
Dim W2I_ENV_MONSTER_ADDR   As Long
Dim W2I_ENV_MONSTER_OBJ    As Long
Dim W2I_ENV_MONSTER_NAME_ADDR  As Long
Dim W2I_ENV_MONSTER_NAME   As Long
Dim W2I_MONSTER_NUM        As Long

Dim i As Long     '用於?圈
    Dim ii As Long
    '==============================
    'Dim hwnd As Long
     
   
    '===============================
    Dim ECXI As Long
    Dim eax As Long
    '==============================
    Dim tmp1 As Long
    Dim tmp2 As Long
    Dim GwSL As Long
    Dim GwHP As Long        '怪物當前血值
    Dim GwHPMAX As Long '怪物血值上限
    Dim GwLv As Long        '怪物等級
    Dim GwX As Single        '怪物X坐標
    Dim GwY As Single        '怪物Y坐標
    Dim GwJl As Single
    Dim GwClass As Long
    Dim GwId As Long
    Dim GwName As String      '怪物名字
    'Dim GroupName As String   '盟名稱
   
      

    Dim GwZl As Long
    Dim GwNameb(63) As Byte
    Dim group(63) As Byte
   

   
   
    '=================================


Private Sub Command1_Click()
Timer1.Enabled = True



  proc = FindWindow(vbNullString, Text3.Text)
  If proc > 0 Then
    GetWindowThreadProcessId proc, pid
  Else
    MsgBox "遊戲未啟動"
    Exit Sub
  End If
  
  hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
  If hProcess = 0 Then
    MsgBox "not found"
    Exit Sub
  End If


ReadProcessMemory hProcess, ByVal PW_Base, W2I_DYNAMIC_BASE_ADDR, 4, 0&     '一級基址 PW_Base = &H97B33C

ReadProcessMemory hProcess, ByVal W2I_DYNAMIC_BASE_ADDR + &H20, W2I_ROLE_BASE_ADDR, 4, 0&      '人物基址

ReadProcessMemory hProcess, ByVal W2I_ROLE_BASE_ADDR + &H5F4, name_temp, 4, 0&                 '得到角色名
ReadProcessMemory hProcess, ByVal name_temp, pplname(0), 32, 0&
Form1.Caption = pplname

  ReadProcessMemory hProcess, ByVal W2I_ROLE_BASE_ADDR + &H6DC, group_temp, 4, 0&                 '得到角色名
  ReadProcessMemory hProcess, ByVal group_temp, GroupName(0), 64, 0&                   '得到幫會名'6a4 ,6dc
  ' 幫會名還在研究中
     GroupName1 = (Trim(Left$(GroupName, 64)))
  ' mem = StrConv(GroupName1, vbFromUnicode)
' Big 5 to gb
   tStr = StrConv(GroupName1, vbFromUnicode, &H804)
    GBBIG5 = StrConv(tStr, vbUnicode, &H404)
  Form1.Caption = GBBIG5
  
   'GB to Big5
  tStr = StrConv(GroupName1, vbFromUnicode, &H404)
  GBBIG5 = StrConv(tStr, vbUnicode, &H804)
     Form1.Caption = GBBIG5
      'mem = StrConv(GroupName, vbFromUnicode, &H404)
    ' `再?Unicode????GBK??
     'mem = StrConv(mem, vbFromUnicode, &H804)
Form1.Caption = GroupName1
'Form1.Caption = mem
            
            
            '----------------------
    ReadProcessMemory hProcess, ByVal W2I_ROLE_BASE_ADDR + &H464, hp, 4, 0&
    ReadProcessMemory hProcess, ByVal W2I_ROLE_BASE_ADDR + &H468, mp, 4, 0&
    ReadProcessMemory hProcess, ByVal W2I_ROLE_BASE_ADDR + &H494, maxhp, 4, 0&
    ReadProcessMemory hProcess, ByVal W2I_ROLE_BASE_ADDR + &H498, maxmp, 4, 0&
    ReadProcessMemory hProcess, ByVal W2I_ROLE_BASE_ADDR + &H478, genki, 4, 0&

      
    '  Form1.Caption = GroupName
           'GroupName1 = Trim(Left$(pplname, 64))
            'GwName = Left$(GwNameb, 64)
           ' GwName = Trim(GwName)
    '  Form1.Caption = name_temp
      'Form1.Caption = GroupName
      
                      ' temp1_name = Form1.Caption
                        
   
    lbHP.Caption = hp & " / " & maxhp
    lbMP.Caption = mp & " / " & maxmp
  
  
    End Sub
   
Private Sub Timer1_Timer()

Const W2I_Base = &H97B33C    '完美基址v116

ListView1.ListItems.Clear


    Timer1.Enabled = False


            ReadProcessMemory hProcess, ByVal W2I_Base, W2I_BASE_ADDR, 4, 0
           ' ReadProcessMemory hProcess, ByVal W2I_BASE_ADDR + &H1C, W2I_DYNAMIC_BASE_ADDR, 4, 0
            ReadProcessMemory hProcess, ByVal W2I_DYNAMIC_BASE_ADDR + &H8, W2I_ENVIRON_BASE_ADDR, 4, 0   '//得到周圍環境地址
            
            ReadProcessMemory hProcess, ByVal W2I_ENVIRON_BASE_ADDR + &H24, W2I_MONSTER_BASE_ADDR, 4, 0  '//得到怪物 基地址   '讀2級基址
            
            ReadProcessMemory hProcess, ByVal W2I_MONSTER_BASE_ADDR + &H14, W2I_MONSTER_COUNT, 4, 0               '//讀出怪物數量
            
            ReadProcessMemory hProcess, ByVal W2I_MONSTER_BASE_ADDR + &H24, tmp1, 4, 0             '讀出怪物數組的最大值
            ReadProcessMemory hProcess, ByVal W2I_MONSTER_BASE_ADDR + &H18, tmp2, 4, 0             '讀出怪物列表的首地址
  
   
    Do While (i < 768)

        ReadProcessMemory hProcess, ByVal tmp2 + 4 * i, W2I_MONSTER_BASE_ADDR, 4, 0           '讀取怪物偏移
        
        If W2I_MONSTER_BASE_ADDR > 0 Then
            ReadProcessMemory hProcess, ByVal W2I_MONSTER_BASE_ADDR + &H4, W2I_ENV_MONSTER_OBJ, 4, 0          '讀取怪物資料位址指針

            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H3C, GwX, 4, 0         '怪物X坐標
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H44, GwY, 4, 0         '怪物Y坐標
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &HB4, GwZl, 4, 0        '怪物種類 6=怪 7=npc
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H120, GwClass, 4, 0    '怪物類別
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H124, GwLv, 2, 0       '怪物等級
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H12C, GwHP, 4, 0       '怪物當前血值
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H15C, GwHPMAX, 4, 0    '怪物血值上限
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H254, GwJl, 2, 0       '人與怪物距離
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H11C, GwId, 4, 0       '怪物ID
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &HE8, W2I_MONSTER_NUM, 4, 0  '相對編號(用處不大)

           

            '---怪物名稱------------------------------
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_OBJ + &H23C, W2I_ENV_MONSTER_NAME_ADDR, 4, 0       '讀取怪物名稱首地址
            ReadProcessMemory hProcess, ByVal W2I_ENV_MONSTER_NAME_ADDR, GwNameb(0), 64, 0       '怪物名稱
            GwName = Left$(GwNameb, 64)
            GwName = Trim(GwName)
            '------------------------------------------
                       
                    If GwZl = 6 Then ' 6=怪 7=npc
                      '  Form1.Caption = pplname
                        Set Item = ListView1.ListItems.Add(, "ID" & CStr(i), GwName)
                        Item.SubItems(1) = GwJl
                        Item.SubI●嚴禁張貼私服●) = GwLv
                        Item.SubItems(3) = CStr(Int(400 + (GwX / 10))) & "/" & CStr(Int(550 + (GwY / 10)))
                        Item.SubItems(4) = GwHP & "/" & GwHPMAX
                        'Item.SubItems(4) = CStr(Int(GwJl / 10))
                        'Item.SubItems(5) = W2I_MONSTER_NUM
                        Item.SubItems(5) = GwId
                    End If
        End If
        i = i + 1
        If i >= tmp1 Then Exit Do
      
    Loop
   
    i = 0
      Timer1.Enabled = True
     Exit Sub
         
      




End Sub



Private Sub Command2_Click()
pid = 0
  lbHP.Caption = "0 / 0"
  lbMP.Caption = "0 / 0"

  Timer1.Enabled = False

  HPTimer.Enabled = False
  MPTimer.Enabled = False
  ListView1.ListItems.Clear
  
  i = 0

  CloseHandle hProcess
  CloseHandle pro
End Sub

'End Sub
Private Sub Timer1_Time()
Timer1_Time.Interval = 10 * 100000
End Sub




Private Sub HPTime_Change()
  HPTimer.Interval = HPTime.Text * 1000
End Sub
Private Sub MPTime_Change()
  MPTimer.Interval = MPTime.Text * 1000
End Sub
Private Sub HPTimer_Timer()
  Dim percent As Integer
  
  'Error here if maxhp <=0
  If maxhp <= 0 Then
    Exit Sub
  End If
  
  percent = CInt(hp / maxhp * 100)
  If chkFixKeyHP.Value = 1 And percent <= txtHP.Text Then 'trigger
    Call SendKey(FixKeyHP.Text) '送出卡鍵
  End If

End Sub

Private Sub MPTimer_Timer()
  Dim percent As Integer
  
  'Error here if maxhp <=0
  If maxmp <= 0 Then
    Exit Sub
  End If
  
  percent = CInt(mp / maxmp * 100)
  If chkFixKeyMP.Value = 1 And percent <= txtMP.Text Then 'trigger
    Call SendKey(FixKeyMP.Text) '送出卡鍵
  End If

End Sub
End Sub

[ 本帖最後由 sl25 於 2009-7-6 00:36 編輯 ]
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


flying04 當前離線
UID
1460052
熱心
6 值
嘉獎
0 次
違規
0 次
在線時間
2 小時
經驗
6 點
積分
6
精華
0
最後登錄
2010-5-15
閱讀權限
5
註冊時間
2010-5-9
論壇幣
9 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
9
flying04 2010-5-9 16:26:58
W2I_ROLE_BASE_ADDR  抓不到數值ㄝ,請問一下,H之前,是不是要加上 and 的符號呀?
回覆

使用道具 舉報

dannelxu 當前離線
UID
1429052
熱心
48 值
嘉獎
0 次
違規
0 次
在線時間
15 小時
經驗
44 點
積分
1325
精華
0
最後登錄
2018-8-6
閱讀權限
30
註冊時間
2010-3-21
論壇幣
1209 幣
聯合幣
9 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 4Rank: 4
8
dannelxu 2010-3-22 18:49:06
怪物也會有幫會名稱嗎?
還是說身邊怪物跟人物資料是在同位址?
回覆

使用道具 舉報

s163837 當前離線
UID
1168431
熱心
92 值
嘉獎
0 次
違規
0 次
在線時間
93 小時
經驗
94 點
積分
94
精華
0
最後登錄
2011-1-19
閱讀權限
20
註冊時間
2009-3-30
論壇幣
655 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
15784 點
查看詳細資料
Rank: 2Rank: 2
7
s163837 2009-10-20 17:03:23
因為有大大們的努力
才有更好的掛出現
加油YCT49B
回覆

使用道具 舉報

krbly2687 當前離線
UID
1324172
熱心
71 值
嘉獎
0 次
違規
0 次
在線時間
14 小時
經驗
71 點
積分
71
精華
0
最後登錄
2011-8-10
閱讀權限
20
註冊時間
2009-10-5
論壇幣
20 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
6
krbly2687 2009-10-8 12:58:27
CE 得要怎魔寫  外掛
各位大大 能分享ㄇ
來去不是風! 只有影
回覆

使用道具 舉報

邪惡小平 當前離線
UID
905546
熱心
121 值
嘉獎
0 次
違規
0 次
在線時間
89 小時
經驗
98 點
積分
98
精華
0
最後登錄
2013-3-31
閱讀權限
20
註冊時間
2008-6-25
論壇幣
3200 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
5
邪惡小平 2009-10-8 11:36:21
大大提供的掛真不錯 又可以讓多人受益 一句話真的 不錯 謝謝
回覆

使用道具 舉報

jaydiy 當前離線
UID
1140322
熱心
50 值
嘉獎
0 次
違規
0 次
在線時間
17 小時
經驗
54 點
積分
54
精華
0
最後登錄
2009-12-16
閱讀權限
20
註冊時間
2009-2-22
論壇幣
533 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
jaydiy 2009-8-3 01:44:24
感謝大大的分享∼購買後應該可以看到源代碼了
                                      
拿來研究看看∼不知道還能不能用

不然就是要自己修改囉!
回覆

使用道具 舉報

dduoduo 當前離線
UID
1151669
熱心
207 值
嘉獎
0 次
違規
0 次
在線時間
97 小時
經驗
200 點
積分
200
精華
0
最後登錄
2013-3-18
閱讀權限
25
註冊時間
2009-3-11
論壇幣
55 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 3
dduoduo 2009-7-14 15:16:17
感謝阪大熱心分享有空來研究看看YCT51B
回覆

使用道具 舉報

samhwu 當前離線
UID
1233736
熱心
117 值
嘉獎
0 次
違規
0 次
在線時間
88 小時
經驗
119 點
積分
119
精華
0
最後登錄
2013-3-17
閱讀權限
20
註冊時間
2009-6-9
論壇幣
1308 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
samhwu 2009-7-6 11:29:01
第一次坐沙發YCT46B ,感謝分享~
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-11-28 09:13 , Processed in 0.056051 second(s), 17 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?