冰楓論壇

標題: TwMs v264.3 Auto Key [打印本頁]

作者: lafeng666    時間: 2024-9-25 15:53
標題: TwMs v264.3 Auto Key
本帖最後由 lafeng666 於 2024-9-27 17:14 編輯
  1. //TwMs v264.3 Auto Key
  2.   [ENABLE]
  3.   Alloc(Auto_Key_Hook,128,142968072)
  4.   Alloc(Delay,4)
  5.   Alloc(Timer,4)
  6.   RegisterSymbol(Delay)
  7.   RegisterSymbol(Timer)
  8.   Label(Auto_Key_Exit)
  9.   Delay: //延遲毫秒
  10.   DD #100
  11.   
  12.   Timer:
  13.   DD 00
  14.   
  15.   Auto_Key_Hook:
  16.   push rcx
  17.   push rdx
  18.   push r8
  19.   push r9
  20.   push r10
  21.   push r11
  22.   sub rsp,20
  23.   call GetTickCount
  24.   mov edx,eax
  25.   sub edx,[Timer]
  26.   cmp edx,[Delay]
  27.   mov r8,001D0030 //按鍵代碼
  28.   mov edx,11 //鍵碼
  29.   mov rcx,147ADCE98
  30.   mov rcx,[rcx]
  31.   jl Auto_Key_Exit
  32.   mov [Timer],eax
  33.   call 144A82FB0
  34. Auto_Key_Exit:
  35.   add rsp,20
  36.   pop r11
  37.   pop r10
  38.   pop r9
  39.   pop r8
  40.   pop rdx
  41.   pop rcx
  42.   call 142F8BF10
  43.   jmp 142968072+5
  44.   
  45.   142968072:
  46.   jmp Auto_Key_Hook
  47.   
  48.   [DISABLE]
  49.   142968072:
  50. call 142F8BF10
  51.   
  52.   DeAlloc(Auto_Key_Hook)
  53.   DeAlloc(Delay)
複製代碼

作者: smilelin0419    時間: 2024-9-26 22:06
你這邊
jl 142968072+5
在沒有還原你先前的保存的寄存器值
就跳回去是會崩潰的吧?
作者: btb    時間: 2024-9-27 12:11
本帖最後由 btb 於 2024-9-27 12:41 編輯

//TwMs v264.3 Auto Key
  [ENABLE]
  Alloc(Auto_Key_Hook,128,142968072)
  Alloc(Delay,4)
  Alloc(Timer,4)
  RegisterSymbol(Delay)
  RegisterSymbol(Timer)
  Label(Auto_Key_Exit)
  Delay: //延遲毫秒
  DD #100
  
  Timer:
  DD 00
  
  Auto_Key_Hook:
  push rcx
  push rdx
  push r8
  push r9
  push r10
  push r11
  sub rsp,20
  call GetTickCount
  mov edx,eax
  sub edx,[Timer]
  cmp edx,[Delay]
  mov r8,001D0030 //按鍵代碼
  mov edx,11 //鍵碼
  mov rcx,147ADCE98
  mov rcx,[rcx]
  jl Auto_Key_Exit
  mov [Timer],eax
  call 144A82FB0
Auto_Key_Exit:
  add rsp,20
  pop r11
  pop r10
  pop r9
  pop r8
  pop rdx
  pop rcx
  call 142F8BF10
  jmp 142968072+5
  
  142968072:
  jmp Auto_Key_Hook
  
  [DISABLE]
  142968072:
call 142F8BF10
  
  DeAlloc(Auto_Key_Hook)
  DeAlloc(Delay)
作者: lafeng666    時間: 2024-9-27 14:15
smilelin0419 發表於 2024-9-26 22:06
你這邊
jl 142968072+5
在沒有還原你先前的保存的寄存器值

一樣有疑問,之前看到代碼的時候就看著堆棧不平衡肯定會出問題,搜索了一下很多個版本都是這樣寫,以為這樣寫有什麼原因,就只是更新了下。
作者: lafeng666    時間: 2024-9-27 17:17
lafeng666 發表於 2024-9-27 14:15
一樣有疑問,之前看到代碼的時候就看著堆棧不平衡肯定會出問題,搜索了一下很多個版本都是這樣寫,以為這 ...

嗯 修改過了,我清楚正確寫法,之前帖子裡 https://bingfong.com/thread-1980252-1-1.html 12樓您也回復過




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