冰楓論壇

標題: 牆值左右走 地址怎么获取 [打印本頁]

作者: dgqweasdzxc    時間: 2024-8-6 11:05
標題: 牆值左右走 地址怎么获取
下面 代码的 XXXX地址怎么查找,通过特征码找不到,有大大可以告知怎么找吗?
牆值左右走
[ENABLE]
Alloc(AutoLRICSEntry,128,140F7A750)
Alloc(AutoLRMain,256,140F7A750)
Alloc(MyLR,08,140F7A750)
Label(GetWall)
Label(GetChrX)
Label(ICSReturn)
Label(GoLeft)
Label(GoRight)

MyLR:
DQ 1

AutoLRICSEntry:
push rax
mov rax,140F7A750
cmp [rsp+08],rax
jne ICSReturn
mov rax,AutoLRMain
mov [rsp+08],rax
ICSReturn:
pop rax
jmp GetFocus

AutoLRMain:
call GetWall
mov byte ptr [rbp-0A],00
mov [rbp+000000E0],eax
xor rcx,rcx
xor rbx,rbx
xor rax,rax
jmp 140F7A77F

GetWall:
call GetChrX
mov rcx,[XXXX]
mov ebx,[rcx+18]
sub eax,ebx
cmp eax,32
jle GoRight
call GetChrX
mov rcx,[XXXX]
mov ebx,[rcx+20]
sub ebx,eax
cmp ebx,20
jle GoLeft
mov eax,[MyLR]
ret

GoLeft:
Mov [MyLR],FFFFFFFF
Mov Eax,FFFFFFFF
Ret

GoRight:
Mov [MyLR],1
Mov Eax,1
Ret

GetChrX:
mov rax,[14785AB18]
mov rax,[rax+00019E98]
mov rax,[rax+D8]
mov rax,[rax+58]
mov rax,[rax+80]
ret


147B732E0:
DQ AutoLRICSEntry

[DISABLE]
147B732E0:
DQ GetFocus

DeAlloc(AutoLRMain)
DeAlloc(AutoLRValue)
DeAlloc(AutoLRRange)
DeAlloc(AutoLRICSEntry)
作者: prt    時間: 2024-8-6 11:05
已測試 有效果 請使用
  1. //TwMs v263.1 牆值左右走
  2. [ENABLE]
  3. Alloc(AutoLRICSEntry,128,140F7A750)
  4. Alloc(AutoLRMain,256,140F7A750)
  5. Alloc(MyLR,08,140F7A750)
  6. Label(GetWall)
  7. Label(GetChrX)
  8. Label(ICSReturn)
  9. Label(GoLeft)
  10. Label(GoRight)

  11. MyLR:
  12. DQ 1

  13. AutoLRICSEntry:
  14. push rax
  15. mov rax,140F7A750
  16. cmp [rsp+08],rax
  17. jne ICSReturn
  18. mov rax,AutoLRMain
  19. mov [rsp+08],rax
  20. ICSReturn:
  21. pop rax
  22. jmp GetFocus

  23. AutoLRMain:
  24. call GetWall
  25. mov byte ptr [rbp-0A],00
  26. mov [rbp+000000E0],eax
  27. xor rcx,rcx
  28. xor rbx,rbx
  29. xor rax,rax
  30. jmp 140F7A77F
  31. GetWall:
  32. call GetChrX
  33. mov rcx,[147AE5DE0]
  34. mov ebx,[rcx+18]
  35. sub eax,ebx
  36. cmp eax,32
  37. jle GoRight
  38. call GetChrX
  39. mov rcx,[147AE5DE0]
  40. mov ebx,[rcx+20]
  41. sub ebx,eax
  42. cmp ebx,20
  43. jle GoLeft
  44. mov eax,[MyLR]
  45. ret

  46. GoLeft:
  47. Mov [MyLR],FFFFFFFF
  48. Mov Eax,FFFFFFFF
  49. Ret

  50. GoRight:
  51. Mov [MyLR],1
  52. Mov Eax,1
  53. Ret

  54. GetChrX:
  55. mov rax,[14785AB18]
  56. mov rax,[rax+1028]
  57. mov rax,[rax+E0]
  58. mov rax,[rax+58]
  59. mov rax,[rax+28]
  60. mov rax,[rax+58]
  61. mov rax,[rax+70]
  62. ret

  63. 147B732E0:
  64. DQ AutoLRICSEntry

  65. [DISABLE]
  66. 147B732E0:
  67. DQ GetFocus

  68. DeAlloc(AutoLRMain)
  69. DeAlloc(AutoLRValue)
  70. DeAlloc(AutoLRRange)
  71. DeAlloc(AutoLRICSEntry)
複製代碼

作者: u11334342    時間: 2024-8-6 14:08
memory veiw -> search -> find assembly code 試試
作者: dgqweasdzxc    時間: 2024-8-6 19:24
u11334342 發表於 2024-8-6 14:08
memory veiw -> search -> find assembly code 試試

可以幫忙看看,哪裏出問題了嘛,啓用就閃退了
//TwMs v263.1 牆值左右走
[ENABLE]
Alloc(AutoLRICSEntry,128,140F7A750)
Alloc(AutoLRMain,256,140F7A750)
Alloc(MyLR,08,140F7A750)
Label(GetWall)
Label(GetChrX)
Label(ICSReturn)
Label(GoLeft)
Label(GoRight)

MyLR:
DQ 1

AutoLRICSEntry:
push rax
mov rax,140F7A750
cmp [rsp+08],rax
jne ICSReturn
mov rax,AutoLRMain
mov [rsp+08],rax

ICSReturn:
pop rax
jmp GetFocus

AutoLRMain:
call GetWall
mov byte ptr [rbp-0A],00
mov [rbp+000000E0],eax
xor rcx,rcx
xor rbx,rbx
xor rax,rax
jmp 140F7A77F

GetWall:
call GetChrX
mov rcx,[147AE5DE0]//48 8B ** ** ** ** ** ** ** ** ** ** 0F 10 00 C7 43 ** FF FF FF FF
mov ebx,[rcx+18]
sub eax,ebx
cmp eax,32
jle GoRight
call GetChrX
mov rcx,[147AE5DE0]
mov ebx,[rcx+20]
sub ebx,eax
cmp ebx,20
jle GoLeft
mov eax,[MyLR]
ret

GoLeft:
Mov [MyLR],FFFFFFFF
Mov Eax,FFFFFFFF
Ret

GoRight:
Mov [MyLR],1
Mov Eax,1
Ret

GetChrX:
mov rax,[14785AB18]//48 8B 0D ** ** ** ** 89 7C 24 ** 48 85 C9
mov rax,[rax+00019E98]
mov rax,[rax+D8]
mov rax,[rax+58]
mov rax,[rax+80]
ret

147B732E0:
DQ AutoLRICSEntry

[DISABLE]
147B732E0:
DQ GetFocus

DeAlloc(AutoLRMain)
DeAlloc(AutoLRValue)
DeAlloc(AutoLRRange)
DeAlloc(AutoLRICSEntry)
作者: 晴曦    時間: 2024-8-6 20:27
本帖最後由 晴曦 於 2024-8-6 20:32 編輯

以本文為例,擷取其段落
  1. GetWall:
  2. call GetChrX
  3. mov rcx,[XXXX]
  4. mov ebx,[rcx+18]
  5. sub eax,ebx
  6. cmp eax,32
  7. jle GoRight
  8. call GetChrX
  9. mov rcx,[XXXX]
  10. mov ebx,[rcx+20]
  11. sub ebx,eax
  12. cmp ebx,20
  13. jle GoLeft
  14. mov eax,[MyLR]
  15. ret
複製代碼
第3行及第9行,mov rcx,[XXXX], XXXX <- 稱為「指標」、「指針」、「基址」
第4行及第10行,mov ebx,[rcx+20], +18 <- 稱為「指標變數」、「變數」、「偏移」

可用「Memory View」 -> 「Search」 -> 「Find assembly code」,來更新
同「記憶體檢視」 -> 「搜索」 -> 「尋找匯編代碼」

詳細資料可參考,此篇文章
「簡易Pointer更新教學(新增圖片)」
https://knowlet3389.blogspot.com/2012/04/pointer.html






歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓