![]() |
eXeL@B —› Основной форум —› Как же Soldat 1.3.1 проверяет себя на распакованность |
Посл.ответ | Сообщение |
|
Создано: 16 декабря 2005 18:47 · Личное сообщение · #1 Покопался, осмотрелся - ломается элементарно. Лоадер пишется и всё пашет, но стоит распаковать, как начинаются проблемы с сетевой игрой. Запротекчен файлик аспром 1.22. Но если увеличить размер оригинального запротекченного файла до > 1.6 mb и с ним начинается такая кутерьма. Самое интересное, что файл ни разу не открывается через CreateFile. Вот и вопрос - а как это он так? PS: компилятор Delphi, версию не устанавливал ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 16 декабря 2005 20:36 · Поправил: Hellspawn · Личное сообщение · #2 ну не обязательно же через CreateFile, есть же ещё FileOpen ну и CreateFileA =) потом может он маппирует себя в память, ну и проверяет на распакованность... или просто смотрит какие-нибудь байтики в "нужном" месте и если что-то не так, то анти-меры =) ну а ты уверен, что это проверка самой проги, а не аспра?? в нём же вроде есть функция, проверки на распакованности... +) Rascal пишет: Но если увеличить размер оригинального запротекченного файла до > 1.6 mb это вообще как?? и зачем ты его увеличивал??? +) ----- [nice coder and reverser] ![]() |
|
Создано: 16 декабря 2005 20:36 · Личное сообщение · #3 |
|
Создано: 16 декабря 2005 20:39 · Личное сообщение · #4 |
|
Создано: 16 декабря 2005 20:43 · Личное сообщение · #5 |
|
Создано: 16 декабря 2005 20:54 · Личное сообщение · #6 |
|
Создано: 16 декабря 2005 21:44 · Личное сообщение · #7 |
|
Создано: 17 декабря 2005 00:03 · Личное сообщение · #8 |
|
Создано: 17 декабря 2005 00:46 · Личное сообщение · #9 Hellspawn пишет: а ты уверен, что это проверка самой проги, а не аспра?? в нём же вроде есть функция, проверки на распакованности... +) когда это аспр себя проверял на распакованность ? ![]() ![]() ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels ![]() |
|
Создано: 17 декабря 2005 10:16 · Личное сообщение · #10 Всё, нашёл. Он как-то через FindFirstFile находит размер, где точно не нашёл, запутался в дебрях ntdll или kernel, не помню точно. На счёт проверки размера, он проверяет именно конкрентный, просто там ещё идёт проверка своего кода, и видимо проверка размер тогда игнорируется. Автор конечно жжот. Бряку ставим на RandInt и смотрим в регистр EAX, если не 32, 4, 8 - значит смотрим по адресу возврата и делаем jmp, т.к.проверка лажанулась, но иногда это и не проверка файла, а например выбор точки появления бота или игрока, и если сделать jmp все всегда появляются в одной точке ;) Но ещё есть и другая проверка, которая рушит программу через энное время (15-20 минут), ещё куча проверок присутсвия soldat_crack.exe и loader.exe, а также atrmoney, cheatomatic и т.д. А ещё я запустил soldatcr.exe, в папке лежал soldat.exe поломанный, так вот после выхода из игры я его не обнаружил ![]() ![]() infern0: там прикольная проверка целостности при сетевой игре - проверяется CRC файла. Должен там быть некий массивчик из word-ов в цикле сетевого опроса - там оно и зашито - посмотри внимательнее. Забавно, мне даже не пришлось разбираться с этим, ибо проследив все вызовы RandInt мы обошли почти все проверки, одну, которая отложенная, тоже обходим и всё. Вобщём самый оптимальный вариант - писать лоадер, там только по нужному адресу записать нашё имя и всё, прога будет считать себя зареганой ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 17 декабря 2005 11:42 · Личное сообщение · #11 |
![]() |
eXeL@B —› Основной форум —› Как же Soldat 1.3.1 проверяет себя на распакованность |