Comments 38
UFO just landed and posted this here
UFO just landed and posted this here
>Позже они заставили меня писать css…
А меня когда-то заставили изучить андроид (написать приложение) и Erlang (написать серверную часть)… Собственно — это единственное, когда он мне понадобился.
А меня когда-то заставили изучить андроид (написать приложение) и Erlang (написать серверную часть)… Собственно — это единственное, когда он мне понадобился.
А нет ли каких-то специальных отладчиков, которые принимают во внимание эти фокусы с таймером?
Был в свое время на ZX Spectrum такой бич взломщиков — регистр R. Этот регистр процессора Z80 автоинкрементировался при исполнении каждой инструкции. В защитах он обычно использовался при расшифровке кода («ксорка»). Все отладчики до середины 90х работали с этим регистром некорректно, в результате в защитах нельзя было ставить точки останова или исполнять их пошагово. Был целый набор трюков для борьбы с такими защитами.
А потом появился отладчик STS, корректно работающий с регистром R, и «выгнал всех из леса». Стали появляться и другие отладчики-эмуляторы, в которых можно было трассировать защиту сколько угодно, и при этом она не подозревала, что исполняется под пристальным взором взломщика. В конце концов защиты, основанные на регистре R, перестали быть сколько-нибудь серьезным препятствием для взломщика даже в плане создания неудобств.
А сегодня в 2014г мы снова наблюдаем проблемы, типичные для доисторических времен. Стоит в защите появиться инструкции rdtsc — как задача взломщика серьезно усложняется. Неправильно это как-то. Нужны другие отладчики.
Был в свое время на ZX Spectrum такой бич взломщиков — регистр R. Этот регистр процессора Z80 автоинкрементировался при исполнении каждой инструкции. В защитах он обычно использовался при расшифровке кода («ксорка»). Все отладчики до середины 90х работали с этим регистром некорректно, в результате в защитах нельзя было ставить точки останова или исполнять их пошагово. Был целый набор трюков для борьбы с такими защитами.
А потом появился отладчик STS, корректно работающий с регистром R, и «выгнал всех из леса». Стали появляться и другие отладчики-эмуляторы, в которых можно было трассировать защиту сколько угодно, и при этом она не подозревала, что исполняется под пристальным взором взломщика. В конце концов защиты, основанные на регистре R, перестали быть сколько-нибудь серьезным препятствием для взломщика даже в плане создания неудобств.
А сегодня в 2014г мы снова наблюдаем проблемы, типичные для доисторических времен. Стоит в защите появиться инструкции rdtsc — как задача взломщика серьезно усложняется. Неправильно это как-то. Нужны другие отладчики.
Phantom Plugin для OllyDbg позволяет обходить rdtsc.
Вот только, к сожалению, под Linux не такой уж и большой выбор отладчиков и декомпиляторов. Ни один отладчик не предоставляет такой наглядности и мощи, как OllyDbg. Вот серьезно, запускаешь Olly, и сразу все понятно: регистры, код, память, тут вот потоки смотреть, тут то, тут это, тут строки, тут плагины. Куча плагинов для всего: анализ, антиотладка, дамперы всякие, скрипты. А под Linux что? А ничего. Проблема именно в этом. Даже сраный self-ptrace все еще вручную патчить надо.
это была одной из причин почему я свалил в свое время с юникса :)
а для обхода ptrace даже сварганил портянку
packetstormsecurity.com/files/34012/0x4553_Exorcist.tar.gz.html
а для обхода ptrace даже сварганил портянку
packetstormsecurity.com/files/34012/0x4553_Exorcist.tar.gz.html
По своему обширному опыту собеседований и трудоустройств могу ответственно заявить — чем сложнее вступительные испытания, тем тупее и бессмысленнее предстоящая работа в этой компании. Разумным ИТ спецам, достаточно задать всего несколько ключевых вопросов кандидату, чтобы понять подойдёт он или нет — и это показатель их опыта
моск поломался парсить фразу "(от переводчика: в оригинале: life:) — вероятнее всего отсыл к небезизвестному мобильному оператору)" (:
в оригинале перед смайликом пробел, так что нет здесь никаких отсылок
До чего только люди без IDA'ы не доходят.
Этот и прошлый кряркмис статическим анализом без исполнения кода ломается.
Этот и прошлый кряркмис статическим анализом без исполнения кода ломается.
А когда понимаешь, что к IDA можно подключить BOCHS, то становится ещё приятнее работать
Возможно, вы имели ввиду x64dbg, а не x86dbg. Еще есть Hopper.
UFO just landed and posted this here
А что в x86 архитектуре принципиально запрещает это сделать? NX-bit?
Поидее софт, запущеный в 386mode получает свои 4 виртуальные гига и делает с ними что хочет.
Поидее софт, запущеный в 386mode получает свои 4 виртуальные гига и делает с ними что хочет.
UFO just landed and posted this here
Линкеру из MSVC можно указать опцию: /MERGE:.data=.text
секция с read/write данными объединиться с секцией кода, права страничного доступа у новой секции будут настроены соответствующе.
Поскольку форматы Win32 PE и ELF произошли от общего предка COFF, неудивительно будет, если и в ELF у каждой секции можно выставлять любые флаги страничной защиты.
секция с read/write данными объединиться с секцией кода, права страничного доступа у новой секции будут настроены соответствующе.
Поскольку форматы Win32 PE и ELF произошли от общего предка COFF, неудивительно будет, если и в ELF у каждой секции можно выставлять любые флаги страничной защиты.
«si (аббр. от single step).»
single instruction
single instruction
У них там начальник отдела кадров, видимо со странностями.
Кстати, если кто вдруг захочет повозиться долгими зимними вечерами, вот могу предложить крякмис собственного изготовления — слепил только что:
Там ничего особо сложного нет, но есть изюминка в виде специфического средства разработки, так что чтобы добраться до пароля, придётся продраться через дебри рантайма. Я все необходимые библиотеки в проект бросил и прошёлся по ним упаковщиком. Формально я должен их разворачивать инсталлятором, но мне больше нравятся портабельные приложения. Там придётся отреверсить кусочек рантайма, чтобы понять, как код грузится в память, так что делать это надо исключительно в образовательных целях. Короче вот:
CrackMeLV.7z
Я со своей стороны гарантирую, что там нет вирусов (впрочем виртуалки никто не отменял), деструктивных и шпионских действий программа не выполняет. Пароль однозначно реверсится из кода. Ну и исходники проекта естественно вышлю по запросу.
Кстати, если кто вдруг захочет повозиться долгими зимними вечерами, вот могу предложить крякмис собственного изготовления — слепил только что:
Там ничего особо сложного нет, но есть изюминка в виде специфического средства разработки, так что чтобы добраться до пароля, придётся продраться через дебри рантайма. Я все необходимые библиотеки в проект бросил и прошёлся по ним упаковщиком. Формально я должен их разворачивать инсталлятором, но мне больше нравятся портабельные приложения. Там придётся отреверсить кусочек рантайма, чтобы понять, как код грузится в память, так что делать это надо исключительно в образовательных целях. Короче вот:
CrackMeLV.7z
Я со своей стороны гарантирую, что там нет вирусов (впрочем виртуалки никто не отменял), деструктивных и шпионских действий программа не выполняет. Пароль однозначно реверсится из кода. Ну и исходники проекта естественно вышлю по запросу.
Sign up to leave a comment.
Меня попросили взломать программу на собеседовании. Часть 2