#uselib "kernel32.dll" #func CloseHandle "CloseHandle" sptr #func OpenProcess "OpenProcess" sptr, sptr, sptr #func WriteProcessMemory "WriteProcessMemory" sptr, sptr, sptr, sptr, sptr #uselib "psapi.dll" #func EnumProcesses "EnumProcesses" sptr, sptr, sptr #func GetModuleBaseNameA "GetModuleBaseNameA" sptr, sptr, sptr, sptr goto *label_0 #deffunc dwritememory int iProcID,int iAddress ,int vWriteBuf ,int iWriteSize var_0 = vWriteBuf WriteProcessMemory iProcID, iAddress, varptr(var_0), iWriteSize, 0 return *label_0 repeat dim pid, 1024 EnumProcesses varptr(pid), 1024, varptr(size) foreach pid OpenProcess 0x0400 | 0x0008 | 0x0010 | 0x0020, 0, pid(cnt) hProcess = stat if ( hProcess ) { pname = "" GetModuleBaseNameA hProcess, 0, varptr(pname), 256 if ( pname == "hsp3.exe" ) { dwritememory hProcess, 0x6030A1DD, 0x09EB, 2 } CloseHandle hProcess } loop await 1 loop
このソースですとリピートループされてしまいPCに負荷がかかります。
対象のプロセスが起動したらメモリを書き換えるというようにしたいです。
なるべくCPUに負荷がかからないようにしたいです。
ソース改造よろしくおねがいします。