Перейти к содержанию

Alex2411

Пользователи
  • Постов

    323
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Весь контент Alex2411

  1. нашел причину крашей . проблема была в игре. крашилась когда в регистре были данные, а скрипт считал их как адрес . поставил фильтры перед скриптом отсеял только адреса . теперь скрипт работает нормально . спасибо за помощь. не знаю когда разрешат плюсы ставить теперь новая проблема появилась. не знаю как решить создал метку input_array . вывел в таблицу . выбрал тип данных array of bytes . если ввести последовательность 11 11 11 11 11 11 11 11 11 11 а потом новую последовательноть 22 22 22 22 то в памяти получаеться 22 22 22 22 11 11 11 11 11 11 а не 22 22 22 22 00 00 00 00 00 00 тогда скрипт перестает правильно работать . как сделать когда я записываю из таблицы новую последовательность то что бы старая заполнялась вся нулями ? помогите пожалуйста
  2. попробовал чит енжин ругаеться на mov al, [ecx+04+di] mov bl, [input_array+di] не хочет сохранять скрипт .если заменить di на edi то не ругаеться , но при активации скрипта игра на несколько секунда замирает , а потом или крашиться или останавливаеться системой . система пишет остановила выполнение данных что бы не повредить компьютер. регистры сохранял pushad и popad , а вместо cmp edi, [len] пока поставил cmp edi,8 как сравниваеться я вроде понял , но почему не работает ? что я не так сделал ?
  3. делаю фильтр на отсев . запутался как сделать сравнение . помогите пожалуйста нужно сравнить длинную последовательность байт начиная от адреса [eax+04] с последовательность которую я задаю сам . последоватеьность может быть разной длины от 1 до 32 байт . как правильно это сделать ? что бы сравнить все 32 байт я разбивал на части и пробовал сравнивать отдельные числа cmp [eax+04] потом c [eax+08] и дальше . получаеться сложно и не удобно , но наверно есть нормальный способ . в гугле я искал про сравнение строк , но не понял как правильно сделать в чит енжин . самое главное . мне нужно сравнивать последовательность ровно столко байт сколько я задаю , а не все 32 байт каждый раз. как это сделать объясните пожалуйст .
  4. у меня опять вопросы .))) если команда выделение памяти не alloc , а globalalloc то все равно выделяеться память не меньше 4 кб ? если в метке использовать не dd и число , а команду readmem то все так же как в твоем видео или метка с readmem отличаеться ?
  5. чего так мало памяти мне выделил ? :))))) видео скачал . гарик спасибо еще раз за помощь и за терпение к новичкам. ты хороший человек
  6. теперь буду знать . надоел я наверное ))) .спасибо большое за помощь . не дает форум поставить плюсик
  7. я понял второй вопрос объясни пожалуйста . в Skoko_Nuzno появляеться 1 всегда раньше чем сработает путь скрипта ? у тебя в скрипте push [Skoko_Nuzno] . когда он сработает в Skoko_Nuzno уже обязятельно будет 1 ? может так получиться что в стек попадет не 1 , а что то другое потому что push сработает раньше ?
  8. ты не понял . мы говорим не про то . я знаю что там будет 1 . мне не понятно когда как и почему она там появиться . скрипт находит аоб . аоб указывает на amm0 . ammo прыгает на newmem . newmem переходит на code . code прыгает на return . return уходит назад . получаеться такой путь . на пути нет метки Skoko_Nuzno . тогда почему там появляеться 1 ? еще мне не понятно когда там появляеться 1 . раньше чем сработает путь скрипта или позже ?
  9. это я знаю . мне не понятно в какой момент там появиться 1 . и не понятно почему появиться когда все прыжки идут мимо этой метки
  10. объясни пожалуйста в какой момент сработает метка Skoko_Nuzno где стоит dd 1 ? ammo прыгает на newmem потом идет метка code , а птотом прыгает на return через метку Skoko_Nuzno . не понятно когда в метке Skoko_Nuzno будет 1
  11. тут про ассемблер и команды . очень понятно написано для новичков http://osinavi.ru/asm/ тут то же про команды . не много сложнее , но инфы больше http://www.club155.ru/x86cmd тут программа отличный калькулятор ассемлера для основных команд http://www.manhunter.ru/releases/108_32_bit_asm_calculator_1_8.html
  12. включил . сразу краш игры. не получиться . там куча других срабатываний . нельзя писать в [eax+40] на втором call . я пробовал. не получаеться сделать фильтр . обращений из разных мест игры больше 50 .
  13. на второй call игра делает много прыжков из других мест поэтому на интрукции sub esp,08 появляеться очень много других срабатываний . на инструкции fld qword ptr [eax+40] срабатывает только нужные мне eax , а на sub esp,08 уже появляються другие eax . число double 100 . это скрипт как ты сказал на sub esp,08, но с ним игра сразу крашится .
  14. функцию call 00404194 я раньше привел целиком . забыл тег спойлер поставить извини .посмотри там все от адреса 00404194 до выхода ret . инжекцю я не знаю где сделать . не получаеться . до инструкции cmp ecx,edx много лишних срабатываний . после ecx = edx остаються только нужные мне eax , но видишь там сразу условный прыжок на выход из call. посмотри на инструкцию перед сравнением регистров mov ecx,[ecx] туда тоже прыжки . еще на инструкцию по ниже mov ecx,[ecx-24] откуда то есть прыжок . я понимаю . то же не нашел как сделать . код в call 00403014 00403014 - 83 EC 08 - sub esp,08 { 8 } 00403017 - DF 3C 24 - fistp qword ptr [esp] 0040301A - 9B - wait 0040301B - 58 - pop eax 0040301C - 5A - pop edx 0040301D - C3 - ret проблема как я писал в начале что на call 00403014 игра откуда то прыгает . в eax появляется много лишних . инжекция на sub esp,08 крашит игру . хотел спросить . мне бывает нужно обнулить st(0) без выталкивание , а бывает нужно вытолкнуть как не нужный . как лучше это делать ? я обычно умножал на метку = 0 или выталкивал в не нужный участо памяти , но так наверно не правильно . объясни пожалуйста
  15. я так сразу пробовал сделать.. есть еще 2 инструкции , которые работают с адресами [eax+40] . одна из них на запись, но они работают еще с очень большим числом адресов . с врагами с союзниками с стеком потом еще какими то адресами когда загружаеться другая локация. фильтр не сделать . а в этой инструкции сами отсеиваються нужные регистры eax всего от 2 до 16 нужных .
  16. я пробовал . у меня не получаеться . код игры 00626966 - E8 29D8DDFF - call 00404194 0062696B - DD 40 40 - fld qword ptr [eax+40] 0062696E - E8 A1C6DDFF - call 00403014 мне нужно записать число double в [eax+40] до срабатывания инструкции fld qword ptr [eax+40] код игры по адресу call 00404194 00404194 - 85 C0 - test eax,eax 00404196 - 74 16 - je 004041AE 00404198 - 89 C1 - mov ecx,eax 0040419A - 8B 09 - mov ecx,[ecx] 0040419C - 39 D1 - cmp ecx,edx 0040419E - 74 0E - je 004041AE 004041A0 - 8B 49 DC - mov ecx,[ecx-24] 004041A3 - 85 C9 - test ecx,ecx 004041A5 - 75 F3 - jne 0040419A 004041A7 - B0 0A - mov al,0A { 10 } 004041A9 - E9 9EEAFFFF - jmp 00402C4C 004041AE - C3 - ret нужные мне eax остаються после cmp ecx,edx если регистры равны . но инжектить не получаеться потому что на инструкцию mov ecx,[ecx] есть прыжки и игра вылетает . на mov ecx,[ecx-24] вроде то же есть . я не знаю что сделать . помогите пожалуйста
  17. собираю скрипт и столкнулся проблемой . помогите решить пожалуйста в игре участок кода call xxx1 fld qword ptr [eax+40] call xxx2 мне нужно инжекцию кода на инструкцию fld qword ptr [eax+40] . она занимает 3 байт . на адреса call xxx1 и call xxx2 игра иногда прыгает. поэтому когда call скрипт переносит в выделеную память игра не попадает на call и вылетает . что можно сделать ?
  18. я даже не знал . игры дарк соулс у меня нет , а по названию видео не понятно что там есть про объединение скриптов . скачал буду смотреть . спасибо. посоветуй еще пожалуйста что посмотреть твоего видео по моему вопросу . чем больше тем лучше . сложных опций это очень хорошо . буду изучать . полезных знаний много не бывает )))
  19. спсибо что помогаешь. форум не дает плюсик поставить. умножать я вроде умею . тут мне не понятно другое . куда в твоем примере скрипта будет правильно вписать метку filter: dd 0 из первого скрипта ? сразу после jmp ret_1 или после jmp ret_2 рядом с меткой speed или где то в другом месте ? просто мне не понятно в каком месте скрипта записывать такие метки из разных скриптов, если несколько скриптов надо объединить в один.. то ли все метки рядом то ли каждую рядом с частью от ее скрипта
  20. а когда скрипт один почему тогда можно прыгать jmp newmem , а не делать отдельную метку function после newmem что бы прыгать на function? мне не очень понятно . не , я про другое . попробую объяснить. допустим есть скрипт поиск фильтра игрока. нашел число игрока записал в метку filter . есть другой скрипт умножение скорости игрока . умножает на метку speed , а свой чужой фильтрует через метку filter из первого срипта. я хочу эти скрипты соединить . мне нужно записать где то в новом скрипте filter: dd 0 //с начала ноль в фильтр speed: dd 1 //с начала умножать скорость на 1 в каком месте скрипта эти метки из разных скриптов нужно записать что бы скрипт правильно работал? когда скрипт один я записываю перед прыжком на newmem , а если скриптов несколько ?
  21. не нашел . моежт плохо поискал не знаю. если можешь сделай пожалуйста видео урок как правильно соединить несколько скриптов . если получиться на сложном примере что бы все особенности показать . скйчас я делаю годмод на одну космическую леталку там получилось 5 скриптов . один скрипт для поиска фильтра и другие для разных повреждений с фильтром из первого скрипта. пробовал их соединить и чего то не так делаю . игра то зависает то годмод на половину не работает то фильтры на чужих не правильно работают . запутался . хочу разобраться что бы понять как надо. еще хотел попросить . продолжи пожалуйста уроки про команды ассемблера . очень полезно . там вроде дальше про команды xmm . давно жду продолжения . спасибо . не большие скрипты я тоже примерно так делаю , но не все понятно . объясни пожалуйта почему ты прыгаешь baseplayer_1 на function_1 , а не newmem ? почему нет label на function_1 ? baseplayer_1back надо обязательно ставить после прыжка baseplayer_1 , а не в самом низу ? можно сделать один return в низу для всех или делать так нельзя нужно отдельный return каждому скрипту ? почему registersymbol у тебя стоят в конце , а не после label ? в каком месте правильно поставить метки от разных скриптов типа aaa: dd 0 bbb: dd 0 ? важно в каком порядке записать разные скрипты ? у тебя с начала baseplayer_1 потом baseplayer_2 , а если все наоброт будет работать ? заодно хотел спросить . инструкция типа [eax+14] и [eax+00000014] они всегда одинаковые ? видел в играх так и так , а чем отличается не понятно .
  22. мне часто нужно объединять несколько скриптов . отдельно скрипты работают , а когда соединю вместе , то игра зависает иногда крашится . где мне почитать как правильно сделать один скрипт? смотрел много ваших видео уроков , но не нашел . думаю наверно я путаю метки или прыжки
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.