Сейчас на форуме: _MBK_, Rio (+5 невидимых)

 eXeL@B —› Вопросы новичков —› странный вызов MessageBoxA
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 августа 2008 12:55
· Личное сообщение · #1

Всем привет
Вобщем ковыряю одну прогу, там защита на дебаггер. И при запущенном дебаггере она сообщает что так мол и так сначала выруби дебугер потом запускай. Ставлю бряк на MessageBoxA, после отработки функции управление возвращаеться той проге на адрес A478E2, смотрю выше jmp`ы. Ставлю бряки на джампы, колы (рядом с этим адресом), и они не срабатывают ! Т.е. явного вызова типа Call MessageBox нет, а откуда он вызываеться я не знаю. И не знаю как узнать А если этот вызов вобще делаеться как нибудь так: MOV EIP, 77D7050B. Тогда вобще Поделитесь опытом пожалуйста как отловить этот вызов ?



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

Создано: 21 августа 2008 13:03
· Личное сообщение · #2

А прогу может выложишь?




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

Создано: 21 августа 2008 13:08 · Поправил: ClockMan
· Личное сообщение · #3

MaStak Что утебя за деббугер? Если Olly то скачай отсюда плагин для сокрытия Olly:
http://www.tuts4you.com/request.php?57 http://www.tuts4you.com/request.php?57 и поставь там все галочки, впринцепе должно помочь.

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





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 21 августа 2008 17:23
· Личное сообщение · #4

MaStak
Попробуй на память поставить точку останова, на чтение текстовой строки, что в окошке появляется.
В олли жмешь alt-m, там ctrl-b, пишешь текст и ищешь.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





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

Создано: 21 августа 2008 17:47
· Личное сообщение · #5

Вызов действительно может происходить неудобно, что отслеживать его тяжко. Варианта 2: трассировка (возможно автоматическая) и разглядывание лога; забить болт на мессагу и искать чтение серийника или другие события. Есть изощрённые варианты типа смотреть Last branch в MSR регистрах, которые софт айс кажет, но варя их не эмулит.



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 августа 2008 18:54 · Поправил: MaStak
· Личное сообщение · #6

спасибо за ответы
Veliant
Это декомпилятор Ex4 to Mq4 - www.rapidshare.ru/760548
ClockMan
Мне Syser приглянулся А при попытке загрузки этой проги через ольку падают обе
Crawler
Я знаю адрес этой строки, но она видишь ли вызываеться почемуто из MessageBox.
Archer
Вот насчёт " или другие события" это интересно. Только вот не знаю я какая гадкая функция сдаёт отладчика, а потому и не знаю что искать. Хотел начать с хвоста и постепенно подойти к тому месту где прога решает Be or Not to Be. Насчёт "Last branch в MSR " чессно говоря не понял, наверно ещё рано.
А ведь какая интересная замута, ложит в стек подставной обратный адрес и обычным джампом уходит в функцию и никаких следов ...
Вот если бы бряк можно было ставить не на адрес, а на значение какого либо регистра(тогоже eip например)



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 августа 2008 21:27
· Личное сообщение · #7

Нашол. Это IsDebuggerPresent
Code:
  1.                                 IsDebuggerPresent              
  2. 7C812E03 64A118000000         MOV   EAX,FS:[00000018]        
  3. 7C812E09 8B4030                     MOV   EAX,[EAX+30]             
  4. 7C812E0C 0FB64002                 MOVZX EAX,BYTE PTR [EAX+02]    
  5. 7C812E10 C3                   RET

И опять вызываеться както через
Она на самом деле из 3 строк ? Как она работает ?
Результат помещаеться CX ?



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

Создано: 24 августа 2008 21:51
· Личное сообщение · #8

MaStak
даже из кода видно что результат помещается в EAX
Почитай --> Вот тут <-- http://wasm.ru/article.php?article=ollydbg19 , здесь как раз подробно описывается работа IsDebuggerPresent



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 августа 2008 22:58
· Личное сообщение · #9

tihiy_grom
Спасибо. Я про СХ спросил потому что:
1. IsDebuggerPresent возвращает либо True либо False
2. Единственный регистр который имеет значение до входа в функцию 0 а после выхода 1, это ЕСХ.



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 августа 2008 23:00
· Личное сообщение · #10

wasm.ru не открываеться, и уже давно.



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 24 августа 2008 23:13
· Личное сообщение · #11

MaStak
Вообще-то васм живой,попробуй открыть его через какой нибудь анонимайзер/прокси.



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

Создано: 24 августа 2008 23:13
· Личное сообщение · #12

MaStak
Он отлично открывается и уже давно - выбрось своего провайдера
И пользуйся правкой постов ...

rapidshare.com/files/139825022/19.mht.html



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 августа 2008 23:38
· Личное сообщение · #13

Ну вот. А я в кеше гугла шарюсь
64.233.183.104/search?q=cache:89xPsGU7HyQJ:www.wasm.ru/article.php%3Farticle%3Dollydbg19+http://wasm.ru/article.php%3Farticle%3Dollydbg19&hl=ru&ct=clnk&cd=1



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 августа 2008 22:19
· Личное сообщение · #14

Увы, IsDebuggerPresent оказалось всего лишь ширмой. Либо для выявления отладки в защищённом режиме. Кстати, вы знали что есть ещё вариант Syser'a работающий в защищённом режиме www.sysersoft.com/download/SyserWin32Debugger.zip.

Какие функции могут использоваться для отлова отладки в реальном режиме ? OpenFile, CreateFile вроде не используються Я пробовал ставить хук на StringToChr, прога явно шарит в поиске драйвера отладки.
И ещё, хоть на разных машинах адреса могут и отличаться, но на всякий случай, нашёл какой-то странный адрес (в разных прогах один и тотже) 5B291BE8, там либо 0 либо 1, подозреваю что там результат функции выявления отладки, у кого-нибудь такое было ?




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

Создано: 26 августа 2008 17:54
· Личное сообщение · #15

Чо-то мне всегда казалось, что винда как раз и работает в защищённом режиме. Причём тут реальный режим и функции винды, я себе слабо представляю. А адрес похож на адрес какой-то системной либы... Взял бы ты сборку ольки, которая не особо палится антидебагом, а не изобретал сам колесо, пока ещё опыта немного...



Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 августа 2008 15:32 · Поправил: NDD
· Личное сообщение · #16

MaStak Интересует, есть какие-нибудь подвижки в ковырянии? Чего-нить получается? Здесь вот (http://www.exelab.ru/f/action=vthread&forum=10&topic=5986& page=12#12, пост 16 )пишут, что в демке вообще не заложено возможности декомпилировать весь код, она всегда делает только первую функцию. Что скажешь?



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2008 12:50
· Личное сообщение · #17

Archer
Я имел ввиду толькото что, IsDebuggerPresent выявляет факт отладки, если отладчик "защищённый" а не "реальный". Олька же тоже "защищённый". Еслиж я запускаю "реальный", он замораживает всё, ни один процесс не может шевельнуться. Обратите внимание на часы внизу справа, они тоже перестают обновляться. И вот если винда находиться в такой нирване, IsDebuggerPresent бесполезен. Она в ЕАХе возвращает 0, т.е. какбудто отладки нет. А в защищённой версии 1. Сборка Ольки у меня с вашего сайта от TSRh, я уже писал что при запуске с ней закрываеться и и она и прога.
NDD
Мне интересна только защита, т.к. ну ооочень крута сделана.




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

Создано: 28 августа 2008 13:19
· Личное сообщение · #18

Сборки ольки недостаточно зачастую дла борьбы с антиотладкой, плагины ручками треба натыкать типа PhantOm и галочки в плагинах руками потоптать нужные.
Что за защищённый и реальный отладчик я тоже слабо представляю. Режим работы процессора один, просто олька работает на 3 кольце защиты, а сайс на 0, используя драйвер и задирая иркл, что система и подвисает. Возможно, в меня сейчас полетят тучи помидоров за непонимание и тд, но шёл бы ты лучше статьи почитал про процессор, как работает олька, про дебаг апи, про антиотладку, топики про фантом и методы антиотладки, а потом уже хватался ломать.



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2008 20:36 · Поправил: MaStak
· Личное сообщение · #19

оК
www.xakep.ru/post/22444/default.asp




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

Создано: 28 августа 2008 22:06
· Личное сообщение · #20

Ты год то видел? Он вообще пишет vxd-дров, это ж старьё что ппц. Особо не разбирался, но неактуально, короче. И вообще ксакеп никогда не был для меня авторитетом в последней инстанции.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 29 августа 2008 00:59
· Личное сообщение · #21

По симптомам EXECryptor ковыряет

-----
Yann Tiersen best and do not fuck




Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 30 августа 2008 08:30
· Личное сообщение · #22

Code:
  1. ;Перед выполнением команды
  2. 00F860A2 9C                   PUSHFD                        ;eFlag=202, но в стек ложит 302
  3. 00F860A3 880C24               MOV   [ESP],CL            ;ESP=12F6CC(302h) ECX=40h
  4. 00F860A6 FD                   STD                       ;ESP=12F6CC(340h)
  5. 00F860A7 897C2408             MOV   [ESP+08],EDI             
  6. 00F860AB 0FB6FB               MOVZX EDI,BL                   
  7. 00F860AE 5F                   POP   EDI                      
  8. 00F860AF 89C7                 MOV   EDI,EAX                  
  9. 00F860B1 FD                   STD                            
  10. 00F860B2 60                   PUSHAD                         
  11. 00F860B3 FC                   CLD                            
  12. 00F860B4 60                   PUSHAD                         
  13. 00F860B5 FC                   CLD                            
  14. 00F860B6 E907070000           JMP   00F867C2

Можно на пальцах обьяснить, почему при трассировке команды STD комп перезагружаеться ?



Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 августа 2008 18:25
· Личное сообщение · #23

команда STD устанавливает флаг SF отвечающий за направление работы строковых функций... точнее увеличение или уменьшение значения адреса (вродь так, а то меня сегодня что-то глючит)
сама команда ребут вызвать не может, значит вероятно она устанавливает драйвер и он палит отладку... хз еще что сказать



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 30 августа 2008 23:29
· Личное сообщение · #24

SL7549
Обращаю внимание, именно при ТРАССИРОВКЕ. Т.е. если пройтись по этому месту от бряка до бряка в режиме выполнения. всё нормально исролняеться, никаких ребутов. Я прдположил что это антитрассировочный приём, ... или глюк дебагера . Попроую в SoftIce.




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

Создано: 31 августа 2008 02:14
· Личное сообщение · #25

MaStakСам вызов функции PUSHFD Уже на водит на мысль что программа пытаеться определить взведён флаг трассировки или нет.

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





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

Создано: 01 сентября 2008 10:45
· Личное сообщение · #26

Кладёт флаги по pushfd, трассируешь-потому и кладёт 302 вместо показываемых 202. Но дальше всё равно это значение не используется. В данном коде не юзается антиотладка. И уж подавно не уйдёт в ребут на STD никаким образом. Насчёт драйвера-хз, ибо прогу не смотрел.
Целеустремлённость-дело, безусловно, хорошее, но, может, уже пора внять пожеланиям и поучиться на чём-нибудь попроще, а потом уже хвататься за это?



Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 01 сентября 2008 14:39
· Личное сообщение · #27

Archer
Кроме этой я занимаюсь ещё 2 прогами. Пока по этой глухо, занимаюсь теми. Как появляеться интересная мысля снова возвращаюсь к ней. Вот в этот раз ушёл на 14020 команд от EP Дальше STD помешало Кстати в других прогах реакция на трассировку STD аналагичная - ребут.
Прога на самом деле не лёгкая ибо написана крэкером, он то уж знал как взламываються проги.




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

Создано: 01 сентября 2008 14:51
· Личное сообщение · #28

MaStakВыложи прогу, мне самому интерессно на неё взглянуть.А вдругих отладчиках такаяже ерунда? или ты непробовал.

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




Ранг: 4.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 01 сентября 2008 20:48 · Поправил: MaStak
· Личное сообщение · #29

ClockMan
Даг выкладывал, пост №6
Чтоб проверить можно в масме набить этот кусок, мне кажеться результат будет такой же, не знаю не пробовал

offtop: 1.09.2008 - сегодня я первый раз в жизни взломал прогу




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

Создано: 02 сентября 2008 02:16
· Личное сообщение · #30

занятная прога ex4_to_mq4 - она здесь в нескольких топиках одновременно фигурирует в вяло текущей форме.
здесь еще один
-http://www.board4all.cz/showthread.php?t=109394


. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› странный вызов MessageBoxA
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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