Partizan Опубликовано 28 августа, 2022 Поделиться Опубликовано 28 августа, 2022 Сам запутался но всё же выложу. Показать контент [ENABLE] aobscanmodule(MovementSpeed,thegame.exe,0F ? ? ? ? 0F ? ? ? ? F3 ? ? ? ? ? F3 ? ? ? 8B ? ? ? ? ? 0F) alloc(newmem,$1000) label(code) label(return) registersymbol(code) registersymbol(MovementSpeed) newmem: movaps xmm1,[esp+60]//оригинальная инструкция с N числами что прибавляются к координатам xmm2=0 cmp [ebx+5B4],01//свой/чужой где 1=чужой je short @F//если 1 то прыжок movups xmm2,[code]//множители mulps xmm1,xmm2//xmm1=N числа/xmm2=множители xorps xmm2,xmm2//обнуляю xmm2 в исходное состояние @@: jmp return code: dd (float)4//множитель координаты Y dd (float)1//множитель координаты Z не нужно умножать поэтому множитель =1 dd (float)4//множитель координаты X dd (float)1//какое-то левое число которое не нужно умножать MovementSpeed: jmp newmem return: [DISABLE] MovementSpeed: db 0F 28 4C 24 60 unregistersymbol(*) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: thegame.exe+4C06D thegame.exe+4C036: B8 01 00 00 00 - mov eax,00000001 thegame.exe+4C03B: 88 83 01 13 00 00 - mov [ebx+00001301],al thegame.exe+4C041: EB 07 - jmp thegame.exe+4C04A thegame.exe+4C043: C6 83 01 13 00 00 00 - mov byte ptr [ebx+00001301],00 thegame.exe+4C04A: A1 A0 24 09 01 - mov eax,[thegame.exe+C924A0] thegame.exe+4C04F: 8B 90 A0 00 00 00 - mov edx,[eax+000000A0] thegame.exe+4C055: 0F AF 90 94 00 00 00 - imul edx,[eax+00000094] thegame.exe+4C05C: F3 0F 2A C2 - cvtsi2ss xmm0,edx thegame.exe+4C060: 8B 90 A4 00 00 00 - mov edx,[eax+000000A4] thegame.exe+4C066: 0F AF 90 98 00 00 00 - imul edx,[eax+00000098] // ---------- INJECTING HERE ---------- thegame.exe+4C06D: 0F 28 4C 24 60 - movaps xmm1,[esp+60] // ---------- DONE INJECTING ---------- thegame.exe+4C072: 0F 58 4C 24 50 - addps xmm1,[esp+50] thegame.exe+4C077: F3 0F 11 44 24 20 - movss [esp+20],xmm0 thegame.exe+4C07D: F3 0F 2A C2 - cvtsi2ss xmm0,edx thegame.exe+4C081: 8B 90 A8 00 00 00 - mov edx,[eax+000000A8] thegame.exe+4C087: 0F AF 90 9C 00 00 00 - imul edx,[eax+0000009C] thegame.exe+4C08E: 8B 45 0C - mov eax,[ebp+0C] thegame.exe+4C091: F3 0F 11 44 24 24 - movss [esp+24],xmm0 thegame.exe+4C097: F3 0F 2A C2 - cvtsi2ss xmm0,edx thegame.exe+4C09B: F3 0F 11 44 24 28 - movss [esp+28],xmm0 thegame.exe+4C0A1: F3 0F 10 05 D8 C1 9A 00 - movss xmm0,[thegame.exe+5AC1D8] } Ссылка на комментарий Поделиться на другие сайты Поделиться
Partizan Опубликовано 28 августа, 2022 Автор Поделиться Опубликовано 28 августа, 2022 Забыл показать результат работы скрипта. Ссылка на комментарий Поделиться на другие сайты Поделиться
Antonshka Опубликовано 28 августа, 2022 Поделиться Опубликовано 28 августа, 2022 Интересно было поностальгировать по СЕ. Не Velocity ли это было? В ESP+50. На 12:48. Обычно объекты ускоряют через Velocity * свой множитель. Я бы посоветовал использовать всегда pushfd/popfd при наличии своего cmp. Показать контент //Когда-то давно в далекой галактике PLACECamera_Shake_scr_7: pushfq //x64 cmp [Camera_Control_Main_Checker],#0 je @f cmp [Disable_Camera_Shake_Checker],#0 je @f mov ecx,#0 @@: popfq mov [rbx+00000100],ecx //origin jmp BACKCamera_Shake_scr_7 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения