관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

치엔으로 메모리 검색하기 본문

AUTOHOTKEY/도움말

치엔으로 메모리 검색하기

님투 2008. 10. 28. 12:57
반응형

  1. ;----------------------------------------------------------------------------
  2. ; MiniTool
  3. ;----------------------------------------------------------------------------
  4. ; Developed : Choi Ho Sung, nimto@naver.com
  5. ; Copyright : nimto (c)2005 All rights reserved.
  6. ;----------------------------------------------------------------------------
  7. ; Ver 0.1 2007-01-01
  8. ;----------------------------------------------------------------------------
  9. ; 배포처 : http://www.infoki.net
  10. ; 배포방식 : 실행파일 배포
  11. ;----------------------------------------------------------------------------
  12.  
  13. SetBatchLines, -1 ;빠르게
  14. #NoTrayIcon              ; 프로그램이 트레이로 들어가지 않도록
  15. #NoEnv                ; 변수명을 해석할 때, 환경 변수를 무시한다
  16. #InstallKeybdHook           ; 무조건 키보드 훅을 유효하게 한다
  17. #InstallMouseHook           ; 무조건 마우스 훅을 유효하게 한다
  18. ;#IfWinActive            ; hot key를 특정의 윈도우의 액티브/ 존재시만 유효하게 설정
  19. ;#IfWinExist            ; hot key를 특정의 윈도우의 액티브/ 존재시만 유효하게 설정
  20. ;DetectHiddenWindows, On       ; 윈도우 탐색시에 비표시가 되어 있는 윈도우를 검출 대상으로 하는지를 설정한다
  21. ;SetTitleMatchMode, 2         ; 윈도우 관련 커멘드로의 대상 윈도우 검색 방법을 설정한다
  22. ;SetKeyDelay, 0            ; Send (이)나ControlSend 커멘드로의1 키 마다 삽입되는 간격을 변경
  23. SetKeyDelay, 10, 10
  24. ;AutoTrim,Off
  25. ;Coordmode Mouse, Screen
  26.  
  27. winname=With Your Destiny
  28.  
  29. fun_1 = x424 y593
  30. fun_2 = x448 y593
  31. fun_3 = x472 y593
  32. fun_4 = x495 y593
  33. fun_5 = x519 y593
  34. fun_6 = x543 y593
  35. fun_7 = x569 y593
  36. fun_8 = x593 y593
  37. fun_9 = x616 y593
  38. fun_0 = x642 y593
  39.  
  40.  
  41. GUI:
  42. GBox = 105FFF
  43. Te_NOT = FF0000
  44. Gui, Add, GroupBox, x15 y20 w290 h50 c%GBox%, 위드창설정
  45. Gui, Add, Edit, xp+10 yp+20 w270 h20 vWintitle, %winname%
  46.  
  47.  
  48. Gui, Add, GroupBox, x15 y90 w290 h120 c%GBox%, HP / MP 기본 설정
  49. Gui, Add, Text, xp+67 yp+30 w50 h20 , 현제크기
  50. Gui, Add, Text, xp+77 yp w50 h20 , 설정상태
  51. Gui, Add, Text, xp+75 yp w40 h20 , Offset
  52.  
  53. Gui, Add, Text, xp-212 yp+30 w30 h10 , HP
  54. Gui, Add, Edit, xp+50 yp-5 w60 h20 Center vEd_HP,
  55. Gui, Add, Text, xp+80 yp+3 w60 h20 c%Te_NOT% vTe_OK1 Center, Not Ready
  56. Gui, Add, DropDownList, xp+80 yp-3 w40 h300 vDrop_Hp, 0|1|2|3|4|5|6||7|8|9|A|B|C|D|E|F
  57.  
  58. Gui, Add, Text, xp-211 yp+40 w40 h10 , MP
  59. Gui, Add, Edit, xp+51 yp-5 w60 h20 Center,
  60. Gui, Add, Text, xp+80 yp+3 w60 h20 c%Te_NOT% vTe_OK2 Center, Not Ready
  61. Gui, Add, DropDownList, xp+80 yp-3 w40 h300 Center, 0|1|2|3|4|5|6||7|8|9|A|B|C|D|E|F
  62.  
  63. Gui, Add, GroupBox, x16 y230 w290 h80 c%GBox%, 시작 / 중지
  64. Gui, Add, Text, xp+30 yp+20,  시작 : F1
  65. Gui, Add, Text, xp+160 yp,  정지 : F2
  66. Gui, Add, Button, xp-175 yp+20 w100 h30 gSearch_address, 시작
  67. Gui, Add, Button, xp+160 yp w100 h30 gStop, 정지
  68.  
  69.  
  70.  
  71. F1::
  72. Search_address:
  73.  
  74. WinGet, hTarget, ID, %Wintitle%
  75. DllCall("GetWindowThreadProcessId", "int", hTarget, "UInt *", PID, "UInt")
  76. PROCESS_ALL_ACCESS := 2035711
  77. ProcessHandle := DllCall("OpenProcess", "int", PROCESS_ALL_ACCESS, "char", 0, "UInt", PID, "UInt")
  78.  
  79. GuiControlGet,offset_HP,,Drop_Hp
  80. GuiControlGet,offset_MP,,Drop_Hp
  81.  
  82. GuiControl,, Te_OK1, 검색중..
  83.  
  84.  
  85.  
  86. ;~ EdAsc := dec2hex(Ed_HP)
  87.  
  88. Hp := 0
  89. offset_HP = 0x0%offset_HP%000000
  90. Hex_1 := offset_HP
  91.  
  92. Loop, 1097151
  93. ;~ Loop, 100000
  94. {
  95.   Hex_2 += 8
  96.   Hex := Hex_1 + Hex_2
  97.   DllCall("ReadProcessMemory", "UInt", ProcessHandle, "UInt", Hex, "Uint*", Hp, "Uint", 4, "Uint *", 0)
  98.    If ( Hp = Ed_HP )
  99.   {
  100.      GuiControl,, Ed_HP,  %Hp%
  101.      GuiControl,, Te_OK1, OK
  102.      SetTimer ReHP, 50
  103.      Break
  104.   }
  105. }
  106. If ( Hp <> Ed_HP )
  107. {
  108.    GuiControl,, Te_OK1,   Not Ready
  109.    GuiControl, Enable, Ed_HP
  110. }
  111.  
  112. ReHP:
  113. DllCall("ReadProcessMemory", "UInt", ProcessHandle, "UInt", Hex, "Uint*", Hp, "Uint", 4, "Uint *", 0)
  114. ;~ GuiControlGet,Te_Retrieval
  115. GuiControl,, Ed_HP,  %Hp%
  116.  
  117. if(Hp < 4500){
  118.   Cha_fun(fun_1, winname)
  119. }
  120.  
  121.  
  122.  
  123. F2::
  124. Stop:
  125.  
  126. ;~ ============================================
  127. ;~ 함수
  128. ;~ ============================================
  129. Cha_fun(keynum, caid)
  130. {
  131.    ControlClick, %keynum%, %caid%
  132.    Sleep, 200
  133.    ControlClick, x401 y244, %caid%, , RIGHT
  134.    Sleep, 400
  135.    ControlClick, x311 y303, %caid%, , RIGHT
  136.    Sleep, 400
  137.    ControlClick, x493 y303, %caid%, , RIGHT
  138.    Sleep, 500
  139.    ControlClick, x30 y30, %caid%, , RIGHT
  140.    Sleep, 500
  141.    ControlClick, x30 y30, %caid%, , RIGHT
  142.    Sleep, 500
  143.    ControlClick, x30 y30, %caid%, , RIGHT
  144.    Sleep, 500
  145.    ControlClick, x30 y30, %caid%, , RIGHT
  146.    Sleep, 500
  147. }
  148.  
  149. dec2hex(n) {
  150.   oIF := A_FormatInteger
  151.    SetFormat, Integer, hex
  152.   n := StrLen(n+0) ? n+0 : n
  153.    SetFormat, Integer, % oIF
  154.    return n
  155. }
반응형
Comments