Pitronic Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 Всем доброго времени суток Буду краток, вот анализ данных структур Спойлер https://wampi.ru/image/6rlZ6iz В самом верху где курсор, адрес со значением 3 отвечает за собранные секреты, Сразу под ним лежит адрес со значением 6. Это адрес показывает сколько всего секретов надо собрать за уровень. Нужен скрипт первое значение, всегда равнялось второму, сколько бы игрок не подобрал секретов. Ниже скидываю скрипт из авто-асм с информацией о нём. Свой код там не писал Спойлер Скрипт АСМ { Game : Sam2.exe Version: Date : 2019-04-17 Author : Pitronic This script does blah blah blah } [ENABLE] aobscanmodule(sekret,Sam2Game.dll,FF 40 08 8B 06) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: inc [eax+08] mov eax,[esi] jmp return sekret: jmp newmem return: registersymbol(sekret) [DISABLE] sekret: db FF 40 08 8B 06 unregistersymbol(sekret) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Sam2Game.dll"+25EB43 "Sam2Game.dll"+25EB25: 56 - push esi "Sam2Game.dll"+25EB26: 8B 30 - mov esi,[eax] "Sam2Game.dll"+25EB28: 83 7E 48 01 - cmp dword ptr [esi+48],01 "Sam2Game.dll"+25EB2C: 8B 40 FC - mov eax,[eax-04] "Sam2Game.dll"+25EB2F: 74 21 - je Sam2Game.dll+25EB52 "Sam2Game.dll"+25EB31: 89 46 50 - mov [esi+50],eax "Sam2Game.dll"+25EB34: FF 15 64 2D 22 02 - call dword ptr [Sam2Game.dll+262D64] "Sam2Game.dll"+25EB3A: 85 C0 - test eax,eax "Sam2Game.dll"+25EB3C: 74 08 - je Sam2Game.dll+25EB46 "Sam2Game.dll"+25EB3E: E8 DD A5 F8 FF - call Sam2Game.dll+1E9120 // ---------- INJECTING HERE ---------- "Sam2Game.dll"+25EB43: FF 40 08 - inc [eax+08] "Sam2Game.dll"+25EB46: 8B 06 - mov eax,[esi] // ---------- DONE INJECTING ---------- "Sam2Game.dll"+25EB48: 6A 01 - push 01 "Sam2Game.dll"+25EB4A: 8B CE - mov ecx,esi "Sam2Game.dll"+25EB4C: FF 90 A4 01 00 00 - call dword ptr [eax+000001A4] "Sam2Game.dll"+25EB52: 5E - pop esi "Sam2Game.dll"+25EB53: C3 - ret "Sam2Game.dll"+25EB54: CC - int 3 "Sam2Game.dll"+25EB55: CC - int 3 "Sam2Game.dll"+25EB56: CC - int 3 "Sam2Game.dll"+25EB57: CC - int 3 "Sam2Game.dll"+25EB58: CC - int 3 } ----------------------------------------------------------------- Дополнительная информация EAX=7F8E0448 EBX=0220DE40 ECX=0022F9E4 EDX=00000000 ESI=7C4D4218 EDI=038FDCA0 EBP=0022F9F0 ESP=0022F994 EIP=0321AB16 Вероятный базовый указатель =7F8E0448 0321AB0C - je 0321AB16 0321AB0E - call 031A5B30 0321AB13 - inc [eax+08] 0321AB16 - mov eax,[esi] 0321AB18 - push 01 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 newmem: mov eax,[eax+4] // Женя, mov [eax],eax // Это чушь - будет вылет Garik66 code: inc [eax+08] mov eax,[esi] jmp return Ps: На ecx смени.. А то чушь... тут делов то... Не чего страшного в этом не вижу.. Или курсовую пишем... Жека... Разговор о первом и втором... а вешаешь на третий ? А разве не inc прибавляет + найденную секретку ? Ps... Хотя спишем на то, что там якобы адресов куча... а в +8 один.. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 23 часа назад, LIRW сказал: А разве не inc прибавляет А где это посмотреть? Второй адрес найти не возможно, так как адреса меняютсяна уровнях, единственный спооб это найти его в анализе структур. 23 часа назад, LIRW сказал: [eax+4] Это из анализа данных структур? Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 4 минуты назад, Pitronic сказал: Это из анализа данных структур? Ну если ты говоришь, что в первом, а то есть в [eax] лежит реальное.. а в [eax+04] максимальное значит от туда и брал... а сам скрипт, почему то на +8 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 (изменено) 23 часа назад, LIRW сказал: а сам скрипт, почему то на +8 Не знаю почему, скрипт с первой инструкции, инструкций много, но как ни странно во всех +8, а в анализе сам видел, асм загадка. Кстати это я к твоей таблице хочу читы добавить свои, а в дальнейшем есль дашь добро, создам трейнер где буду ка автор репака трейнера LIRW, сылки на перво источник обязуюсь скидывать везде где выложу этот репак. Изменено 21 апреля, 2019 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 А на счет того, что в +4 максимальное лежит.. Бряк поставь на адрес при подборе секретки на адрес.. И погляди, может там (если сработает бряк) и в регистрах лежит адрес реального значения.. И вот прям от туда и накатишь, куда надо. Хотя я думаю, что ты не понял меня и о чем я в обще пишу... Если есть (прыжок).. затер тогда сообщения. У меня игра есть... могу подсобить правда не вот прям сейчас... Но к после обеду как вернусь (по делам уйти надо) тогда бы и подсобил... Мог бы и видео снять.. если не понял бы действий... Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 41 минуту назад, LIRW сказал: Но так лучше.. Жень может так все-таки будет лучше? Спойлер [ENABLE] aobscanmodule(baseplayerjump,Sam2Game.dll,D8 88 * * * * 8B 13 8B CB D8 4D * D9 5D * FF 92 * * * * 8B 03 D9 9B * * * * 8B CB FF 90 * * * * D9 9B * * * * D9 45 * D9 45 * DB E9 DA C1 DD C1 D9 9D * * * * 8B 93 * * * * 8B 8D * * * * 52 89 4D * FF D7 8B 10 83 C4 * 8D 4D * 51 8B C8 FF 52 * D9 45) alloc(newmem,$1000) label(return) label(voskoko) registersymbol(voskoko) registersymbol(baseplayerjump) newmem: fmul dword ptr [eax+00000390] // чем больше "fmul dword ptr [eax+00000390]" тем выше прыгает. fmul dword ptr [voskoko] // вывести адрес в таблицу и регулировать высоту прыжка там jmp return voskoko: dd (float)2 // в два раза выше. baseplayerjump: jmp newmem db 90 return: [DISABLE] baseplayerjump: db D8 88 90 03 00 00 unregistersymbol(voskoko) unregistersymbol(baseplayerjump) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 1 минуту назад, Garik66 сказал: Жень может так все-таки будет лучше? Игорь можно конечно и так... Я просто не помню.. есть там fstp или нет.. А то что то оно ведет себя не совсем нормально, если ожидает это множение.. А это прям чистый код получается и стек не ломается.. А так можно прям на прямую в обще писать. newmem: push (45) fmul dword ptr [esp] add esp,4 jmp return И работает норм всё.. Но я бы что бы прям наверника всё было.. Лучше перемножил бы такими же функциями. В трейнере всё равно не видно реализации... а работать будет всё по надежнее. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 44 минуты назад, LIRW сказал: newmem: mov eax,[eax+4] mov [eax],eax code: inc [eax+08] mov eax,[esi] jmp return Разговор о первом и втором... а вешаешь на третий ? А разве не inc прибавляет + найденную секретку ? Ps... Хотя спишем на то, что там якобы адресов куча... а в +8 один.. Да уж Жень, не ожидал от тебя. Это что ты такое ТС предлагаешь - получить вылет из игры? Юзаешь eax, а в eax то что лежит? Правильно указатель. Нужно было либо сохранить указатель куда-нибудь (но это уже длинный костыльный скрипт), либо заюзать другой (свободный, а вот посмотрел ecx регистр как раз свободный), либо стек:: newmem: push [eax+4] pop [eax] code: Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 2 минуты назад, Garik66 сказал: Юзаешь eax, а в eax то что лежит? А оно всё равно перезаписывается.. ниже.. mov eax,[esi] Игорь ну отвалится если.. По другому посоветую у кого не бывает ошибок... На ошибках и учатся.. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 1 минуту назад, LIRW сказал: А оно всё равно перезаписывается.. ниже.. mov eax,[esi] Ну ну. Головой немного подумай. Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 5 минут назад, Garik66 сказал: Ну ну. Головой немного подумай. только проснулся...(голова ещо в спящем режиме) чаю даже не принимал... Но должно норм всё быть.. Будет вылет если, отпишет.. Сделаем по другому.. Мы же тут не курсы проводим... За то будет знать, что так вот как я сделал - делать нельзя Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 8 минут назад, LIRW сказал: Игорь ну отвалится если.. Само собой отвалится, вот на этом участке mov [eax],eax // у тебя в eax лежит какое-то значение, но не адрес и ты пытаешься якобы в него писать. Жуть короче, иди смотри уроки @Xipho от А до Я по новой. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 23 часа назад, Garik66 сказал: Жень может так все-таки будет лучше Не совсем так, в целых 2 раза прыжок может быть выше чем хотелось бы, лучше бы если прыжок равен Спойлер (voskoko) тогда какая высота нужна та и будет Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 1 минуту назад, Pitronic сказал: Не совсем так Не понял? Переведи. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 23 часа назад, Garik66 сказал: Не понял? Переведи. Ты предлагаешь чтоб высота в 2 раза увеличилась я правильно понял? А если это слишком высоко? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 1 минуту назад, Pitronic сказал: Ты предлагаешь чтоб высота в 2 раза увеличилась я правильно понял? А если это слишком высоко? я предлагаю: 30 минут назад, Garik66 сказал: fmul dword ptr [voskoko] // вывести адрес в таблицу и регулировать высоту прыжка там Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 (изменено) 23 часа назад, Garik66 сказал: я предлагаю Теперь понял, признаю был не прав. Попробую скрип то готовый есть уже только код изменить. Изменено 21 апреля, 2019 пользователем Pitronic Дополнение Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 3 минуты назад, Pitronic сказал: Теперь понял, признаю был не прав. Попробую скрип то готовый есть уже только код изменить. только правильно адрес в табличку вставь (во float) Спойлер Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 23 часа назад, Garik66 сказал: я предлагаю: Тоесть, устанавльваешь значение в таблице с адресом типа 1, 1 или 1,2 так? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 2 минуты назад, Pitronic сказал: Тоесть, устанавльваешь значение в таблице с адресом типа 1, 1 или 1,2 так? ? Любое значение, сам смотри в игре, сколько нужно тебе высоты. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 (изменено) 22 часа назад, Garik66 сказал: Любое значение нужно желаемое значение или кратность, желаемого значения? Изменено 21 апреля, 2019 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 1 минуту назад, Pitronic сказал: нужно желаемое значение или кратность, желаемого значения? ты меня, что, уже тролишь? Я же даже метку объявил вроде понятную voskoko т.е. во сколько раз выше ты хочешь, во столько и делай, игры у меня нет, скрипт основан на скрипте @LIRW что в этом адресе ( [eax+00000390] )в игре я не знаю. ЗЫ; ты просто скрипт потесть. А потом уже вопросы задавай Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 21 апреля, 2019 Автор Поделиться Опубликовано 21 апреля, 2019 (изменено) 23 часа назад, Garik66 сказал: скрипте @LIRW что в этом адресе Я это понял у меня его таблица, он вместе с трейнером выложил, и ещё если LIRM позволить сделать репак на его трейнер с моими читами, подскажи как его обозвать, название необходимо честное, чтоб он был в названии был как автор трейнера, а я как автор репака. Изменено 21 апреля, 2019 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 1 минуту назад, Pitronic сказал: Я это понял у меня его таблица, он вместе с трейнером выложил, и ещё если LIRM позволить сделать репак на его трейнер с моими читами, подскажи как его обозвать, название необходимо честное, чтоб он был в названии был как автор трейнера, а я как автор репака. Ну по идее именно так и должно быть - напишешь, какие читы Женьки, какие твои. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения