Сейчас на форуме: Rio, -Sanchez-, artyavmu, CDK123, sashalogout (+8 невидимых) |
eXeL@B —› Софт, инструменты —› OllyExt - плагин для OllyDbg2 |
Посл.ответ | Сообщение |
|
Создано: 15 мая 2011 16:36 · Поправил: PE_Kill · Личное сообщение · #1 Плагин для отладчика OllyDbg 2. Плагин помогает отлаживать программы с несложной защитой от отладки. Т.к. вторая версия OllyDbg не поддерживает плагины, вам придется внедрить код в отладчик для подгрузки плагина. В архиве уже пропатченый exe версии 2.01 (Alfa 2). При запуске отладчика плагин добавляет меню Options -> OllyExt, где есть скудные (пока) настройки. * Hide from PEB - обнуляет в PEB флаги BeingDebugged и NtGlobalFlag * Protect debug registers - скрывает и защищает от модификации отладочные регистры посредством SEH и Get/SetThreadContext Баги: XQuader пишет: Кста, если стоит в настройках шагать юзая HW бряки, то процесс сразу стартует (в олькином логе видно, что прибивается её бряк на ЕП и остальные, если стояли при запуске ) => начало отладки должно начинаться с Int3 бряка. ----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: Vnv, vnekrilov, mak, XQuader, _ruzmaz_, ff0h, obfuskator, Gideon Vi, ClockMan, [0utC4St], Usulgurt, AKAB, stas_02, 4kusNick, Dart Sergius, DenCoder, Isaev, Dem0n1C, Error13Tracer, SReg |
|
Создано: 15 мая 2011 17:30 · Личное сообщение · #2 |
|
Создано: 15 мая 2011 17:50 · Личное сообщение · #3 |
|
Создано: 15 мая 2011 18:56 · Личное сообщение · #4 |
|
Создано: 15 мая 2011 19:08 · Поправил: XQuader · Личное сообщение · #5 Кста, если стоит в настройках шагать юзая HW бряки, то процесс сразу стартует (в олькином логе видно, что прибивается её бряк на ЕП и остальные, если стояли при запуске ) => начало отладки должно начинаться с Int3 бряка. ЗЫ. Прикрутил к сборке SND 2.0, брать ЗЗЫ. Линк поправил |
|
Создано: 16 мая 2011 06:06 · Личное сообщение · #6 |
|
Создано: 16 мая 2011 06:49 · Личное сообщение · #7 |
|
Создано: 30 мая 2011 20:58 · Поправил: Veliant · Личное сообщение · #8 Позволил себе немного попилить ольку, на вашей базе. Если быть точным подменил свою ollyext.dll http://rghost.ru/8633771 Что обходит: ZwQueryInformationProcess с классами 0x07 - ProcessDebugPort 0x1E - ProcessDebugObjectHandle 0x1F - ProcessDebugFlags ZwSetInformationThread спараметром 0x11 - ThreadHideFromDebugger байт Peb.BeingDebugged(IsDebuggerPresent), NtDebugFlags, ProcessHeapsFlags Пока что без морды настроек. Есть желание сначала скрыть по максимуму, потом уже чебоксы прикрутить Usulgurt пишет: А достижения предыдущего товарища в этом направлении как бы игнорируются? Ничуть не хочу оскорбить PE_Kill и его труд, просто попался прот который палит весь этот список, и оказалось проще написать свое чем прикручивать к чужому свой функционал. Если PE_Kill будет заинтерисован в объединении усилий - я только за, ну а нет - буду делать свою реализацию. Никому от этого хуже не станет. |
|
Создано: 30 мая 2011 22:33 · Личное сообщение · #9 |
|
Создано: 31 мая 2011 10:23 · Личное сообщение · #10 |
|
Создано: 31 мая 2011 12:58 · Личное сообщение · #11 |
|
Создано: 31 мая 2011 21:41 · Личное сообщение · #12 |
|
Создано: 05 июня 2011 00:13 · Поправил: Veliant · Личное сообщение · #13 Итак. Так как выдался свободный денек решил попилить вторую ольку. Начал навешивать на нее плагинную систему. Сразу скажу что изучив plugin api первой оли я отбросил затею делать совместимый код. На данный момент уже имеются некоторые рабочие функции вроде добавления в меню, run/trace аналоги горячих клавиш, чтение памяти, запись в память, ассемблирование команды, установка/снятие int3 бряков, вывод в log. (Остальные функции из экспорта пока как заглушки) На данный момент пока что довольно сыро, тк писалось за один день на коленке в FASM'е. Собственно вот пример на погонять. http://rghost.ru/9405861 Буду признателен если кто изучал вторую ольку и подкинет пару адресов функций которые можно вынести в api плагина. Сразу оговорюсь что проект будет свернут, если разработчик все же сблагоизволит добавить свой PDK, а пока это вынужденная необходимость Временное описание для тех кого заинтересовало AddMenuItem (WCHAR*text, FARPROC* MakeMenu, FARPROC* Handler) text - надпись makeMenu - указатель на процедуру, которая создаст подменю и вернет HMENU, либо 0 для однострочной записи Handler - обработчик меню (для выпадающих меню передается ID,которое должен сам сравнивать и вернуть 0 или 1 в случае если ID принадлежит ему) AddLogItem (_DWORD addr, WCHAR*text) DbgReadMemory (void *addr, void *buffer, size) DbgWriteMemory (void *addr, void *buffer, size) DbgRun() DbgRunThread() DbgStepInto() DbgStepOver() DbgTillRet() DbgSetInt3Break (void *addr) DbgDelInt3Break (void *addr) DbgAssemble (void *addr, WCHAR *command, void *buffer) addr - адрес относительно которого ассемблировать command - юникод строка с командой buffer - указатель на массив в 32 байта, куда будет сохранен бинарный код Для случаев патча самой ольки PmHookOllyIAT (void *addr, void *handler) addr - адрес который надо искать в IAT handler - на что подменить | Сообщение посчитали полезным: Gideon Vi, vnekrilov, obfuskator, Isaev, _ruzmaz_, ValdiS, Bronco |
|
Создано: 06 июня 2011 10:34 · Поправил: ARCHANGEL · Личное сообщение · #14 Veliant А что - идея с хайдом ольки мне нравится. Хотя Плагин СДК как таковой меня мало интересует. Как вы отнеслилсь бы к драйверному сокрытию отладчика? Т.е. к присобачиванию дровины к вашему плагину? Честно говоря, не смотрел, как вы скрывали её. Может быть, это всё у вас уже реализовано? Если Вас не затруднит, введидте в курс дела, как вы добивались сокрытия? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 06 июня 2011 10:48 · Поправил: PE_Kill · Личное сообщение · #15 ARCHANGEL Ring3 - хук апи, чистка пеба. ----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: ARCHANGEL |
|
Создано: 06 июня 2011 13:08 · Личное сообщение · #16 ARCHANGEL пишет: А что - идея с хайдом ольки мне нравится. Хотя Плагин СДК как таковой меня мало интересует. Как вы отнеслилсь бы к драйверному сокрытию отладчика? Т.е. к присобачиванию дровины к вашему плагину? Честно говоря, не смотрел, как вы скрывали её. Может быть, это всё у вас уже реализовано? Если Вас не затруднит, введидте в курс дела, как вы добивались сокрытия? Я бы с радостью, но у меня нет опыта программирования дров под винду. Поэтому на данный момент, как сказал PE_Kill, реализовано палевным способом - сплайсом функций ntdll кодом вида mov eax, address / call eax |
|
Создано: 08 июня 2011 05:11 · Личное сообщение · #17 |
|
Создано: 08 августа 2011 15:56 · Личное сообщение · #18 |
|
Создано: 08 августа 2011 16:35 · Поправил: Veliant · Личное сообщение · #19 dimcha пишет: 3 августа вышла OllyDbg 2.01 alpha 4 с поддержкой системы плагинов. Да, я видел эту новость, поэтому, скорей всего, мой проект сворачивается Gideon Vi пишет: если сворачивать только из-за того, что в мега-глючной версии добавили плаги - зря. Ну честно признаться первая мысля была - теперь проще будет все функции найти и забить себе))) Поюзал новый билд пару дней - вернулся на старый |
|
Создано: 09 августа 2011 04:30 · Поправил: Gideon Vi · Личное сообщение · #20 |
|
Создано: 09 августа 2011 16:13 · Поправил: Error13Tracer · Личное сообщение · #21 |
|
Создано: 10 августа 2011 22:24 · Личное сообщение · #22 hide ollydbg2 plugin 50d3_10.08.2011_EXELAB.rU.tgz - HideOd.zip | Сообщение посчитали полезным: hexusR |
|
Создано: 11 августа 2011 03:28 · Личное сообщение · #23 |
|
Создано: 11 августа 2011 10:39 · Личное сообщение · #24 |
|
Создано: 11 августа 2011 12:19 · Личное сообщение · #25 |
|
Создано: 11 августа 2011 18:28 · Личное сообщение · #26 |
|
Создано: 13 августа 2011 18:42 · Поправил: Veliant · Личное сообщение · #27 |
eXeL@B —› Софт, инструменты —› OllyExt - плагин для OllyDbg2 |