Рубрика "Lua код сегодня" №4
-
Иногда Lua-код слишком медленный, а на asm писать слишком много, тогда на помощь придет CCODE
C inline вставки позволяют писать C-код вместо ассемблера
Справочник по C-коду можно найти в Интернете.Примерчик будет:
{$CCODE base=EBX} int* myHealth=base+0x4B0; *myHealth = 999; {$asm}
[ENABLE] aobscanmodule(INJECT_test,Tutorial-i386.exe,29 83 B0 04 00 00) alloc(newmem,$1000) label(code) label(return) newmem: {$CCODE base=EBX} int* myHealth=base+0x4B0; *myHealth = 999; {$asm} code: //sub [ebx+000004B0],eax jmp return INJECT_test: jmp newmem nop return: registersymbol(INJECT_test) [DISABLE] INJECT_test: db 29 83 B0 04 00 00 unregistersymbol(INJECT_test) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Tutorial-i386.exe+25A6F Tutorial-i386.exe+25A49: 8D 55 DC - lea edx,[ebp-24] Tutorial-i386.exe+25A4C: 8D 4D F4 - lea ecx,[ebp-0C] Tutorial-i386.exe+25A4F: E8 8C 7D FE FF - call Tutorial-i386.exe+D7E0 Tutorial-i386.exe+25A54: E8 37 E4 FD FF - call Tutorial-i386.exe+3E90 Tutorial-i386.exe+25A59: 50 - push eax Tutorial-i386.exe+25A5A: 85 C0 - test eax,eax Tutorial-i386.exe+25A5C: 0F 85 CE 00 00 00 - jne Tutorial-i386.exe+25B30 Tutorial-i386.exe+25A62: B8 05 00 00 00 - mov eax,00000005 Tutorial-i386.exe+25A67: E8 C4 93 FE FF - call Tutorial-i386.exe+EE30 Tutorial-i386.exe+25A6C: 83 C0 01 - add eax,01 // ---------- INJECTING HERE ---------- Tutorial-i386.exe+25A6F: 29 83 B0 04 00 00 - sub [ebx+000004B0],eax // ---------- DONE INJECTING ---------- Tutorial-i386.exe+25A75: 8D 45 D4 - lea eax,[ebp-2C] Tutorial-i386.exe+25A78: E8 53 DF FD FF - call Tutorial-i386.exe+39D0 Tutorial-i386.exe+25A7D: 8B 83 B0 04 00 00 - mov eax,[ebx+000004B0] Tutorial-i386.exe+25A83: 68 FF 00 00 00 - push 000000FF Tutorial-i386.exe+25A88: 8D 8D D4 FE FF FF - lea ecx,[ebp-0000012C] Tutorial-i386.exe+25A8E: BA FF FF FF FF - mov edx,FFFFFFFF Tutorial-i386.exe+25A93: E8 68 F2 FD FF - call Tutorial-i386.exe+4D00 Tutorial-i386.exe+25A98: 8D 4D D4 - lea ecx,[ebp-2C] Tutorial-i386.exe+25A9B: 66 31 D2 - xor dx,dx Tutorial-i386.exe+25A9E: 8D 85 D4 FE FF FF - lea eax,[ebp-0000012C] }
-
CCODE это какой яп?
-
А понял, извени за тупость это си
-
Это C - язык программирования.