Ассемблерные команды или как пользоваться Cheat Engine, x64dbg и IDA Pro

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ต.ค. 2023
  • Сегодня я постараюсь собрать самый полный гайд по интрументам, которые помогут тебе изучить, как работает исполняемый *.exe файл изнутри.
    О чем собственно речь?! Любая программа, которую ты запускаешь на своем ПК или смартфоне является машинным кодом, который состоит из 0-ей и 1-иц. И если процессор спокойно живет с этим, то человеку прочитать такое очень сложно. Для ускорения написания программ много лет назад люди изобрели язык программирования, который называется ассемблер.
    Но человекам этого было мало и ассемблер казался им все еще сложным.. Потому было придумано множество других C, C++, Java, C#, Python и прочее. Но все они в разной степени переводятся в ассемблер, а потом ассемблер в процессорные команды.. В целом это и все, что нужно знать об этой чихарде..
    Разные программы могут отличаться разной степенью виртуализации, но в момент запуска.. Они все выгружаются в оперативную память и там.. Они все одинаковые.
    Самым доступным, для новичка, способом произвести насильственные дествия над кодом программы, является патч в райнтайме. То есть, мы пишем еще одну программу, которая ищет участок в памяти и меняет в нем код на тот, что нужен нам. Этот способ позволяет избежать различных защит, которые предпринимают авторы софта, поскольку в памяти все обнажено.
    Итак, как мы выяснили, программа - это цифры, а именно нули и единицы. Так как же нам их прочитать?
    Перевод машинного кода в человекочитаемый ассемблер называется дизассемблированием и для ОС Windows имеется 3 популярных программных решения. x64dbg, IDA и Cheat Engine.
    Самым лучшым для новичка будет Cheat Engine, в нем есть куча фукций облегчающих поиск и редактирование.
    Далее идет x64dbg, он является открытым, разрабатывается и поддерживается интузиастами из сообщества реверсеров, которое сосредоточено на Tuts4You.com.
    IDA - коммерческий продукт, который является лидером, если Вы собираетесь серьезно работать в сфере кибербезопасности. Она отличается от выше упомянутых тем, что позволяет снять дамп из памяти и реверсить код статически, но это уже совсем другой уровень. Чем она будет полезна новичку, так это тем, что, отыскав нужный участок в одном из первых двух, в IDA мы сможем произвести декомпиляцию и посмотреть, как нужная нам функция выглядит на самом деле. Это потребуется, если Вы захотите вызвать ее из своей программы.
    Итак, с места в карьер! Нужно запоснить основной список инструкций:
    ADD - складывет 2 значения
    MOV - перемещает значения
    AND - логическое "И"
    CMP - сравнивает на равенство
    INC - инкремент "++"
    JMP - переход по адресу
    OR - логическое "ИЛИ"
    POP - выталкнуть из стека
    PUSH - поместить в стек
    RET - возврат из процедуры
    Все еще не понятно?! Самое главное запомнить всего 2: это CMP и JMP.
    Инструкция JMP - инструкция независимого перехода, но у нее есть и собраться JE/JZ и JNE/JNZ (E = EQUAL, Z = ZERO это одно и то же, просто в разных реализациях используют либо первое, либо второе). Условный переход полностью зависит от инструкции CMP. В зависимости от исхода сравнения, она переводит ZERO FLAG (далее ZF) в состояние 1 (вкл), либо 0 (выкл).
    Название ZERO FLAG проистекает из того, как происхоит сравнение CMP, она просто берет и вычетает одно значение из другого и если оно равно 0, то равенсво соблюдается.. Воот..
    Этих флагов в процессоре, как у дурака фантиков, но для данного тутора нам больше не нужно..
    Это 80% информации, которую нужно знать, если Вам нужно просто убрать какое-нибудь надоедливое окошко в программе.
    Для тех, у кого уже очумели ручки, сделал подробный гайд в гифках, как пользоваться Cheat Engine, x64dbg и IDA Pro version7.7.220118

ความคิดเห็น • 32

  • @apristen
    @apristen 4 หลายเดือนก่อน +14

    для детей видео супер полезное!!! мы так игрухи давно ещё в 90-х ломали и так и познавали как работает ПК (и ничего не изменилось существенно).
    кстати дамп из памяти не только IDA может снять, в windows 10 в task manager во вкладке details правой кнопкой мыши по процессу и там будет заветная опция "снять дамп", это бывает полезно когда уже отработал EXE дешифровщик/распаковщик какой-нибудь и код проги в памяти стал реально пригодный для анализа.

  • @arti4ikmin
    @arti4ikmin 14 วันที่ผ่านมา +1

    Ооо наконец-то хороший канал на русском по ida

    • @osieman
      @osieman  13 วันที่ผ่านมา

      спасибо)

  • @user-ff8ir2on3e
    @user-ff8ir2on3e 6 หลายเดือนก่อน +8

    Думаю, что в продолжение темы использования Cheat Engine и IDA Pro/x64dbg будет интересно посмотреть и послушать про поиск базового адреса и оффсетов в играх. Возможно, даже на примере PW, которую ты и так уже используешь для обучения в написании программ.

  • @malfoi1567
    @malfoi1567 หลายเดือนก่อน +2

    Спасибо большое за такую очень полезную информацию!

  • @BigMemes-jd3tb
    @BigMemes-jd3tb 3 หลายเดือนก่อน +1

    Круто!

  • @anon_commentator
    @anon_commentator 3 หลายเดือนก่อน +1

    Спасибо

  • @iliyashwed747
    @iliyashwed747 3 หลายเดือนก่อน +1

    Крайне достойно!

    • @osieman
      @osieman  3 หลายเดือนก่อน

      Спасибо)

  • @Dmitriy_77
    @Dmitriy_77 24 วันที่ผ่านมา +1

    👍

  • @hasilbumi863
    @hasilbumi863 4 หลายเดือนก่อน +1

    hallo osieman, pelajaran di video kamu hebat.

  • @user-mk5df5si5y
    @user-mk5df5si5y วันที่ผ่านมา +1

    увидел на 2 секунды elementclient, вспомнил как учился на этой игре ботописанию) интересно zhyk еще жив?

    • @osieman
      @osieman  วันที่ผ่านมา

      так у меня на канале целая серия по ней))

  • @hryapacow420
    @hryapacow420 3 หลายเดือนก่อน +1

    push - ( Пуш ) У меня кота так звали

  • @LeeDuLite
    @LeeDuLite หลายเดือนก่อน +1

    Есть пару вопросов к примеру через патерны. Можем списатся в телеге?

    • @osieman
      @osieman  หลายเดือนก่อน

      Конечно, канал для этого создан)

    • @LeeDuLite
      @LeeDuLite หลายเดือนก่อน

      Просто написать в коменты?@@osieman

  • @yl923
    @yl923 4 หลายเดือนก่อน +4

    А почему про Ghidra не рассказал?

    • @osieman
      @osieman  4 หลายเดือนก่อน +1

      Я не понимаю, как такое именитое агенство национальной, мать ее, безопасности.. Могли сделать на джаве.. такое ГУИ. Я не понимаю... Простите.

    • @yl923
      @yl923 4 หลายเดือนก่อน +1

      @@osieman в работе не используете?

    • @osieman
      @osieman  4 หลายเดือนก่อน +3

      @@yl923 Нет, мне показалась максимально неудобной. Может для тру реверсиров малварей.. Я так, в целях обучения разве что..

    • @Z_Z.t
      @Z_Z.t 4 หลายเดือนก่อน

      ​@@osiemanХотя когда я реверсил, то гидра лучше парсила заголовки сишных файлов стандартных библиотек, чем ида

    • @osieman
      @osieman  4 หลายเดือนก่อน +1

      @@Z_Z.t Я слышал, что их декомпайлеры\дизассемблеры можно в иду прикрутить.

  • @malfoi1567
    @malfoi1567 2 หลายเดือนก่อน +1

    И где ссылка на твой канал

    • @osieman
      @osieman  2 หลายเดือนก่อน

      хехе)

  • @hasilbumi863
    @hasilbumi863 4 หลายเดือนก่อน +1

    pingin belajar bersama kamu, balas ya

    • @osieman
      @osieman  4 หลายเดือนก่อน

      hello, thank you :)

  • @d.a.v2960
    @d.a.v2960 5 หลายเดือนก่อน +1

    Бро помоги написать читер за хорошее вознаграждение.

    • @osieman
      @osieman  5 หลายเดือนก่อน +1

      Это противозаконно :c

    • @d.a.v2960
      @d.a.v2960 5 หลายเดือนก่อน

      @@osieman для спама.

    • @xxxonexxx4014
      @xxxonexxx4014 4 หลายเดือนก่อน +1

      То есть то что показано на видео взлом программы не противозаконно а чит противозаконно? @@osieman

    • @osieman
      @osieman  4 หลายเดือนก่อน +8

      @@xxxonexxx4014 Все демонтрируется в образовательнх целях, на мной написанном примере