有无大佬有精易模块或是NB模块实现·····
最好能具体一点的代码思路,大体操作的思路啥的我网上看了很多····感觉还是很抽象
我是人造指针 找特征码实现的aob注入,完全仿照网上的教学做的,确实能成功获取游戏数据,问题是易语言我实现不了····
特征码 8B 88 B4 00 00 00 8B 7D
找的数据是特征码 偏移 +2 +20的
[ENABLE] aobscanmodule(INJECT,GameAssembly.dll,8B 88B4 00 00 00 8B 7D) // should be unique alloc(newmem,$1000) alloc(TR,4) registersymbol(TR) label(code) label(return) newmem: push ecx leaecx, [eax+000000B4] mov[TR],ecx popecx code: movecx,[eax+000000B4] jmpreturn INJECT: jmpnewmem nop return: registersymbol(INJECT) [DISABLE] INJECT: db8B 88 B4 00 00 00 unregistersymbol(INJECT) dealloc(newmem) unregistersymbol(TR) dealloc(TR) { // ORIGINAL CODE - INJECTION POINT:GameAssembly.dll+18FB96 GameAssembly.dll+18FB6F: 80 79 31 00 - cmp byte ptr [ecx+31],00 GameAssembly.dll+18FB73: 0F 85 35 0B 0000 - jneGameAssembly.dll+1906AE GameAssembly.dll+18FB79: 6A 00 - push 00 GameAssembly.dll+18FB7B: E8 90 8F 8700 - callGameAssembly.dll+A08B10 GameAssembly.dll+18FB80: D9 5E 58 - fstp dword ptr[esi+58] GameAssembly.dll+18FB83: 83 C4 04 - add esp,04 GameAssembly.dll+18FB86: 8B 46 5C - mov eax,[esi+5C] GameAssembly.dll+18FB89: C6 44 24 0A00 - mov byte ptr[esp+0A],00 GameAssembly.dll+18FB8E: 85 C0 - test eax,eax GameAssembly.dll+18FB90: 0F 84 20 0B 0000 - jeGameAssembly.dll+1906B6 // ---------- INJECTING HERE ---------- GameAssembly.dll+18FB96: 8B 88 B4 00 0000 - mov ecx,[eax+000000B4] // ---------- DONE INJECTING ---------- GameAssembly.dll+18FB9C: 8B 7D 0C - mov edi,[ebp+0C] GameAssembly.dll+18FB9F: 8B 80 B8 00 0000 - mov eax,[eax+000000B8] GameAssembly.dll+18FBA5: 89 4C 24 18 - mov [esp+18],ecx GameAssembly.dll+18FBA9: 89 44 24 14 - mov [esp+14],eax GameAssembly.dll+18FBAD: 83 FF FF - cmp edi,-01 GameAssembly.dll+18FBB0: 74 26 - jeGameAssembly.dll+18FBD8 GameAssembly.dll+18FBB2: C7 86 2C 01 00 0000 00 00 00 - mov[esi+0000012C],00000000 GameAssembly.dll+18FBBC: E9 4E 02 0000 - jmpGameAssembly.dll+18FE0F GameAssembly.dll+18FBC1: 8B 46 5C - mov eax,[esi+5C] GameAssembly.dll+18FBC4: 85 C0 - test eax,eax }
|