Крякинг: Записки дилетанта

Тема в разделе "КРЯКИНГ ДЛЯ НОВИЧКОВ", создана пользователем X-Shar, 12 фев 2015.

↑ ↓
?

Как статья ?

  1. Классно

    16 голосов
    88,9%
  2. Мог-бы и по лучше написать

    0 голосов
    0,0%
  3. Что-то слабовато

    0 голосов
    0,0%
  4. А зачем это ?

    1 голосов
    5,6%
  5. Ндя..., лучше-бы выкладовал ключи

    1 голосов
    5,6%
  1. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    6.047
    Симпатии:
    523
    Пол:
    Мужской
    Репа:
    +1.129 / 162 / -33
    Telegram:
    Кстати-да Рикардо про это сказал в 28-й главе…

    Что есть какой-то там изящный крякинг, а есть просто крякинг, где используются инструменты облегчающие работу, я всё-же согласен с Рикардо и придерживаюсь к тому-что по проще, непонимаю зачем «Изобретать велосипед» и «Мозги компостировать», когда что-то можно сделать легче, быстрее и проще…

    Хочу кое-что отметить к 30-й главе, там небольшая ошибка, из-за которой способ описанный в статье не будет работать на новых ОС.

    Как и во всех заметок здесь не будет ничего сложного, другие качества этих заметок, надеюсь никто и не увидит, гы-гы..

    В этой главе рассматривается P-Code (Он-же псевдокод, он-же опкод), итак приложения на VisualBasiс, бывают двух типов (Ниже моё представление, может-быть неправильно, поправьте если-что):

    1) NATIVE - в NATIVE-коде выполняют строки кода в секции кода программы, т.е. эти программы можно дизассемблировать, а API бейсика вызываются уже в длл-ки.

    2) P-Code - при выполнении не происходит остановок в секции кода, кроме тех случаев, когда встречается вызов какой-либо API-функции. Это очевидным образом указывает на то, что никакого исполняемого кода в данной секции нет.

    Дизассемблирование программы, использующей P-CODE, ничем не поможет, так как там нет исполняемого кода. В ней всегда запускается DLL Visual Basic'а, которая читает значения из секции кода, указывающие ей, что нужно сделать.

    Пример:

    Байт 1e – делает безусловный переход, он выполняется в DLL Visual Basic’а, то есть, она считывает эти значения из секции кода, и они указывают DLL, что нужно сделать. Таким образом, никакого выполнения кода в соответствующей секции не происходит, только считываются из неё значения.

    Что-то я отвлёкся, теперь к заданию 30-й главы, там надо убрать наг-окно у программы которая написана на Visual Basic, написана как-раз по второму типу, т.е. P-Code…

    Наг-окно – это окно которое открывается, перед основной программой, её надо убрать ! ;)


    upload_2015-3-10_19-2-8.



    Нужно патчить саму программу, но воспользуемся поможником –это exdec, эта программа позволяет увидеть адреса опкодов, далее эти опкоды и поменяем + скажу где у автора была ошибка для новых систем…

    Итак откроем прогу вначале в exedec, вот скрин:

    upload_2015-3-10_19-2-32.


    Там мы видим название окошко, т.е. “NAGaeliminar”, а также что это окно вызывается при помощи API бейсика _rtcMSGBox, нас интересует адрес 0x401AD2 (Самый крайний левый столбик)…

    Можно закрыть exedec, в общем-то больше не нужен…

    Открывает крякми в Oledbg, далее нам нужен дамп, переходим по нашему адресу 401AD2 :

    upload_2015-3-10_19-2-45.

    upload_2015-3-10_19-2-53.


    Получаем:

    upload_2015-3-10_19-3-6.


    0A – Это наш опкод, далее идут параметры, до 36 – это уже другой опкод, это видно в exedec (второй столбик)…

    Так вот автор рекомендует заменить 0А на F5, параметры просто обнулить, F5 – как я понимаю pop… Но ведь программа вылетит по ошибке, я-же просто заменил на F5, а параметры оставил как есть и тогда программа нормально запустилась без наг-окна ! :)

    upload_2015-3-10_19-3-20.


    Меняем байт, далее сохраняем патченную программу:

    upload_2015-3-10_19-3-33.

    upload_2015-3-10_19-3-40.


    Запускаем, без всяких ошибок, УРЯЯЯЯ !

    upload_2015-3-10_19-3-51.

    Во вложении приложение к посту... :)
     

    Вложения:

    • Мне нравится Мне нравится x 1
  2. Indy Уважаемый пользователь
    Indy
    Ответить в чате

    Форумчанин

    Регистрация:
    21.01.2015
    Сообщения:
    285
    Симпатии:
    159
    Пол:
    Мужской
    Репа:
    +195 / 5 / -30
    > Он-же псевдокод, он-же опкод), итак приложения на VisualBasiс

    Как всё запущено, жесть.
     
  3. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    6.047
    Симпатии:
    523
    Пол:
    Мужской
    Репа:
    +1.129 / 162 / -33
    Telegram:
    А что не правильно, так написано у Рикардо-же ?Не въехал!!!Не въехал!!!Не въехал!!!
     
  4. ason Уважаемый пользователь
    ason
    Ответить в чате

    Форумчанин

    Регистрация:
    21.01.2015
    Сообщения:
    220
    Симпатии:
    250
    Пол:
    Мужской
    Репа:
    +267 / 1 / -4
    Вот эта статья помогла прояснить, зачем вообще изучать Нарвахо, а то я немного заблудился или устал от большого количества непонятных символов и переменных.
    http://www.wasm.ru/wault/article/show/1022001
     
    • Мне нравится Мне нравится x 2
  5. ason Уважаемый пользователь
    ason
    Ответить в чате

    Форумчанин

    Регистрация:
    21.01.2015
    Сообщения:
    220
    Симпатии:
    250
    Пол:
    Мужской
    Репа:
    +267 / 1 / -4
    X-shar как ты думаешь, может можно создать каталог языков программирования для начинающих.С литературой доступной для понимания новичка.Будет проще на одном ресурсе разобраться в азах кодинга,ну и в конце концов выбрать для себя именно тот язык, который окажется наиболее комфортным в понимании?
    Постепенно можно будет дополнять литературу.
     
    • Мне нравится Мне нравится x 2
  6. Антоха Уважаемый пользователь
    Антоха
    Ответить в чате

    Форумчанин

    Регистрация:
    26.12.2012
    Сообщения:
    3.289
    Симпатии:
    11.168
    Пол:
    Мужской
    Репа:
    +11.334 / 49 / -7
    Как бы раздел для литературы уже существует,но вот только не хочет заполняться.
    https://ru-sf.ru/forums/ljubimye-knigi-i-zhurnaly-a-takzhe-vyrezki.114/
     
    • Мне нравится Мне нравится x 2
  7. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    6.047
    Симпатии:
    523
    Пол:
    Мужской
    Репа:
    +1.129 / 162 / -33
    Telegram:
    Я Нарвахо изучаю для понимания "Основ" и самое главное изучить работу отладчика, немного хочу поизучать асм !

    Там тоже не всегда всё понимаю, но думаю не страшно, там кстати некоторая инфа устарела и не всё работает в этом мануале...Отдыхай!!!

    Ну у нас есть раздел:https://ru-sf.ru/#programmirovanie.81

    А вообще если не брать в расчёт асм и низкоуровневый коденг, т.к. там нужно знать ещё устройство контроллера/процессора, то в остальном высокоуровневом коденге, т.е. Си, Делфи, Бейсик, PHP, Java и т.д. достаточно знать основы:Т.е. работа с переменными, строками, массивами, далее идут понятия наследования, инкапсуляция и полиморфизм, это уже объектно-ориентированное програмирование (ООП) !

    Если эти базовые понятия изучить, то уже не важно какой язык будет, да-есть специфика везде, но её изучить уже не проблема будет, в зависимости от языка неделя-две, но максимум месяц, это-если совсем-уж что-то сложное и специфическое если ! (ИМХО)

    Лучше учить язык си, по причине что на его основе куча других языков, таких-как PHP, Java, C# и прочее...

    Легче с ними работать будет при необходимости !

    Про литературу, просто выкладывать книги наверное смысла нет, т.к. их итак куча, а нормальных книг еденицы, если только выкладывать книги которые помогли лично например вам в изучении и т.д. !
     
    • Мне нравится Мне нравится x 2
  8. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    6.047
    Симпатии:
    523
    Пол:
    Мужской
    Репа:
    +1.129 / 162 / -33
    Telegram:
    Всем привет !

    Блин что-то забросил я Нарвахо, если долго не читаешь, потом уже тяжело вникать…

    Там в 38-ой главе было задание, как сказал Рикардо «Простенький пакер проблем несоставит вскрыть !», да-блин ухайдокался что-то я, потом прознал что есть автоматические депакеры и решил попробовать их…

    Итак теория, как распаковывать протекторы, вкратце:

    1)Найти OEP, это точка входа в нашу прогу, когда она уже распакована в памяти;

    2)Сделать дамп;

    3)Восстановить таблицу импорта (IAT).

    Итак всё по порядку, задание нужно распаковать пакер FSG 1.31, что-то я так тупил, что так и не смог вручную восстановить IAT, бывает у меня, тем более после бутылки пиваса, поэтому как обычно будем читерить, гы-гы… :)

    В начале сделаем настройки в Олле для поиска OEP: Options->DebugOptions ->SFX, там сделаем тщательный поиск OEP:

    upload_2015-4-3_15-49-36.

    Открываем запакованный анпакме в олле:

    upload_2015-4-3_15-49-51.

    Нажимаем Run, получаем:

    upload_2015-4-3_15-50-4.

    Далее опять Run и получим:

    upload_2015-4-3_15-50-19.



    Видим что OEP: 440300 (Real entrypoin to fSFX code)
    это нам и нужно, далее для распаковки будем использовать тулзу Quick.Unpack.2.2.Final, юзать кстати её лучше на хрюше и с отключенными АВ, иначе может дело дойти и до слёта системы, это важно…

    Открываем его, кстати обратите внимание на симпатяшку в фавиконки, она мне сразу понравилась, гы-гы…

    upload_2015-4-3_15-50-30.


    Вводим OEP, открываем файл который нужно распаковать, далее делаем «Умный метод + трассировка» и «Распаковать»…

    О чудо, вот наша таблица импорта:

    upload_2015-4-3_15-50-38.

    Смотрим что-бы не было проблем и нажимаем сохранить…

    upload_2015-4-3_15-50-46.

    Всё распаковалось…

    Всё запускается:

    upload_2015-4-3_15-50-55.


    Также распаковывается и UPX кстати и много других простеньких пакеров… ;)



    Во вложении материалл к статье, если кому нужно…
     

    Вложения:

    • Мне нравится Мне нравится x 3
  9. Пузырик Пользователь
    Пузырик
    Ответить в чате

    Первый уровень

    Регистрация:
    22.04.2015
    Сообщения:
    13
    Симпатии:
    14
    Репа:
    +14 / 0 / -0
    У вас апечатка "КрЯкинг", а правильно "КрЭкинг". Вы что крякаете что-ли, как утки ? ха-ха-хаПо теме интересно было-бы читать не решения задач Нарвахо, а исследование прог.
    Вот пример(Не реклама):http://www.manhunter.ru/underground/ там-же можно найти инфу по асму и т.д.
     
    • Мне нравится Мне нравится x 1
  10. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    6.047
    Симпатии:
    523
    Пол:
    Мужской
    Репа:
    +1.129 / 162 / -33
    Telegram:
    Это не опячатка, это такой прикол, кстати было интересно заметит кто-нет ?Отдыхай!!!

    Правильно конечно-же "Крэк", но в рунете почему-то говорят "Кряк"...смех-смех!!!

    Поэтому и "Крякинг", а вообще по теме, я просто эту тему создавал для себя...WinkSmile
     
    • Мне нравится Мне нравится x 1
Похожие темы:
  1. X-Shar
    Ответов:
    7
    Просмотров:
    2.142
Загрузка...