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

 eXeL@B —› Вопросы новичков —› Защита от изменения кода
Посл.ответ Сообщение

Ранг: 24.2 (новичок), 1thx
Активность: 0.030
Статус: Участник

Создано: 17 мая 2007 15:52
· Личное сообщение · #1

Хочу русифицировать программу RegSnap v5.8.0.1920.
RegSnap - утилита для контроля над изменениями, происходящими в системном реестре. Кроме реестра, RegSnap позволяет конролировать и другие системные файлы - win.ini, config.sys и др. Отчет о мониторинге выводится в файл (HTML); допустимо автоматическое создание REG-файла для отмены любых изменений.
Прога упакована как показывает PEiD v0.94 - ASPack 2.001 -> Alexey Solodovnikov. Вначале, когда искал серийник, возникла проблема с распаковкой, ибо распаковщики ASPack (ASPack 2.12x Unpacker By CxLrb, AspackDie_1.41, ASPackStripper_2.12 и т.п) не распаковывали программу. Распаковать удалось Stripper v2.07 для ASProteсt! Но позже серийник нашел в Инете. И если серийник вставлять в распакованную прогу, она его проглатывает, благодарит за регистрацию... и после перезапуска опять - незарегистрирована. Тоже получается при русификации. Ресурсы я русифицировал почти все, а подключить не могу ибо даже в упакованно файле при изменении хотя-бы одного байта, программа становится незарегистрированной. Помогите пожалуйста убрать эту защиту. EXEшник и серийник в атаче.

4ab4_17.05.2007_CRACKLAB.rU.tgz - RegSnap.rar



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 17 мая 2007 19:21
· Личное сообщение · #2

В 99% защита кода от изменений реализована через контрольную сумму (CRC).
Ставь бряк на чтения памяти изменённого байта, запускай и ищи цикл получения CRC. Это не должно быть сложно.
Дальше по ситуации.
Может быть можно просто обрезать функцию.
Чаще всего сразу на входе mov EAX,1 \ ret ?, где ? = количество аргументов функции *4, если этого требует ситуация.

-----
Всем привет, я вернулся




Ранг: 120.2 (ветеран), 8thx
Активность: 0.120
Статус: Участник

Создано: 27 мая 2007 14:15
· Личное сообщение · #3

Смотри здесь:

0040D7D3 .CALL 00439D00 ; 00439D00
0040D7D8 .ADD ESP, 18
0040D7DB .MOV ECX, 4
0040D7E0 .MOV EDI, 4571B4
0040D7E5 .LEA ESI, DWORD PTR SS:[ESP+C]
0040D7E9 .XOR EAX, EAX
0040D7EB .REPE CMPS DWORD PTR ES:[EDI], DWORD PTR >
0040D7ED .POP EDI
0040D7EE .POP ESI
0040D7EF JE SHORT 0040D805 ; 0040D805
0040D7F1 .LEA ECX, DWORD PTR SS:[ESP]
0040D7F5 .PUSH ECX ; /pThreadId
0040D7F6 .PUSH EAX ; |CreationFlags => 0
0040D7F7 .PUSH EAX ; |pThreadParm => NULL
0040D7F8 .PUSH 40D6F0 ; |ThreadFunction = d_.0040D6F0
0040D7FD .PUSH EAX ; |StackSize => 0
0040D7FE .PUSH EAX ; |pSecurity => NULL
0040D7FF .CALL DWORD PTR DS:[4E513C] ; \CreateThread



Ранг: 24.2 (новичок), 1thx
Активность: 0.030
Статус: Участник

Создано: 05 июня 2007 13:38
· Личное сообщение · #4

Bitfry пишет:
В 99% защита кода от изменений реализована через контрольную сумму (CRC).
Ставь бряк на чтения памяти изменённого байта, запускай и ищи цикл получения CRC. Это не должно быть сложно.


Сложность заключается в том, что если брать упакованную прогу, то она палит Ольку. А в распакованной проге бряк на чтение из памяти изменённого байта теряет смысл, поскольку в распакованной проге большинство байт уже изменено.



Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 июня 2007 09:19
· Личное сообщение · #5

Найди проверку на Олю, ставь брэйкпоинт, меняй сам флаг, а код не трожь, а потом сравнивай что и как.



Ранг: 24.2 (новичок), 1thx
Активность: 0.030
Статус: Участник

Создано: 02 июля 2007 13:38
· Личное сообщение · #6

Спасибо огромное всем, кто пытался помочь! А особую благодарность выражаю mysterio
за помощь в запросах на взлом. Тему закрываю. Ответы больше не принимаются.


 eXeL@B —› Вопросы новичков —› Защита от изменения кода
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати