![]() |
eXeL@B —› Вопросы новичков —› Защита от изменения кода |
Посл.ответ | Сообщение |
|
Создано: 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шник и серийник в атаче. ![]() ![]() |
|
Создано: 17 мая 2007 19:21 · Личное сообщение · #2 В 99% защита кода от изменений реализована через контрольную сумму (CRC). Ставь бряк на чтения памяти изменённого байта, запускай и ищи цикл получения CRC. Это не должно быть сложно. Дальше по ситуации. Может быть можно просто обрезать функцию. Чаще всего сразу на входе mov EAX,1 \ ret ?, где ? = количество аргументов функции *4, если этого требует ситуация. ----- Всем привет, я вернулся ![]() |
|
Создано: 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 ![]() |
|
Создано: 05 июня 2007 13:38 · Личное сообщение · #4 Bitfry пишет: В 99% защита кода от изменений реализована через контрольную сумму (CRC). Ставь бряк на чтения памяти изменённого байта, запускай и ищи цикл получения CRC. Это не должно быть сложно. Сложность заключается в том, что если брать упакованную прогу, то она палит Ольку. А в распакованной проге бряк на чтение из памяти изменённого байта теряет смысл, поскольку в распакованной проге большинство байт уже изменено. ![]() |
|
Создано: 13 июня 2007 09:19 · Личное сообщение · #5 |
|
Создано: 02 июля 2007 13:38 · Личное сообщение · #6 |
![]() |
eXeL@B —› Вопросы новичков —› Защита от изменения кода |
Эта тема закрыта. Ответы больше не принимаются. |