Сейчас на форуме: Rio (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Помощь с сокрытием патчинга... |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 24 мая 2008 20:05 · Личное сообщение · #1 Есть програма с навешаним ExeCryptom, снять его и взломать програму не очень сложно, но скаждым обнолением (а это может быть и каждую неделю) разработчики залатывают дыры. Решил написать лоадер, чтобы не сильно паливно видно что патчиться, а его накрыть чем то, но сняв дамп все равно будет видно, исправления... Как сделать так что бы, не можна было понять как имено был произведен залом? ![]() |
|
Создано: 26 мая 2008 16:12 · Поправил: Archer · Личное сообщение · #2 Да вижу я, что автор не сможет отписаться. По-хорошему топик вообще закрыть надо... Ладно, пока перекинул в новички. Мессага от kioresk вдогонку ![]() Дык, дельного никто и не напишет, поскольку как ты там лоадер за защищай, банальное сравнение секций оригинального и патченного файлов (как уже писалось) все равно покажет где и что было исправлено. Если бы сам заморачивался по поводу скрытия, то просто прошелся бы по распакованному и пропатченному файлу и немного бы разгреб обфуцированные инструкции (не путать с виртуализованными). Для примера, можно взять один из паттернов обфуцированного jmp: offset_1: call offset_5 offset_2: .. offset_5: xchg eax, [esp] (или mov [esp], eax) offset_6: pop eax offset_7: ... и заменять его на: offset_1: jmp offset_7 Алго по замене будет не очень сложный: 1. ищешь E8 2. вычисляешь адрес, куда указывает прыжок 3. читаешь дворд по этому адресу (т.к. у xchg/pop опкодов как раз 4) 4. and 0x0F0FF00FFh (т.к. может использоваться любой регистр) 5. сравниваешь с 87 00 24 50 (xchg...) или с 89 00 24 50 (mov...) 6. все хорошо — вычисляешь адрес и заменяешь call на jmp А паттернов у криптора много разных. Но разработчики также могу написать простенькую прогу и при сравнении оригинала и пропатченного вариантов просто откидывать места где было E8 XX XX XX XX, а стало E9 XX XX XX XX. Т.е. все твои исхищрения просто усложнят поиск пропатченных мест, но как известно — при желании все возможно. Поэтому я бы даже не стал бы заморачиваться над этим. ![]() |
<< . 1 . 2 . |
![]() |
eXeL@B —› Вопросы новичков —› Помощь с сокрытием патчинга... |
Эта тема закрыта. Ответы больше не принимаются. |