lamalamaz Опубликовано 2 января, 2015 Поделиться Опубликовано 2 января, 2015 Всех с праздниками Геймхаклаберы. Написал скрипт на Half-life2 на god+1hit через сравнивание стека. Помогите его допилить(упростить) и убрать все лишнее потом выложу в нормальном варианте в трейнеры.[ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem2,200)label(returnhere2)label(originalcode2)label(exit2)label(mycoord)label(mycoord2)newmem2: //this is allocated memory, you have read,write,execute access//place your code hereoriginalcode2:push esimov esi,[eax+00000030] mov [mycoord],esi //сохраняем координату Z инструкция работает только с игрокомmov [mycoord2],esi //сохраняем координату Z инструкция работает только с игрокомpop esicmp dword ptr [eax+000000E0],00exit2:jmp returnhere2mycoord2:dd 0mycoord:dd 0"server.dll"+16DA8A:jmp newmem2nopnopreturnhere2:alloc(newmem,200)label(returnhere)label(orig)label(ss)label(essi)label(damag)label(tt1)label(stack)label(damag)label(save)label(plsave)label(player)newmem: //this is allocated memory, you have read,write,execute accesspush edxpush eaxmov edx,[esp+18] //при уроне по врагу или по мне в [esp+10] лежит координата(z-10) откуда наностися уронmov [stack],edxfld dword ptr [stack]fsub dword ptr [player]fstp dword ptr [plsave]mov eax,[plsave]cmp [mycoord],eax //сравниваем координату z при уроне с координатой z игрокаpop edxpop eaxje ssjmp origss:fld dword ptr [esp+20] //тут хранится дамаг во флоате(сами жизни целое 4 байта)fmul dword ptr [damag] //умножаем на наш множительfistp dword ptr [save] //выгружаем целое значениеsub esi,[save] //отнимаем наш урон от жизней врагаmov [edi],esipop edimov eax,00000001jmp returnhereorig:mov [edi],esipop edimov eax,00000001jmp returnherett1:dd (float)0stack:dd 0plsave:dd 0save:dd 0damag:dd (float)10essi:dd 0player:dd (float)-10"server.dll"+D8193:jmp newmemnopnopnopreturnhere: [DISABLE]//code from here till the end of the code will be used to disable the cheatdealloc(newmem2)"server.dll"+16DA8A:cmp dword ptr [eax+000000E0],00//Alt: db 83 B8 E0 00 00 00 00dealloc(newmem)"server.dll"+D8193:mov [edi],esipop edimov eax,00000001//Alt: db 89 37 5F B8 01 00 00 00 Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 2 января, 2015 Поделиться Опубликовано 2 января, 2015 Не пробовал тупо за NOP'лить инструкцию для бессмертия? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 3 января, 2015 Поделиться Опубликовано 3 января, 2015 lamalamaz и krocki, оба получаете по устному предупреждению. И скажите спасибо, что за ругань натуральные преды не выдал. Еще раз повторится - выдам сразу по два преда, как непонятливым. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения