陈建华最新消息:AU3脚本编程汇编模块,无需要DLLqqq

来源:百度文库 编辑:九乡新闻网 时间:2024/05/09 04:12:55

AU3脚本编程汇编模块,无需要DLL,教程实例,绝对好东西。

最新发布的AU3汇编模块,简直是新手门的福音,类似VB的语言。 nU+tM~C%a  
写CALL外挂更简单。 ?&WYjTU]H  
L~{_!Q  
0uVv 复制代码
  1. #include
  2. #include
  3. #include
  4. #include "NewASM.au3"
  5. If ProcessExists("游戏找CALL练习实例one.exe") = 0 Then Run("游戏找CALL练习实例one.exe")
  6. Global $pid, $Win = "写CALL练习", $Name = "游戏找CALL练习实例one", $w_Handle = 0, $Hawd = 0
  7. Global $Asm = AsmInit() ; 加载ASM模块
  8. Global $AddStart = 0x00456D68 ; 基址
  9. Global $AddCall = 0x00452E98 ; 辅助CALL
  10. Global $AddCallGj = 0x00452DF8 ; 攻击CALL
  11. #Region ### START Koda GUI section ### Form=
  12. $Form1 = GUICreate($Win, 330, 228, 193, 125)
  13. $Button1 = GUICtrlCreateButton("取PID", 56, 24, 75, 25, 0)
  14. $Button2 = GUICtrlCreateButton("吃红", 56, 80, 75, 25, 0)
  15. $Button3 = GUICtrlCreateButton("吃蓝", 56, 112, 75, 25, 0)
  16. $Button4 = GUICtrlCreateButton("回城", 176, 80, 75, 25, 0)
  17. $Button5 = GUICtrlCreateButton("冰系", 56, 160, 75, 25, 0)
  18. $Button6 = GUICtrlCreateButton("火系", 176, 160, 75, 25, 0)
  19. $Button7 = GUICtrlCreateButton("打开", 176, 24, 75, 25, 0)
  20. GUISetState(@SW_SHOW)
  21. #EndRegion ### END Koda GUI section ###
  22. While 1
  23. $nMsg = GUIGetMsg()
  24. Switch $nMsg
  25. Case $GUI_EVENT_CLOSE
  26. If $w_Handle <> 0 Then _WinAPI_CloseHandle($w_Handle) ;关闭进程句柄
  27. AsmExit($Asm) ;释放ASM模块
  28. Exit
  29. Case $Button1
  30. $Hawd = WinGetHandle($Name) ;取窗口句柄
  31. If $Hawd <> 0 Then
  32. GetWindowThreadProcessId($Hawd, $pid) ;取窗口进程PID
  33. $w_Handle = OpenProcess($pid) ;打开进程句柄
  34. If $w_Handle = 0 Then
  35. MsgBox(0, $Win, "打不开进程")
  36. Else
  37. MsgBox(0, "取窗口ID", "窗口句柄:" & $Hawd & " 窗口PID:" & $pid & " 打开进程:" & $w_Handle)
  38. EndIf
  39. Else
  40. MsgBox(0, $Win, "窗口《游戏找CALL练习实例one》不存在!")
  41. EndIf
  42. Case $Button2
  43. If $Hawd <> 0 Then
  44. _Send(0x00453028) ;;传参,调用CALL
  45. TrayTip($Win, "吃红", 5)
  46. Else
  47. TrayTip($Win, "未获取PID", 5)
  48. EndIf
  49. Case $Button3
  50. If $Hawd <> 0 Then
  51. _Send(0x00453040) ;;传参,调用CALL
  52. TrayTip($Win, "吃蓝", 5)
  53. Else
  54. TrayTip($Win, "未获取PID", 5)
  55. EndIf
  56. Case $Button4
  57. If $Hawd <> 0 Then
  58. _Send(0x0045305C) ;;传参,调用CALL
  59. TrayTip($Win, "回城", 5)
  60. Else
  61. TrayTip($Win, "未获取PID", 5)
  62. EndIf
  63. Case $Button5
  64. If $Hawd <> 0 Then
  65. _SendGj(0x0045307C, 1) ;;传参,调用CALL
  66. TrayTip($Win, "冰系", 5)
  67. Else
  68. TrayTip($Win, "未获取PID", 5)
  69. EndIf
  70. Case $Button6
  71. If $Hawd <> 0 Then
  72. _SendGj(0x0045309C, 2) ;;传参,调用CALL
  73. TrayTip($Win, "火系", 5)
  74. Else
  75. TrayTip($Win, "未获取PID", 5)
  76. EndIf
  77. Case $Button7
  78. If ProcessExists("游戏找CALL练习实例one.exe") = 0 Then Run("游戏找CALL练习实例one.exe")
  79. EndSwitch
  80. WEnd
  81. Func _Send($_Code)
  82. $tempIP0 = VirtualAllocEx($w_Handle) ;申请空白空间,以便写入代码
  83. AsmReset($Asm, $tempIP0) ;重置代码,清空原有代码
  84. AsmAdd($Asm, "Pushad") ;添加代码
  85. AsmAdd($Asm, "mov eax, [" & Hex($AddStart) & "]") ;........
  86. AsmAdd($Asm, "mov edx, " & Hex($_Code)) ;........
  87. AsmAdd($Asm, "call " & Hex($AddCall)) ;........
  88. AsmAdd($Asm, "Popad") ;........
  89. AsmAdd($Asm, "ret") ;........
  90. _CallAsmCreate($w_Handle, $tempIP0, AsmGetBinary($Asm)) ;写入机器码到申请空间并执行机器码
  91. ;_CallAsmCreate(参数1,参数2,参数3)
  92. ;说明: 参数1:进程句柄; 参数2:申请空间起始地址; 参数3:机器码
  93. ;AsmGetBinary($Asm) 取得当前添加的所有代码转为机器码
  94. $tempIP0 = VirtualFreeEx($w_Handle, $tempIP0) ;释放当前空间
  95. EndFunc ;==>_Send
  96. Func _SendGj($_Code, $_Code2)
  97. $tempIP0 = VirtualAllocEx($w_Handle) ;申请空白空间,以便写入代码
  98. AsmReset($Asm, $tempIP0) ;重置代码,清空原有代码
  99. AsmAdd($Asm, "Pushad") ;添加代码
  100. AsmAdd($Asm, "mov eax, [" & Hex($AddStart) & "]") ;........
  101. AsmAdd($Asm, "mov ecx," & Hex($_Code)) ;........
  102. AsmAdd($Asm, "mov edx," & Hex($_Code2)) ;........
  103. AsmAdd($Asm, "call " & Hex($AddCallGj)) ;........
  104. AsmAdd($Asm, "Popad") ;........
  105. AsmAdd($Asm, "ret") ;........
  106. _CallAsmCreate($w_Handle, $tempIP0, AsmGetBinary($Asm)) ;写入代码到申请空间并执行代码
  107. $tempIP0 = VirtualFreeEx($w_Handle, $tempIP0) ;释放当前空间
  108. EndFunc ;==>_SendGj
  z;]CmR@Ki  
I^*'.z!4Q  
_\5~>g_