Сейчас на форуме: zombi-vadim, zds (+4 невидимых) |
eXeL@B —› Программирование —› Dumper (или как содрать данные) |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 17 августа 2011 08:57 · Личное сообщение · #1 Всем добрый день. Собственно проблема. Прога накрыта вмпротом+сенсилоком. За почти год войны с ней разодрал вроде все. Встала проблема надо насобирать данные которые отдает ключ. Написал скрипт под ольку. Обошелся 3мя HWBPХ 2 из них в DeviceIOControl 1 внутри тела проги. Но вот беда. Медленно все это происходит дампирование 1го значения около 2-4секунд. Теперь вопрос. Ни у кого нету случаем болванки дебугера на HWBPХ или ктото предложит более изумительный вариант КАК лучше это все устроить. ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 17 августа 2011 09:39 · Личное сообщение · #2 |
|
Создано: 17 августа 2011 11:05 · Личное сообщение · #3 |
|
Создано: 17 августа 2011 11:24 · Личное сообщение · #4 если есть сложности с хардварными бряками, то там все просто Code:
|
|
Создано: 17 августа 2011 11:28 · Личное сообщение · #5 Av0id я когдато на делфе делал дебугер но на дебаг апи, про хардварные реализации читал, на васме вроде замычательная статья была, но руки так и не дошли. вот и спрашивал, может у кого болванка есть готовая, чтоб не вникать (и вопрос с реакцие на все это ВМПрота тоже неизвестен) ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 17 августа 2011 11:59 · Личное сообщение · #6 |
|
Создано: 17 августа 2011 12:42 · Личное сообщение · #7 залил свою старую заготовку, может трейсить и ставить мемори и железные бряки. з.ы. по-хорошему, конечно, её ещё чуть допилить нужно. 9f66_17.08.2011_EXELAB.rU.tgz - myDebug.zip ----- [nice coder and reverser] | Сообщение посчитали полезным: Gideon Vi, ClockMan, tihiy_grom, MasterSoft |
|
Создано: 17 августа 2011 12:50 · Личное сообщение · #8 |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 17 августа 2011 13:54 · Поправил: MasterSoft · Личное сообщение · #9 |
|
Создано: 17 августа 2011 14:10 · Личное сообщение · #10 |
|
Создано: 17 августа 2011 14:47 · Личное сообщение · #11 |
|
Создано: 17 августа 2011 15:08 · Личное сообщение · #12 |
|
Создано: 17 августа 2011 15:15 · Личное сообщение · #13 |
|
Создано: 17 августа 2011 16:57 · Личное сообщение · #14 |
|
Создано: 17 августа 2011 17:15 · Личное сообщение · #15 с циклом не нашёл, только так, выдрал из старого кей-файндера: Code:
а вообще погляди TraceToOep в самом модуле, там примитивный трейс реализован)) eaf5_17.08.2011_EXELAB.rU.tgz - inc.zip ----- [nice coder and reverser] |
|
Создано: 17 августа 2011 17:24 · Личное сообщение · #16 |
|
Создано: 17 августа 2011 18:10 · Личное сообщение · #17 VodoleY пишет: отучить вмпрот орать на то что "дебугер ранед" Некоторые версии вмпрота(мне только одна попадалась) орут, что он раннинг, даже если не приаттачен. При чём кроме ольки орёт также и на студию... периодически ищет сервисы айса... Берём любую утилиту, прячущую деббаггер в списке процессов - помогает(для попавшейся мне версии), поскольку там перечисление через ToolHelp32. ----- IZ.RU |
|
Создано: 17 августа 2011 18:39 · Личное сообщение · #18 DenCoder я за год обчитался дофига кода код вмпрота изучал. и на стадии загрузки и на стадии дебага и с ВАМитом(я его почти за..б.л) обсуждал аспекты. ток ВАМит в свипере отучил умничать вм прот. там проверок много. но если хардваре бряки юзать. остаеца ток IsDebugerPresent и еще чтото. все црс все проверки 1ых байт фунок апи ..все лесом идет ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 17 августа 2011 21:33 · Поправил: Veliant · Личное сообщение · #19 На сколько знаю вмпрот балуется следующими вещами IsDebuggerPresent() = 0 CheckRemoteDebuggerPresent() = 0 CloseHandle ( DEADC0DE ) = 0 Вызовы ZwQuerySystemInformation с проверкой драйверов SoftIce и Syser Установкой Int3 бряков со своим обработчиком ZwSetInformationThread( ..., ThreadHideFromDebugger, ...) ZwQueryInformationProcess c параметром ProcessDebugObjectHandle не говоря уж про проверку памяти |
|
Создано: 17 августа 2011 21:45 · Личное сообщение · #20 |
|
Создано: 17 августа 2011 23:11 · Поправил: Vamit · Личное сообщение · #21 ток ВАМит в свипере отучил умничать вм прот. там проверок много. Патчинга этого достаточно для защиты от вмпрота: 1. "IsDebuggerPresent", "kernel32.dll" 2. "CheckRemoteDebuggerPresent", "kernel32.dll" 3. "CloseHandle","kernel32.dll" 4. "ZwQueryInformationProcess", "ntdll.dll" 5. "ZwSetInformationThread", "ntdll.dll" 6. "KiUserExceptionDispatcher", "ntdll.dll" 7. "ZwContinue", "ntdll.dll" ну и это в придачу Setbreakpointext(GetEPAddress(), TY_DISABLED, 0, 0); ----- Everything is relative... |
|
Создано: 29 октября 2013 22:47 · Поправил: stub · Личное сообщение · #22 сори за поднятие темы. Hellspawn, я скачал ваш модуль для отладки myDebug.pas. но, у меня пару вопросов: 1)не получается сделать хардварные бряки. где их ставить не пойму( 2)срабатывает только один раз мой int3-обработчик. каким образом сделать чтобы всегда срабатывал бряк по адресу. приведите пример. спасибо! код: Code:
|
|
Создано: 29 октября 2013 23:15 · Личное сообщение · #23 stub 1. db.SingleStepHandler:= dword(@MyHardwareHandler); <- раскоментить обработчик 2. SetHardwareBreak(const iNumber:integer;dwAddress:DWORD) - ставим железный бряк. приложил файл проекта. 5254_29.10.2013_EXELAB.rU.tgz - testUnit.pas ----- [nice coder and reverser] | Сообщение посчитали полезным: stub |
|
Создано: 30 октября 2013 02:26 · Поправил: stub · Личное сообщение · #24 |
|
Создано: 30 октября 2013 03:49 · Личное сообщение · #25 |
|
Создано: 30 октября 2013 08:50 · Личное сообщение · #26 |
|
Создано: 30 октября 2013 13:53 · Поправил: stub · Личное сообщение · #27 SReg пишет: жесть. если не знаешь что это за ерроры и как пофиксить, почитай книжку какую нить самые основы спасибо, но основы и синтаксис давно изучен Hellspawn пишет: stub так обработчик нужно создать же :/ я думаю надо вам ещё Delphi подучить... да я уже не полный нуб, понимаю ведь. переменной LogHandler, вообще нету в исходниках вот гляньте проект сами. модуль myDebug скачан с этой темы. 553c_30.10.2013_EXELAB.rU.tgz - test.zip |
|
Создано: 30 октября 2013 15:48 · Поправил: VodoleY · Личное сообщение · #28 stub синтаксис учится за сутки. Вам говориться о том что вам предоставили кирпичи, а нужный код вы должны построить сам. Обработчика и быть не должно.. Кто знает что вы собираетесь делать после срабатывание бряка? З.Ы. Кодером становятся НЕ после изучения синтаксиса.. Гдето год два кодинга.. Практика.. А если и это не поможет.. то наверно на кодинг лучше забить. З.Ы.Ы. Анология.. Если вы собрались учить инглиш.. вы выучили алфавит (синтаксис языка).. на скок матеро вы будете читать и говорить? ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 30 октября 2013 17:42 · Поправил: stub · Личное сообщение · #29 VodoleY, вы не поняли суть вопроса,а пытаетесь меня учить я веду к тому, что Hellspawn привел посл. пример, видимо, из более новой вресии myDebug.pas версия 0.3 что указано в #7 посте, старая, в ней отсуствуют нужные данные и совсем иное объявление процедур\функций, чтобы скомпилировать по его примеру #23. |
|
Создано: 30 октября 2013 19:50 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Программирование —› Dumper (или как содрать данные) |