Rar crc32 check

Тема в разделе "WASM.BEGINNERS", создана пользователем ltshck, 9 ноя 2007.

  1. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    есть rar sfx .exe

    чтобы винда его не определила заменяем сигнатуру Rar! на 1234.

    но теперь окно выдает файл поврежден или crc32 failed

    пытаюсь это обойти в Olly отладку делаю - фиг найдешь где это.

    теперь вопрос.
    как найти в OllyDbg обращение к памяти .exe где у нас "Rar!"

    только прошу самим попробовать такое сделать так как уже не один день вожусь.

    парадокс:
    делаю View -> Memory -> Search не находит! делал в ASCII , UNICODE!

    в WinHex добраться могу до адреса с Rar! , в OllyDbg - нет!

    что делать?
     
  2. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Если не ошибаюсь, собственно архив в SFX находится в оверлее. Поэтому перед распаковкой SFX поставьте брэйкпоинт на ReadFile. И где-то на третьем вызове ReadFile (после вызова CreateFile для самого себя, разумеется) в буфер для чтения попадет "Rar!" и вся дальнейшая атрибутика.
     
  3. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    ... раз 300 вызывается readfile
    следил за буфером - не было там "Rar!"

    как засечь обращение к памяти "вне видимости" Оли?

    почему вне видимости - уже писал.

    не верите - сами проверьте.

    есть идеи?
     
  4. HuXTUS

    HuXTUS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2007
    Сообщения:
    240
    спасибо за вопрос! мне загадка понравилась)

    вот мой рецепт:
    *бряк на CreateFile
    первое срабатывание пропускаем(F9)
    когда брякнется второй раз, ставим бряк на ReadFile
    первое срабатывание тоже пропускаем, а вот после того как выполнится второй ReadFile, в памяти оказывается заветная строчка!
     
  5. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    :) не знаю как у вас, HuXTUS но у меня после:
    1) бряки на CreateFileA , CreateFileW
    2) F9
    получаю Process terminated , exit code = 2

    все проверил - левых бряков нет, заново все открыл, поставил - тоже самое :)

    в общем так решил проблему: за 15 минут написал свой SFX - архиватор на Си++...
    P.S. скоро оформлю - выложу где-нибудь. (сжималка не моя, упаковщик свой)

    HuXTUS, сразу продолжение:
    где "пофиксить" проверку crc32 у Rar sfx?
    разницы между пропатченным sfx и обычным при дебаге - почти никакой на первый взгляд.
    вызывается user32.dialogboxparama а там уже разница идет...
     
  6. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Легче взять kerberos и посмотреть как читается и где читается.
     
  7. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    ltshck
    Честно говоря да: не верю.
    А то я никогда SFX под отладчиком не видел.
    Вообще-то я четко написал, когда ставить брэйкпоинт на readfile. А там уже только пару раз F9 нажать надо.
    ИМХО плохо значит следили. :) Обращение к памяти вне Вашей видимости, а не Олли.

    Ну выложите Ваш чудо-SFX.
     
  8. HuXTUS

    HuXTUS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2007
    Сообщения:
    240
    Если верить вашим словам, то даже ReadFile не вызывается? (я, надеюсь, правильно понял), а раз так, то и проверка на crc также произойти не может(ну как он узнает, что содержимое архифа модифицированно?)

    я не знаю)
    под отладчиком могу обмануть SFX так, чтобы он нормально распаковывался. Для этого я после ReadFile пишу ему куда надо "Rar!"
    А вот так, чтобы пропадчить, не подскажу. Могу предложить написать лоадер)))
    Точно! лоадер, к которому подшивается SFX-архив, который потом как-то запускается, нужные байтики меняются по WriteProcessMemory и все арбайтэн)

    Когда найдешь решение, отпишись здесь, ок?
     
  9. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    хы.

    стучись в асю - 49906<zero>434
     
  10. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    решение было такое: написал свой пакер, используйщий rar как упаковщих
    + функциональность МОООООЙЙЙЙЯЯЯЯЯЯЯЯЯЯ!!!

    Звать пакер fc++ v1.1.1. Пакует все любого размера. Работает из командной строки.
    В сеть не выкладывал пока.
     
  11. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    ltshck
    А еще можно добираться до третьего кольца, понижая привилегии своего драйвера.
    P.S. И уж точно говорю: без драйвера до третьего кольца не добраться.
     
  12. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    добраться.
    использовать buff overflow другого драйвера