Сейчас на форуме: Rio, vsv1, site-pro (+7 невидимых)

 eXeL@B —› Софт, инструменты —› Баг в Olly Advanced
Посл.ответ Сообщение

Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 27 июня 2014 00:56
· Личное сообщение · #1

Исследовал на Vmware работу плагина Olly Advanced, система вин хп сп2. Обнаружил, что галочка "Kill %s%s bag" http://floomby.ru/s2/bWuZ3K не работает и не защищает от бага в олли, который связан с вызовом OutputDebugStringA с параметром такого вида %s%s.....%s%s, оля после этого вываливается. Тестировал на программе, пакованной Армадилой версии 4.42, в ней как раз применяется трюк с этим багом. И отладчик не проходит его. Во время теста кроме этого плагина, других не было. Давно заметил, что антиотладочные плагины вместе плохо уживаются.

После этого убрал этот плагин, поставил Hideod, в нем тоже представлен обход этого бага. И там все сработало. Hideod правит начало этой апи, тем самым перехватывая ее.
Но меня интересует, почему Advanced не справился с этим. Также интересно нет ли сорцов этого плага. Плагин хороший, его бы доделать и протестировать хорошо.



Ранг: 10.9 (новичок), 5thx
Активность: 0.060
Статус: Участник

Создано: 27 июня 2014 01:04 · Поправил: ThugboyZ
· Личное сообщение · #2

Занопь в ольге call по адресу 00431289 , мессаджи будут всплывать, но DebugString будет игнориться.Скипать пофигу - жмешь энтер и все должно быть окей.
Качни с тутсей Olly Detection Tools 1.4 и затесть опосля.



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 27 июня 2014 01:59
· Личное сообщение · #3

ThugboyZ пишет:
Занопь в ольге call по адресу 00431289

Сделал, но все равно появляются окна http://floomby.ru/s2/nWFa5D



Ранг: 10.9 (новичок), 5thx
Активность: 0.060
Статус: Участник

Создано: 27 июня 2014 02:07 · Поправил: ThugboyZ
· Личное сообщение · #4

kola1357 пишет:
Сделал, но все равно появляются окна http://floomby.ru/s2/nWFa5D

Я же написал - игнорь их прокликиванием или по энтеру.На армадилло это точно катит.



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 27 июня 2014 02:10 · Поправил: kola1357
· Личное сообщение · #5

ThugboyZ пишет:
Я же написал - игнорь их прокликиванием или по энтеру

Игнорю, работает. Но как я понимаю не должно быть их совсем ?
А если кто-то придумает такое))
Code:
  1. for(int i=0;i<1000;i++)
  2. {
  3.       OutDebugStringA(...);
  4. }




Ранг: 10.9 (новичок), 5thx
Активность: 0.060
Статус: Участник

Создано: 27 июня 2014 02:16 · Поправил: ThugboyZ
· Личное сообщение · #6

kola1357 пишет:
Игнорю, работает. Но как я понимаю не должно быть их совсем ?
А если кто-то придумает такое))

Брякнувшись на апи выходим из функи и патчим бинарь.Профит.Некоторые протекторы палят софтварные бряки, но это не проблема опять таки.

Добавлено спустя 2 минуты
kola1357 пишет:
Но как я понимаю не должно быть их совсем ?

Отладь исправленный бинарь олли в любом модифицрованном варианте - snd, shadow и тд, ну и посмотри как там сделан патч.Я сделал так, как привел выше (искал сам и патчил все сам с нуля) и мне этого достаточно.



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 27 июня 2014 03:47
· Личное сообщение · #7

ThugboyZ пишет:
Некоторые протекторы палят софтварные бряки, но это не проблема опять таки.

Я видел в Advenced галочку от этого, большинство протекторов в коде ищут опкоды CC, а этот плагин при установке галочки ставит свои опкоды другие, чем и дурит протекторы. Конечно подсчет CRC от этого не спасет, но хоть что-то.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 27 июня 2014 07:22
· Личное сообщение · #8

это окно не от Olly Advanced, а от ODbgScript

читать тут http://exelab.ru/f/action=vthread&forum=3&topic=13409&page=3

-----
[nice coder and reverser]


| Сообщение посчитали полезным: kola1357

Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 27 июня 2014 16:53
· Личное сообщение · #9

Хорошо, что это не Advanced глюк, ODBgScript пропатчил и окошко пропало.
Но вот продолжаю дальше исследования этого плагина. Теперь решил посмотреть опцию Anti-anti HardWare BP. Взял программу для теста, покрытую Vmprotector. В качестве антиотладки прот использует: IsDebuggerPresent, ZwQueryInformationProcess, ZwClose и палит программные бряки, в том числе и бряк на точке входа. Так как в Advanced нет защиты от ZwClose, то добавил плагин SkyllaHide, в котором установил галки только на эти функции.

Про ZwClose пару слов. Эта функция генерирует исключение под отладчиком Invalid_handle, если ей передать для закрытия несуществующий handle, а вне отладчика она просто возвращает код ошибки. На этом тут и основа антиотладка.

Поставил Hard bp на апи ZwQueryInformationProcess, программа запускается без остановки на этой функции, бряк не обнаружен, но и остановки не было, видимо в контексте стерла тихо его.
Хотя программный бряк на эту функцию остановку вызвал. И Api Monitor показывает, что прога эту функцию использует.
То есть можно сделать вывод, что в плагине галочка Anti-anti hardware bp не работает должным образом.

Тест проводил также на Vwware win xp sp2.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 27 июня 2014 17:32
· Личное сообщение · #10

Advanced для хайда не слишком хорош. Если интересные другие его опции, то их можно использовать, поставив Advanced первым в списке, а другой хайдящий плагин - последним.



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 27 июня 2014 18:20
· Личное сообщение · #11

Gideon Vi пишет:
поставив Advanced первым в списке, а другой хайдящий плагин - последним.

А как изменять порядок загрузки плагинов ? На сколько я знаю они по именам сортируются при загрузке, то есть плагины на букву A будут грузиться первыми, а потмо плагины на букву B и так далее.



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 27 июня 2014 18:43
· Личное сообщение · #12

kola1357 пишет:
А как изменять порядок загрузки плагинов ? На сколько я знаю они по именам сортируются при загрузке, то есть плагины на букву A будут грузиться первыми, а потмо плагины на букву B и так далее.

Весь ответ уже в вопросе... переименовать файлы в 1_pluginname.dll, 2_pluginname.dll...



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 27 июня 2014 19:08
· Личное сообщение · #13

Gideon Vi пишет:
Advanced для хайда не слишком хорош

А что тогда использовать для скрытия хардных бряков ?




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 27 июня 2014 19:33
· Личное сообщение · #14

kola1357 пишет:
А что тогда использовать для скрытия хардных бряков ?


strong, phantom. Может ещё ScyllaHide, но я его не смотрел.

зы: из десятка случаев, когда мне требовались hw, в четырех их использовала программа, или прот на ней...



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 28 июня 2014 10:45
· Личное сообщение · #15

kola1357 пишет:
использовать для скрытия хардных бряков




0db3_28.06.2014_EXELAB.rU.tgz - OllyExt 1.8.png



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 28 июня 2014 12:20
· Личное сообщение · #16

sendersu, а вот там вижу ProtectDRX и HideDRX, а в чем различие у них ?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 июня 2014 21:40
· Личное сообщение · #17

Видимо, 1 защищает от перезаписи, а второй от чтения. Совсем лень самому взять, потыкать и разобраться?



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 29 июня 2014 02:24 · Поправил: kola1357
· Личное сообщение · #18

Archer пишет:
Совсем лень самому взять, потыкать и разобраться?

Я работаю на первой версии ольки. А плагин как я выяснил для 2 версии. А она еще урезанная, поэтому приходиться работать на первой.



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 29 июня 2014 11:39
· Личное сообщение · #19

Вот краткий перечень баг, что автор Олли порешал во второй версии
http://prntscr.com/3xl4iv

да, плагин OllyExt только для 2-ки
на 1ой вагон и тележка своих хватает.




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 12 июля 2014 02:05
· Личное сообщение · #20

Вот собирал те багфиксы, которые можно запатчить без внедрения дополнительного кода (если кто дополнит/поправит - было бы гуд):

Code:
  1. phantom
  2.  
  3. 4AA2F2 >> DD08 //FPU SSE3
  4. 4AA2EE >> EB   //(FPU bug patched [JMP]
  5. 4313A5 >> 9090909090 //OutputDebugStr
  6. 45C671 >> EB //NumOfRvaAdnSizes patched
  7. 45DB45 >> EB3F //Outside message patched
  8. -------------------------------------------
  9. olly_advanced:
  10. copy to executable:
  11. 422658 >> 00
  12. 422662 >> 00
  13.  
  14. winupack:
  15. 0045d5df >> 00
  16. 0047F30F >> EB
  17. 0045D7C9 >> 90E9
  18.  
  19. Entrypointwarning:
  20. 0045DB81 >> 83C4109090
  21.  
  22. compressedcodehandling
  23. 0047F5C8 >> 83C4109090
  24. 0047F5D3 >> 00 //not analys
  25.  
  26. dllloading:
  27. 00477709 >> 83C4109090
  28.  
  29. dllload:
  30. 00477711 >> EB
  31.  
  32. fixtermination
  33. 0047599F > EB
  34.  
  35. ignoreexporttable:
  36. 45cde7 > 00
  37. 45CBAA > 00
  38. -----------------------------------------------------
  39. Strong:
  40.  
  41. Fix Foreground Window
  42. 0043A1FB>EB
  43.  
  44. pe bugs
  45. 0045C671 > EB
  46. 0045D827 > 7479893CCA
  47. 0045D8B7 > 909090909090
  48. 004C870A > 2B31382B25422A323820202020202020202020
  49.  


-----
ds


| Сообщение посчитали полезным: Jaa, unknownproject

Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 12 июля 2014 02:23 · Поправил: unknownproject
· Личное сообщение · #21

DimitarSerg пишет:
Вот собирал те багфиксы, которые можно запатчить без внедрения дополнительного кода (если кто дополнит/поправит - было бы гуд):

Добавлю еще от себя, так как вышеописанное находил сам.

Code:
  1. 004353EB     74 05         JNZ -> JE SHORT olly_.004353F2 //SeDebugPrivilege [OpenProcess]
  2. "Bad or unknown format of 32-bit executable file '%s'"
  3. 0045DCD7   /75 13                  JNZ -> JMP SHORT DiViNED_.0045DCEC
  4.  
  5. "Unable to set breakpoint"
  6. 004197DD   /74 35                  JE -> JMP SHORT DiViNED_.00419814
  7.  
  8. "Breakpoint corrupted!"
  9. 00418CAA   /0F84 DA000000  JE -> JMP DiViNED_.00418D8A
  10.  
  11. "Unable to restore breakpoint"
  12. 00418DDD   /75 30                 JNZ -> JMP SHORT DiViNED_.00418E0F

Ps.Тестил чистую олю с помощью Extreme Debugger Detector 0.50, которая, собственно и помогла идентифицировать многие отладочные трики.

-----
TEST YOUR MIGHT





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 12 июля 2014 02:46
· Личное сообщение · #22

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



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 12 июля 2014 03:13
· Личное сообщение · #23

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

Ну это уже вопрос привычки.Если годный инструмент охота юзать, то даже так заморачиваться будешь.Антиотладочных триков масса и полагаться на плагины все же не стоит, а с учетом того, что многие из них в основном на XP работали, то приходится и поизвращаться в поисках решения вручную

-----
TEST YOUR MIGHT





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 12 июля 2014 03:19
· Личное сообщение · #24

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


думаете, будет править 1,10? В 2.х это уже исправлено.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 12 июля 2014 03:26
· Личное сообщение · #25

тему тогда как то подправить что ли, что это не Олли андванцед а кастом олд билд by фанаты




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 12 июля 2014 06:52
· Личное сообщение · #26

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




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 12 июля 2014 11:51
· Личное сообщение · #27

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

можно создать тему и обозвать, например набор исправлений для OllyDbg 1.10 ?

-----
[nice coder and reverser]





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 12 июля 2014 12:29
· Личное сообщение · #28

Hellspawn пишет:
можно создать тему и обозвать, например набор исправлений для OllyDbg 1.10 ?

Не можно а нужно ))

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.



 eXeL@B —› Софт, инструменты —› Баг в Olly Advanced
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати