• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Реверс-инжиниринг для начинающих [Часть 11 \ -EXE-]

-EXE-

RAID-массив
Пользователь
Регистрация
07.08.2022
Сообщения
55
Реакции
349
Автор статьи: -EXE- (https://xss.pro/members/275453/)
Статья для форума: xss.pro

st-11-Logo.png


Очередное продолжение, цикла статей, по реверс-инжиниринг программ для начинающих. Сегодня, снова, рассмотрим интересного пациента, раскроем его супер-уникальный алгоритм и увидим что продают людям в сети за, немаленькие, деньги. Подбирая материал для статей, я смотрю не только на софт но и на его защиту. Старюсь подать информацию, как можно, интересней и понятней. И, для сегодняшней статьи, был подобран особенный, "не имеющий аналогов" софт (Образно говоря).
Ну как интересный, разработчик его расхваливает везде и всюду. А вот каким он функционалом обладает , то это вообще тема отдельного разговора ;) . Те пользователи, кто читал, мои предыдущие статьи, уже знает что подобный софт мы рассматривали. Но в сегодняшнем случае иная защита, принцип обхода, которой - значительно отличается.

Ну и собственно о чем же пойдет речь. А сегодня мы рассмотрим защиту программы Антиплагиат киллер 2023 (Другого разработчика: https://killer-antiplagiat.ru/kupit-programmu-dlya-rerajta-teksta). По моим наблюдениям, в последнее время, в сети, подобный софт растет как грибы. И каждый разработчик преподносит, свое чудо программирования, как супер софт - не имеющий аналогов.

Что это вообще за софт и для чего он ?. Это программа для рерайта текста. Если сказать кратко, понятным (человеческим языком), софт для перефразирования текста.
Особенность в том что: смысл текста не меняется, но текст имеет высокий процент уникальности. Но это только то что говорит разработчик, что софту нет равных, его алгоритм уникальный, и так далее и тому подобное. А вот как, на самом деле, обстоят дела мы выясним !.

Я же, по своему принципу, всегда проверяю подобные вещи. Все за того что, на моей практике, насмотрелся на много чего нехорошего. А именно недобросовестных разработчиков что: продают то что есть бесплатно, или же его не так сложно написать самому. Простой пользователь, что вообще не связан с делом реверсинга или хотя бы анализа, будет думать что купил стоящий продукт и у него кнопка бабло в руках, не подозревая обратного. Про это все? мы поговорим, в процессе анализа.

plan.png

Я веду к тому что план действий, у меня, такой:
  1. Основной: Вылечим программу (Покажу как снимается защита), рассмотрим по какому принципу работает защита, развеем миф о чудо алгоритмах программы.
  2. Второстепенный: Напишем такой же софт, покажу как это делается. Ну и конечно же исходный код (+ Готовый, скомпилированный проект) прикреплю к статье.

В финале, вы получите: такой же, написанный софт, только бесплатный, берите и работайте. Тут ничего сложного нет, но для тех людей кто не в курсе дела, будет особенно полезна статья. Мои планы Вам известны, давайте приступим к практике и реализации задуманного.

Немного забегая наперед, могу сказать что: Разработчик софта немного постарался. И есть нюансы, которые обязательно стоит показать при разборе защиты. Для начала, давайте перейдем на официальный сайт программы и почитаем что там говорится о демо-версии программы. А на официальном сайте все просто, там указано что: в лицензионной версии, нет ограничений на количество обработанного текста и все.

Ну тогда давайте запустим программу и визуально посмотрим, на принцип активации и где всплывает это ограничение. Проанализируем все, посмотрим как это все работает, запускаем программу. И вот уже при запуске софта, запускается и софт и всплывающее окно в котором нас предупреждают о ограничениях. Кстати, есть еще один нюанс, у кого монитор на ПК не большого размера, как у меня, то Вас ждет неприятный нюанс :). А именно, демо-окно растягивается вниз и для того что бы его закрыть и добраться до кнопки далее, нужно использовать кнопку Tab, на клавиатуре ;). Это я на всякий пожарный указал, это косяк разработчика софта.

AntpgK-1.jpg


Закрываем это окно и добираемся до основной (главной) формы софта. Далее видим такую картину: программа у нас состоит из трех софтов, даже программа для кодировки текста есть. Ничего себе, наверное что то крутое и уникальное, можно подумать :D. Но шутки в сторону. К примеру давайте запустим "Синонимайзер" и попробуем обработать какой то текст. Я скопировал текст с описанием программы с официального сайта.

AntpgK-2.jpg

Вставляем текст в окно программы и пробуем его перефразировать, обработать, условно говоря. Тут стоит обратить внимание на вид текста до обработки и после. Так как полученный результат, мягко говоря, не очень. Не смотря на то что на сайте программы, утверждают обратное. Я, не просто так, показал примеры на картинках, в процессе анализа, все станет на свои места. Ну и в итоге получил результат.

Оригинальный текст:
AntpgK-3.jpg

Текст после обработки программой:
AntpgK-4.jpg
Как видим что демонстрационной версии программы доступно не более 20000 символов (Всего). Кстати, это ограничение всплывает и в остальных функциях, этого софта. То есть, я имею в виду, что одно и тоже ограничение по символам, для "Программа для рерайта, Синонимайзер и Программа для кодирования".
Но тут есть еще один нюанс, на который стоит обратить внимание. После того как мы обработали текст, через эту программу, то из 20000 доступных символов (Демо-версии) количество уменьшилось и в остальном функционале.

AntpgK-5.jpg


AntpgK-6.jpg

Так вот, а как же тогда программа делает проверку, то есть с чем она сверяет ?. Возможно идет проверка в интернет ? И на основании этого идет считывания (ID компьютера, к примеру) и после математические вычисления (От доступного количества, отнимаем что использовали и отмечается на сайте разработчика). В общем, направлением мысли понятно, давайте это проверим, используя анализатор трафика HTTP Analyzer.

Проверять будем с самого начала, то есть сначала запустим HTTP Analyzer а после этого нашу программу. И, как раз, проверим не стучит ли программа, при запуске, на сайт разработчика. А в финале, проверим по какому принципу идет подсчет (Ограничение символов). Включаем наш анализатор, в режим сканирования траффика, запускаем программу и видим что софт, при запуске, обращается в интернет. Всплывают интересные факты, на которые стоит обратить внимание. Софт делает запрос, не на сайт разработчика (там где мы скачали программу) а на другой домен. При этом идет загрузка данных, так называемых настроек. Для полной картины нужно посмотреть что покажет нам анализатор.

AntpgK-7.jpg

А именно, обращаем свое внимание на обратный ответе от сервера, для каждого запроса (как видите тут он не один). Если такую информацию возможно посмотреть, то лучше это делать. В процессе анализа, каждая, полученная информация, принесет пользу. На такие, на первый взгляд, мелочные нужно обращать внимание, всегда. Так вот, получаем мы вот что (в ответе от сервера). И тут каждое действие и предположение, нужно прокомментировать. А именно:

Где то мы видел подобное. Точнее в оной из моих статей, где мы: разоблачили, подобного "разработчика". Получается, я осмелюсь предположить что и тут никакого уникального алгоритма нет. А используется, в качестве обработки текста, ресурсы Google, Yandex, Promt и Libre. То есть: перевод идет с русского на какой то язык а потом обратно. Вот Вам и уникальный текст ;). Но шутки в сторону и давайте копать далее, если уже взялись то добьем софт и докажем наши предположения.

AntpgK-8.jpg


AntpgK-9.jpg

А вот ту самый основной момент, на это также обращаем внимание. Тут дело в том что это настройки что загружаются в программу. То есть, как загружаются, при запросе берутся параметры. И уже софт принимает их и использует у себя. А выходя из ситуации то можно сказать что так разработчик делает программу зависимую от сайта. Этим я хочу сказать что если даже софт взломают, разработчик убирает файл настроек и все софт бесполезен. В некоторых случаях, можно посмотреть, что принимает софт и просто в ручном режиме под отладчиком, прописать настройки напрямую. Но делать это, в нашем случае, не логично так как файл километровый ;). Мы выкрутимся, из ситуации, по-другому.

AntpgK-10.jpg

Сейчас мы это все проверим, переварим и применим оптимальное решение. Давайте не спешить, так как информации много и все и сразу не уместить. Предлагаю посмотрим внутренности программы и уже по факту принимать решения. А именно определить, по какому принципу работает и активируется софт. И уже, после этого, принимать контрдействия. Но сначала посмотрим нет ли какого обфускатора или протектора на исполняемом файле программы.

В этом нам поможет, как обычно, утилита ExeinfoPe (Анализатор исполняемых файлов, не только). Перетаскиваем исполняемый файл на форму утилиты и получаем результат.

AntpgK-11.jpg

  1. Имя нашего, анализируемого, исполняемого файла: Запуск АК demo.exe
  2. Разрядность (x32 или x64): Не определена (иногда бывает такое), но отладчик автоматически определил что версия x32.
  3. На чем написан софт \ обфускатор или пакер есть ли ?: Visual C# \ Нет, не обнаружено.
  4. Советы по использованию отладчика: но мы будем использовать, как обычно, DnSpy. Удобный инструмент, чего еще желать.

Ну и теперь можно приступить к исследованию защиты. А уже, после того, как вылечим программу то обязательно посмотрим и на принцип работы этого чудо-софта. Так как, кажется мне, вот что: своих клиентов, разработчик, разводит как школьников ;). Прав я или нет, посмотрим далее. Я скажу так: в этом деле, в отладке софта, без предположений никак. Если есть мысли то: все что задумано не сложно проверить. Тем более если в чем то не уверены, то потратив немного времени, получите информацию и будете спокойны.

Закидываем программу в отладчик DnSpy и приступаем к анализу. Вся нужная информация у нас имеется, осталось найти правильный подход и все. Начнем мы с того что, при запуске программы, постоянно, загружается надоедливое окно. Информация, с предупреждением, что мы используем демо версию. Давайте уберем это окно, после чего приступим к остальным правкам. Я предлагаю применить поиск по коду, то есть просто поищем слово "демо" что присутствует в диалоге. Отмечу что: не важно какой план действий, по анализу, вы составите. Главное чтобы понимать что мы делаем, так как вариантов, сломать софт, много.

Логика событий:
Мы видим, что этот диалог, загружается с ресурсов программы. То есть где то, где именно мы пока не знаем, программа считывает строки с startpage.baml

AntpgK-12.jpg


Если включить логику, то совершенно понятно, при загрузке софта идет и вызов этого окна. И далее, можно действовать по разному, что бы определить где именно. Если посмотреть на название startpage то можно, среди классов, найти такой же и класс. Что собственно, уже по названию, подталкивает нас, к правильному выводу. В startpage присутствует список функций, к примеру: диалог вывода информации о разработчике, кнопка купить программу и далее у нас идет Forward_Click. Это кнопка, по нажатию которой, закрывается диалог с отображением информации о демо версии. То есть условие .Visibility равно скрыть окно, проще говоря. Такого вида конструкция и тут ничего сложного нет, демонстрация на картинках. Как совет на будущее: если в чем то сомневаетесь, то просто ставите точку останова на функцию и запускаете её под отладчиком. После этого ситуация прояснится и все станет понятней.

AntpgK-13.jpg


AntpgK-14.jpg

А далее, у нас, идет запрос на сайт (где подгружаются настройки) и тут же загрузка данных с ресурсов, выходя из ситуации. То есть, если у вас не лицензионная версия и лимит символов исчерпан то программа перестанет работать. То есть приложение просто закроется а этого допустить мы не можем. Для примера и для начала, что за ситуация в картинках.

AntpgK-15.jpg


AntpgK-16.jpg


AntpgK-17.jpg

Что бы полностью прояснить картину это нужно показать на видео, что я и сделаю. А после этого прокомментирую события.

Видео VD_ANP-1.wmv (Имеется и в архиве, на всякий пожарный).
Как заметно, на видео, программа подгружает информацию с сайта (о лицензии, проверяет количество оставшихся символов, ограничение демо-версии 20000).
Если символы закончились, то софт выводит сообщение что все, капут и закрывается. А если нет то запускается и программа и демо-окно.

Участок кода в (StartPage(StartPageViewModel), только помог нам посмотреть на логику событий. Изменения, в этом участке кода, ничего не даст. Так как программа загружает и проверяет оставшиеся символы на стороне сервера (SymbolsCounter.UpdateFreeCount(0);).

Потому, в этой ситуации, нужно отталкиваться от функций что вызываются в StartPage(StartPageViewModel. Конечно же нужно еще проанализировать и посмотреть на логику событий, но по факту то что есть. А первое, что нужно сделать, это убрать неприятное, демо-окно (Почему, действуем именно так, поймете дочитав статью).

Из увиденного выше, становится понятно, можно прописать код кнопки Forward_Click в начало функции public StartPage(StartPageViewModel. При этом, код функции, мы обрезать (глобально править) не будем. То есть выпиливать эти проверки, зачем, если можно поступить намного проще и с минимальным вмешательством в код.

Почему ?, ответ очень прост: она срабатывает, в случае, когда у нас закончились символы. А мы сделаем так что они никогда не закончатся ;) ( забегая немного наперед).

Реализовать задуманное не составит никаких сложностей, добавляем код в начало функции. Нажимаем, правой кнопкой мышки, по функции и в меню выбираем изменить метод. То есть, вот так, решение в лоб:

AntpgK-18.jpg

После этого, программа запустится и надоедливое, демо-окно, не загрузится. А сразу запустится главная форма программы, что удобно, думаю смысл понятен. С этим делом разобрались, идем далее.

AntpgK-19.jpg


Теперь осталось разобраться с ограничениями по количеству символов. Я показывал на видео и говорил, выше, что софт проверяет и делает загрузку доступных символов с сервера. И мы уже знаем: что это проверяется через Util.LicenseInfo.FreeSymbolsCount. Давайте перейдем и посмотрим на код. Что бы определится и составить план наших действий, после проделанного.

AntpgK-20.jpg

AntpgK-21.jpg

За что вообще отвечает и как работает get_FreeSymbolsCount, какая логика. Программа делает запрос на сервак, там отмечается сколько мы использовали символов. А в эту переменную загружается сколько нам доступно. Понятное дело что мы хотим максимум, зачем нам эти ограничения и все такое. В начале, статьи я говорил, что в этой программе - другая логика защиты. Так вот, это ограничение, принимается с сервера и сейчас я покажу как делать изменения подобного, если это возможно и не нарушит логику работы программы (не приведет к ошибкам).

Выходя из логики работы программы, мы можем исправить код вот так (Два варианта):

AntpgK-22.jpg


AntpgK-23.jpg

То есть, в ручную задать параметры, раз и навсегда ;). Вариант номер два, то есть return int.MaxValue, будет более правильный. Так как мы получим максимально
доступное, количество символов. И тем самым, получим без лимитную версию по символам, то есть то же самое что и в лицензионной версии.

А что еще важно: при работе софта, не будут списываться символы. То есть результат мы получим вот такой, собственного чего и добивались. И этот параметр сработает, сразу же, во всех настройках программах. То есть:

AntpgK-24.jpg


AntpgK-25.jpg


AntpgK-26.jpg

Для пользователей, кто не совсем понял что мы сделали, да и в целом для закрепления материала, сделал видео. На котором, полностью показан процесс крякинга а также демонстрация работы.

Видео VD_ANP-2.wmv (Имеется и в архиве, на всякий пожарный).

В итоге, на видео, все показано по сути дела. Нет никакой воды, только точечные изменения. В следствии чего: мы имеем, полностью полнофункциональный софт (Не хуже лицензии). Кстати, на видео, показано как убрать надпись "Без лицензии" и добавить туда любую информацию. Надпись уже никакой роли не играет, но для красоты её, желательно, исправить. Вот так будет выглядеть финальный вариант софта, после всех изменений, во всех вкладках программы.

AntpgK-27.jpg

Но вот есть нюансы, которые, сейчас прокомментирую и покажу. Если проанализировать и посмотреть весь код программы, именно запросы. То становится понятно что и этот разработчик держит своих клиентов за дураков. Для так называемого "Перефразирования" и "Уникальных алгоритмов", разработчик используем банальное обращение к онлайн переводчикам:

Тут и так понятно, перевод с английского на русский. А до этого переводит наоборот и получается перефразированный текст. Оригинально, однако. ;)
AntpgK-28.jpg

Тут googleapis.com это служебный домен Google. То есть, на нем расположены инструменты для разработчиков, понимаете к чему я виду ?.

AntpgK-29.jpg

А еще вот это :), третий чудо-режим, это использование онлайн переводчика: Reverso

AntpgK-30.jpg


Я привел факты, которых достаточно что бы получить негативное впечатление о разработчике и его программе. В итоге вырисовывается, вот такая картина: работа всего софта завязана на алгоритмов онлайн переводчиков. Нет в софте: волшебных алгоритмов, нет совести у разработчика софта а есть только хитрость и тяга к деньгам :confused:.

AntpgK-31.jpg

Конечно это смешно, если посмотреть со стороны. Но, представьте себе ситуацию, если человек купил такое "Чудо". Это же надувательство чистой воды, тем более что цены, на минуточку (Это с официального сайта, я это не придумал):

AntpgK-32.jpg

Важное и последнее, что хотел сказать, про этот софт:
  1. Первое: Последний режим обработки, то есть "Кодировка файлов", это просто жесть o_O. Софт просто портит кодировку в надежде что такое прокатит. Если прямо сказать то - подставляет символы с заменой кодов (Это бред и так не работает). А разработчик софта говорит: что текст будет уникальный, на сервисах, где проверяют текст на плагиат. Так вот, если преподаватель, в университете, возьмет и просто текст с документа скопирует и вставит в антиплагиат онлайн то сражу же вранье раскроется. А если додумается распечатать то вообще будет в шоке, так как обман сплывет наружу.
  2. Второе: При установке софта, там навязывается установка библиотек C++ и Net Framework. Так вот если у вас версии выше, будьте готовы к тому что софт может глючено работать. Так как разработчик не додумался его оптимизировать. Это так к слову сказано.
  3. Третье: С этим софтом закончили, как активировать я показал, отвязывать его от сервера нет смысла - софт это сплошная ошибка и обман людей.

:zns5: Переходим к интересному, второстепенному плану: Обещанный мой софт. Только бесплатно! (Реализация, готовый проект и исходник прилагается). :smile10:

Давайте приступим и сейчас покажу как сделать подобный софт, намного проще.

Отличие моего софта будут в следующем
  1. Софт будет портативный и не требующий установки.
  2. Размер исполняемого файла будет не более 5 мегабайт, если сравнить с софтов выше у которого размер 290 метров, что отличается.
  3. Минимальное количество библиотек, это две.
  4. Работать будет не хуже.
  5. Ну и самое главное: он бесплатный и к нему прилагаются исходные коды.

Добавить, к всему сказанному выше, могу только одно: Запрограммировал я софт так что бы свести код к минимуму и показать что сложного тут нет ничего. Если у Вас возникнет желание то сможете легко переделать под себя (Исходники у Вас на руках).

Приступим, внешний вид, будет вот таким (Интерфейс резиновый, растягивается как угодно):

AntpgK-33.jpg

Как видите, в первой колонке оригинальный текст а во второй колонке текст после обработки. Отличие существует и можно подумать что мы создали уникальный софт, но я этого не говорил :). Принцип действия софта очень прост, тут нет уникальных алгоритмов или своей нейронная сети, просто используем переводчик google.

По какому принципу работает софт.
  1. В окно, справа, вставляем наш текст и нажимаем на кнопку "Обработать текст".
  2. Программа делает запрос в переводчик онлайн Google - онлайн и переводит текст с русского на английский.
  3. Потом, программа снова делает запрос в переводчик Google - онлайн и переводит обратно с английского на русский.
  4. Результат выводится во второе окно, что справа.
  5. Вот и все манипуляции что нужно было запрограммировать.

Особенности работы с Google переводчиком. Так как, у google, api стал платный то: можно выкрутится и обойтись без оплаты. Использовать методы обхода, вот тут можете посмотреть варианты: https://github.com/ssut/py-googletrans/issues/268

Вот и я пошел этим путем и сделал пример, реализацию софта. Все сделано для того что бы человек, мало понимающий в этом деле, посмотрел на реализацию.
Код моей программы простейший, нет никаких подводных камней, просто показана реализация подобного софта.

Код кнопки "Обработать текст" выглядит вот так (Для наглядности, что бы понимать о чем речь):

AntpgK-34.jpg

Ничего сложного. Просто одна кнопка делает два действия, второе по таймеру. То есть сначала перевод с русского на английский. После этого активируется таймер, с задержкой в 3 секунды, идет снова нажатие на кнопку и текст с английского переводится на русский. По желанию, значение таймера, параметры, все это вы можете изменить (В исходнике все доступно расписано).Я специально не усложнял код и запрограммировал его так что бы обычный человек смог разобраться.

Думаете не сработает, а я уверен что сработает. Давайте проведем, эксперимент на видео и посмотрим в работе: Мой софт (Текст Снайпер 1.0 Free) против Антиплагиат киллер 2023 (У которого, якобы, уникальный алгоритм, как бы не так :D).

Видео VD_ANP-3.wmv (Имеется и в архиве, на всякий пожарный).

В итоге, у нас получился софт, что работает не хуже. Только наш софт бесплатный, портативный и имеет 3 мегабайт, с копейками, размер исполняемого файла. Финальный пример:

AntpgK-35.jpg


Подведем итоги
Первое:
Анализируемый софт, Антиплагиат киллер 2023, можно смело сделать выводы и сказать что: это не более чем пустышка, пыль в глаза незнающим. По человечески, жалко тех людей, кто купил этот софт, не зная что внутри.
Надеюсь, статью почитаю много людей и разработчик программы также. Самый главный вопрос, мысль о том что: зачем было создавать такой громадный файл, напихать туда тучу не нужного, в том числе и загружать настройки с сервака (условно говоря) :rolleyes:. Если на том же C#, можно было проще все написать. Скорее всего для того что бы потенциальный покупатель повелся на красивый интерфейс и купил программу, не думая что там внутри.

Второе:
Что касается моей программы, реализацию которой я показал, то весь код был написан максимально просто, для нормального восприятия. Можно было добавить и прогресс бар, вывести все в отдельный поток, добавить дополнительный функционал. Но цель была в другом, показать как это работает и предоставить аналог бесплатного софта.

В будущих статьях, я напишу и предоставлю исходники многих (своих) программ, утилит, что бы материал был интересный. Ну и на сегодня у меня все, надеюсь статья понравилась, всем хорошего дня. :cool:

В архиве, скриншот:
AntpgK-36.jpg


Инсталлятор программы Антиплагиат киллер 2023:
Virustotal:
https://www.virustotal.com/gui/file/ef02eee8e9f0de40d9319ea4ee3672249998deee5b10ff7150f6c83a01498ee9

Мой софт (Текст Снайпер 1.0 Free) + Исходные коды):
Мой софт / Текст Снайпер 1.0 Free / Исполняемый файл / virustotal:
https://www.virustotal.com/gui/file/fc77f18d67c51fd67e888e47871133a9d74b907f4748a2602185ffdbc849e388

Инструменты для анализа:
HttpAnalyzer / virustotal:
https://www.virustotal.com/gui/file/f25541dee8f859b62c642d2e6e835c247900b5bc94a00cdbc4d894bab83796dd
DnSpy x32 / virustotal: https://www.virustotal.com/gui/file/7ce05f1aafaaa87d046bbad1b07801777e724251b084bc7f70cef71c98b08105
DnSpy x64 / virustotal: https://www.virustotal.com/gui/file/cc15f3f7836f5c976e058aabdd55af8635b484a6b9a5e94a2cb048856965f9e2
ExeinfoPe / virustotal: https://www.virustotal.com/gui/file/32e6df44a529d3bd543aae01365852990c0e7f3b4f84b5a7f9d7dfc18d6a46fd

Файлы к статье:

Скрытый контент для зарегистрированных пользователей.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А с какого примерно урока будет ассемблер?
В этих уроках не будет ассемблера, этот туториал для тех кто уже с ним знаком. В интернете полно книг по ассемблеру и различных видео. Так же под рукой надо держать всегда документацию интела https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html. Это нормально когда ты чего-то не знаешь или забыл и лезишь в гугл или в справочник и ищешь нужный тебе ответ. Так что не жди, а начинай изучать.
 
В этих уроках не будет ассемблера
В комментарии под пятым уроком автор говорит об обратном.
этот туториал для тех кто уже с ним знаком
Это гораздо проще, чем ассемблер, поэтому не сказал бы, что для тех, кто с ним уже знаком. Он для начинающих (не для углубления знаний), как сказано в шапке.
В интернете полно книг по ассемблеру и различных видео.
Но зато по взлому реальных программ почти ничего нет. Гайды с крекми, где пару инструкций проверки, — это фигня, потому что в реальных программах она несколько тысяч инструкций занимает.
 
В этих уроках не будет ассемблера, этот туториал для тех кто уже с ним знаком. В интернете полно книг по ассемблеру и различных видео. Так же под рукой надо держать всегда документацию интела https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html. Это нормально когда ты чего-то не знаешь или забыл и лезишь в гугл или в справочник и ищешь нужный тебе ответ. Так что не жди, а начинай изучать.

weaver

Cказано все правильно, благодарен за комментарий.
Но зато по взлому реальных программ почти ничего нет. Гайды с крекми, где пару инструкций проверки, — это фигня, потому что в реальных программах она несколько тысяч инструкций занимает.

oleedd

А причем тут несколько тысяч инструкций ?. Это я к тому что возьмите даже те же протекторы: VMProtect, Enigma, Obsidium, Themida. Упакуйте ими файл и попробуйте обойти защиту (тут и 1000 проверок не нужно :D). Все относительно чего то, у каждого софта свои особенности, как и в его защите.

В комментарии под пятым уроком автор говорит об обратном.

Этот цикл статей заточен под C#, что бы не создавать кашу.

Что касается ассемблерного кода то тут дела обстоят по иному.
  • Первое и самое важное, что потребуется, это справочник по командам ассемблера (Их понимание).
  • Обязательные знания программирования, понимать как работает среда на которой написан анализируемый софт.
  • Понимать все нюансы что связаны с отладчиком под это дело, в этом случае DnSpy уже бесполезный.
  • Но, для начала этого дела, нужно сделать статью, на простых примерах (что бы разложить все по полочкам и создать основу). А уже после этого можно перейти к практике, на примеры сложнее.
То есть этим я хочу сказать что:
Просто так вот взять и запрыгнуть в работу с ассемблером - нельзя. Мне уже говорили, задавали вопросы люди, много раз. Думая что это так, взял, показал и поехали а знаний не нужно. Тут дело такое, если человек не разберется на простых примерах, не поймет основу, то в темный лес не стоит забегать, ничего хорошего с этого не получится.

Тонны информации что нужно запомнить у себя в памяти, набить руку на практике от простого к сложному. Это действует только так.

Но это цикл статей для начинающих людей. Да, я говорил, что будут и в направлении асма статьи. Но разорваться я не могу :). Закончу этот цикл статей - перейдем к асму и вернемся к началу (Новому циклу статей что будет заточен под конкретное дело).

А по сути то дела, есть еще много интересного чем хочу поделится в этом цикле статей.

weaver

Благодарен Вам за уточнение.

oleedd

Никакого негатива в вашу сторону нет, просто более расширенно ответил на ваш вопрос. Вопросы это хорошо, ваше мнение как и остальных участников форума уважаю .

Так что только позитив и никакого негатива, у меня такой настрой. Всем хорошего дня.​
 
Ну тогда (раз будет новый цикл) изначальный вопрос сводится к тому, сколько ориентировочно статей будет про C#. Вдруг 100... Поэтому спрашиваю...
Тут дело такое, если человек не разберется на простых примерах, не поймет основу, то в темный лес не стоит забегать, ничего хорошего с этого не получится.
С элементарными вещами, что в гайдах с крекми (их даже лёгкими не могу назвать, проще простого...), думаю, у всех получается разобраться. Но они не дают возможности разобраться с тёмными лесами (детский сад и интегралы). В интернете не хватает (почти нет или вообще нет) уроков средней сложности.
А причем тут несколько тысяч инструкций ?
Если брать программы без протекторов, то вроде бы это одно из самых проблемных. Нигде не могу про это найти материал. Где проверка ключа занимает очень много инструкций...
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх