Загрузка...

[Гайд] Ревёрсинг для чайников #6[By Grizzly]

Тема в разделе Уроки реверсинга создана пользователем Grizz1y 25 окт 2022. 10 360 просмотров

  1. Grizz1y
    Grizz1y Автор темы 25 окт 2022 В дом надо пускать только того, с кем ты его строишь 4250 9 окт 2020
    Всем привет!
    Запустил небольшой курс, как можно ревёрсить программы, в конце курса дойдём до самых сложных примеров, которые накрыты VMP и множеством других протекторов.
    Весь курс предназначен на нативные приложения, курс будет для "чайников" в плане ревёрс-инженерии, без знаний C/C++ будет очень тяжело для понимания
    Ну что же, начнём!

    МОЯ ТЕМА С РАЗРАБОТКОЙ/КРЯКАМИ НА ЗАКАЗ(КЛИК)
    МОЯ ТЕМА С РАЗРАБОТКОЙ/КРЯКАМИ НА ЗАКАЗ(КЛИК)
    МОЯ ТЕМА С РАЗРАБОТКОЙ/КРЯКАМИ НА ЗАКАЗ(КЛИК)



    Приведение псевдокода в читабельный или как спиздить функционал с другого софта
    На примере у нас будет Raccoon *******

    Загружаем билд в ida pro x32
    [IMG]

    Перед нами такая картина:
    [IMG]

    Жмем f5, чтобы ида декомпилировала в псевдокод
    [IMG]

    Сразу видим много непонятных вещей, строчек и прочее

    Открываем самую первую функцию - sub_40100B
    [IMG]
    Исходя из моих знаний я сразу понял что это
    Ракун ******* использует механизм скрытого импорта
    Если мы зайдем в графу Imports, то не увидим там почти что ничего
    Такой механизм используют для меньшего обнаружения антивирусами
    [IMG]

    Получается функция sub_40100B в динамике подгружает все нужные ей библиотеки, так ее и назовем hidden_import
    Чтобы что-нибудь переименовать в Иде надо нажать на элемент и нажать на клавиатуре кнопку N
    [IMG]
    Поставим галочку mark as decompiled, чтобы ида пометила этот адрес другим цветом для удобства

    Но как нам понять, что именно наш экземпляр подгружает? везде используются глобальные переменные и функция sub_40AEC4
    [IMG]

    Зайдя в нее мы увидим лютый понос
    [IMG]

    Из опыта могу сказать, где есть такой символ ^, значит это функция в 99% это xor шифрование
    такое шифрование используют для того, чтобы усложнить жизнь реверсерам и антивирусам в статическом анализе
    Переименовываем эту функцию в xor_decryption

    В этом уроке я покажу как работать с дебаггером, расшифровки через скрипты тут не будет, все постепенно!


    Открываем x32dbg, загружаем туда наш файлик
    [IMG]

    Видим самый первый вызов - наша функция скрытого импорта по адресу 40100B, как нам и показывала IDA
    жмем ctrl G, вводим 40100B, чтобы нас перекинуло на адрес, где начинается эта функция
    [IMG]

    и тут у нас наша функция скрытого импорта
    [IMG]

    вот ты можешь увидеть частые вызовы 0040AEC4, это наш xor, справа от асм инструкций есть строки, это зашифрованные строки, они попадают в функцию расшифровки и получаются расшифрованные строки (наши импортируемые функции и библиотеки), ебать тавтология

    переходим к функции расшифровки(0040AEC4) с помощью ctrl g
    [IMG]
    ставим точку оставы, нажав на точку слева от адреса, теперь когда мы запустим программу, то каждый выход из функции у нас будет останавливать программу, до того момента, пока мы ее не продолжим, мы так увидим в памяти на что у нас расшифровалось зашифрованное значение

    Запускаем прогу и видим справа зашифрованное и расшифрованное значение
    [IMG]
    то-есть 5c672b67685b24a6 расшифровалось в inetGetErrorTextW

    переходим в иду, переименовываем эту переменную в расшифрованное значение и так короче много раз
    [IMG]

    По итогу у нас должно получиться что-то типо такого
    [IMG]
    тут короче на скрине еще и сами строки расшифрованы, но это я сам сделал скриптом, вам еще не надо этого знать, главное, что все названия переменных стали понятны, и вы научились ставить брекпоинты в дебаггере

    возвращаемся в функцию start и смотрим как у нас преобразился код
    [IMG]
    короче некоторые функции уже тут отревершенные, это я случайно и скрин проебал, где я еще не лазил в них

    и тут мы видим как уже все становится +- понятнее
    проверяется, создаётся Mutex, он используется много где, но в данном случае, чтобы не открыть ******* больше одного раза
    потом видим какую-то херню, куда помещается тоже зашифрованная строка
    [IMG]
    Ида нам сама назвала переменную, к которой присваивается значение функции (lpLibFileName)

    но если мы попытаемся открыть ее, то нам ида даст ошибочку
    [IMG]

    это косяк иды, просмотрев в асме тоже видим оператор xor
    [IMG]

    смело переименовываем функцию в xor_decryption2

    идем дальше, видим еще какую-то херню
    [IMG]
    заходим , видим там тоже что то связанное с расшифровкой, функция тоже не декомпилируется, в асме там есть xor
    [IMG]
    [IMG]
    называем функцию xor_decryption3

    а функцию, где это все вызывается назовем decrypt_all_data

    [IMG]

    ну и дальше уже можно вести Гайд сколько угодно, заходим в каждую функцию, смотрим что она делает - переименовываем, для удобства

    проверка на привилегирированный процесс
    [IMG]
    парсинг паролей
    [IMG]

    Всем удачи в начинаниях! Всем пока!


    Предыдущие уроки:
    [Гайд] Ревёрсинг для чайников #1[By Grizzly] - Форум социальной инженерии zelenka.guru
    [Гайд] Ревёрсинг для чайников #2[By Grizzly] - Форум социальной инженерии zelenka.guru
    [Гайд] Ревёрсинг для чайников #3[By Grizzly] - Форум социальной инженерии zelenka.guru
    [Гайд] Ревёрсинг для чайников #4[By Grizzly] - Форум социальной инженерии zelenka.guru

    [Гайд] Ревёрсинг для чайников #5[By Grizzly] - Форум социальной инженерии zelenka.guru
     
    25 окт 2022 Изменено
  2. ИроничныйЧёрт
    Дождались! Спасибо, почитаю
     
  3. v1nn1ty
    v1nn1ty 25 окт 2022 ######################### 21 21 дек 2021
    Все так радужно и красиво
     
  4. 0xc00000e
    0xc00000e 25 окт 2022 Заблокирован(а) 519 22 янв 2022
    пиздец скрины страшные, будто пентагон взламываешь
     
  5. DeadByte
    Ура, новая статья
    --- Сообщение объединено с предыдущим 25 окт 2022
    Гризли топ
     
  6. cidll
    cidll 25 окт 2022 Заблокирован(а) 1046 5 сен 2021
    я этого ждал год :pepeNewYear:
     
  7. zxczxcqweqwe
    zxczxcqweqwe 25 окт 2022 Заблокирован(а) 10 26 авг 2021
    пиздец чел, ты че на пути вмешательства в президентские выборы России?
     
    1. Bababasbebebe
  8. Shadowraze
    Shadowraze 25 окт 2022 682 15 июл 2018
    Хотелось бы пояснения к терминологии, а так топ
     
    1. Grizz1y Автор темы
  9. Абстракция
    Абстракция 25 окт 2022 За деньги - да 794 19 сен 2022
    Хорошо оформленно, ахуенная статейка
     
  10. Glep
    Glep 25 окт 2022 3296 11 янв 2021
    а исходник будетб?
     
  11. Сопрано
    Круто очень, было бы ещё интереснее разрезать какой-то ратник, отличная статья.
     
  12. HolyASD
    HolyASD 25 окт 2022 ( 15 900 10 мар 2019
    Этот прицел просто имба!
     
  13. Frankwalter
    Frankwalter 25 окт 2022 517 17 июл 2020
    чёт сложно слишком
     
    1. Посмотреть предыдущие комментарии
    2. Grizz1y Автор темы
    3. takeovervest
      Grizz1y, самое классное - это видео полноценного реверса программы от а до я.
    4. Посмотреть следующие комментарии
  14. its_niks
    its_niks 25 окт 2022 make testers great again! 16 760 29 янв 2021
    Очень круто получилось, без учета того, что я не много не понял.
     
    25 окт 2022 Изменено
  15. unnamed001
    unnamed001 25 окт 2022 5996 2 сен 2020
    Думал что-то интересное будет, мб софт/плагин который анализ улучшает, ну а так дефолт. Я ничего нового не узнал.
    Смешно, кстати, что кодер *******а использует api getprocaddress, вместо собственной реализации.
     
    25 окт 2022 Изменено
    1. Grizz1y Автор темы
      unnamed001, он в принципе апи использует - это детекты
  16. gcc_machine
    хорош мужик
     
  17. methamphetamine
    methamphetamine 25 окт 2022 Миксер BTC 24/7 - https://lolz.live/threads/8883088 13 826 15 дек 2020
    нихуя не пон, но выглядит интересно
     
  18. allwanttokissme
    Неужели новый гайд, наконец-то
     
  19. Siz228
    Siz228 25 окт 2022 Растение в горшке осуждает тебя за твои грехи 67 5 фев 2020
    давай ревёрс Dcrat
     
  20. Grennnick
    Grennnick 25 окт 2022 Работаю на количество, а не на количество 12 909 2 апр 2021
    Сложновато для моего мозга, но прикольно, топчик
     
Загрузка...
Top