Сейчас на форуме: YDS, _MBK_, user99 (+10 невидимых)

 eXeL@B —› Основной форум —› Как же Soldat 1.3.1 проверяет себя на распакованность
Посл.ответ Сообщение


Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 16 декабря 2005 18:47
· Личное сообщение · #1

Покопался, осмотрелся - ломается элементарно. Лоадер пишется и всё пашет, но стоит распаковать, как начинаются проблемы с сетевой игрой. Запротекчен файлик аспром 1.22. Но если увеличить размер оригинального запротекченного файла до > 1.6 mb и с ним начинается такая кутерьма. Самое интересное, что файл ни разу не открывается через CreateFile. Вот и вопрос - а как это он так?
PS: компилятор Delphi, версию не устанавливал

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 16 декабря 2005 20:36 · Поправил: Hellspawn
· Личное сообщение · #2

ну не обязательно же через CreateFile, есть же ещё FileOpen ну и CreateFileA =)
потом может он маппирует себя в память, ну и проверяет на распакованность...
или просто смотрит какие-нибудь байтики в "нужном" месте и если что-то не так,
то анти-меры =)
ну а ты уверен, что это проверка самой проги, а не аспра??
в нём же вроде есть функция, проверки на распакованности... +)

Rascal пишет:
Но если увеличить размер оригинального запротекченного файла до > 1.6 mb

это вообще как?? и зачем ты его увеличивал??? +)

-----
[nice coder and reverser]




Ранг: 52.6 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 16 декабря 2005 20:36
· Личное сообщение · #3

Rascal пишет:
Самое интересное, что файл ни разу не открывается через CreateFile. Вот и вопрос - а как это он так?


Он может просто свой размер проверить.. если больше заданного то вывод один - распаковали гады )
и много путей проверить на это дело..
Исследуй внимательнее



Ранг: 52.6 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 16 декабря 2005 20:39
· Личное сообщение · #4

Hellspawn пишет:
ну не обязательно же через CreateFile, есть же ещё FileOpen ну и CreateFileA =)


потом то все равно эти функции CreateFileA вызывают
CreateFile нет такой ф-и в системе




Ранг: 84.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 16 декабря 2005 20:43
· Личное сообщение · #5

Rascal пишет:
Но если увеличить размер оригинального запротекченного файла до > 1.6 mb и с ним начинается такая кутерьма.


Месье понимает толк в удовольствиях Это уже какие-то особо тонкие извращения




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 16 декабря 2005 20:54
· Личное сообщение · #6

WarrioR пишет:
потом то все равно эти функции CreateFileA вызывают
CreateFile нет такой ф-и в систем

ага что то я %) тока что в олли посмотрел, всё равно CreateFileA вызывают =\
подумал что есть гы %)

-----
[nice coder and reverser]





Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 16 декабря 2005 21:44
· Личное сообщение · #7

Rascal
Ну так распакуй его, пропатч, а потом запакуй обратно (например UPX'ом) размер получится меньше оригинального (при необходимости можно добавить ещё одну секцию, чтобы подогнать размер) и прога будет думать, что всё в порядке



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 17 декабря 2005 00:03
· Личное сообщение · #8

Rascal
там прикольная проверка целостности при сетевой игре - проверяется CRC файла. Должен там быть некий массивчик из word-ов в цикле сетевого опроса - там оно и зашито - посмотри внимательнее.



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 17 декабря 2005 00:46
· Личное сообщение · #9

Hellspawn пишет:
а ты уверен, что это проверка самой проги, а не аспра??
в нём же вроде есть функция, проверки на распакованности... +)

когда это аспр себя проверял на распакованность ? если он распакован, то управления ему уже не видать

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 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 мы обошли почти все проверки, одну, которая отложенная, тоже обходим и всё.

Вобщём самый оптимальный вариант - писать лоадер, там только по нужному адресу записать нашё имя и всё, прога будет считать себя зареганой

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 84.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 17 декабря 2005 11:42
· Личное сообщение · #11

Rascal пишет:
запустил soldatcr.exe, в папке лежал soldat.exe поломанный, так вот после выхода из игры я его не обнаружил


ёмаё, дикость. он бы еще весь крякерский софт с винта кильнул....


 eXeL@B —› Основной форум —› Как же Soldat 1.3.1 проверяет себя на распакованность
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати