есть rar sfx .exe чтобы винда его не определила заменяем сигнатуру Rar! на 1234. но теперь окно выдает файл поврежден или crc32 failed пытаюсь это обойти в Olly отладку делаю - фиг найдешь где это. теперь вопрос. как найти в OllyDbg обращение к памяти .exe где у нас "Rar!" только прошу самим попробовать такое сделать так как уже не один день вожусь. парадокс: делаю View -> Memory -> Search не находит! делал в ASCII , UNICODE! в WinHex добраться могу до адреса с Rar! , в OllyDbg - нет! что делать?
Если не ошибаюсь, собственно архив в SFX находится в оверлее. Поэтому перед распаковкой SFX поставьте брэйкпоинт на ReadFile. И где-то на третьем вызове ReadFile (после вызова CreateFile для самого себя, разумеется) в буфер для чтения попадет "Rar!" и вся дальнейшая атрибутика.
... раз 300 вызывается readfile следил за буфером - не было там "Rar!" как засечь обращение к памяти "вне видимости" Оли? почему вне видимости - уже писал. не верите - сами проверьте. есть идеи?
спасибо за вопрос! мне загадка понравилась) вот мой рецепт: *бряк на CreateFile первое срабатывание пропускаем(F9) когда брякнется второй раз, ставим бряк на ReadFile первое срабатывание тоже пропускаем, а вот после того как выполнится второй ReadFile, в памяти оказывается заветная строчка!
не знаю как у вас, HuXTUS но у меня после: 1) бряки на CreateFileA , CreateFileW 2) F9 получаю Process terminated , exit code = 2 все проверил - левых бряков нет, заново все открыл, поставил - тоже самое в общем так решил проблему: за 15 минут написал свой SFX - архиватор на Си++... P.S. скоро оформлю - выложу где-нибудь. (сжималка не моя, упаковщик свой) HuXTUS, сразу продолжение: где "пофиксить" проверку crc32 у Rar sfx? разницы между пропатченным sfx и обычным при дебаге - почти никакой на первый взгляд. вызывается user32.dialogboxparama а там уже разница идет...
ltshck Честно говоря да: не верю. А то я никогда SFX под отладчиком не видел. Вообще-то я четко написал, когда ставить брэйкпоинт на readfile. А там уже только пару раз F9 нажать надо. ИМХО плохо значит следили. Обращение к памяти вне Вашей видимости, а не Олли. Ну выложите Ваш чудо-SFX.
Если верить вашим словам, то даже ReadFile не вызывается? (я, надеюсь, правильно понял), а раз так, то и проверка на crc также произойти не может(ну как он узнает, что содержимое архифа модифицированно?) я не знаю) под отладчиком могу обмануть SFX так, чтобы он нормально распаковывался. Для этого я после ReadFile пишу ему куда надо "Rar!" А вот так, чтобы пропадчить, не подскажу. Могу предложить написать лоадер))) Точно! лоадер, к которому подшивается SFX-архив, который потом как-то запускается, нужные байтики меняются по WriteProcessMemory и все арбайтэн) Когда найдешь решение, отпишись здесь, ок?
решение было такое: написал свой пакер, используйщий rar как упаковщих + функциональность МОООООЙЙЙЙЯЯЯЯЯЯЯЯЯЯ!!! Звать пакер fc++ v1.1.1. Пакует все любого размера. Работает из командной строки. В сеть не выкладывал пока.
ltshck А еще можно добираться до третьего кольца, понижая привилегии своего драйвера. P.S. И уж точно говорю: без драйвера до третьего кольца не добраться.