Сейчас на форуме: zds, -Sanchez- (+9 невидимых)

 eXeL@B —› Протекторы —› Объясните как найти спертые байты
. 1 . 2 . 3 . >>
Посл.ответ Сообщение


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

Создано: 07 ноября 2005 22:00
· Личное сообщение · #1

Здравствуйте!
Пытаюсь распаковать прогу.

Дохожу до куска типа:
00489EE6 0000 ADD BYTE PTR DS:[EAX],AL
00489EE8 0000 ADD BYTE PTR DS:[EAX],AL
00489EEA 0000 ADD BYTE PTR DS:[EAX],AL
00489EEC 0000 ADD BYTE PTR DS:[EAX],AL
~~~~~~~~~~~~~~~~~~~~~~~
00489F0E 0000 ADD BYTE PTR DS:[EAX],AL
00489F10 0000 ADD BYTE PTR DS:[EAX],AL
00489F12 00FF ADD BH,BH
00489F14 15 F8C04800 ADC EAX,Electra.0048C0F8
00489F19 59 POP ECX
00489F1A 830D 84B24900 FF OR DWORD PTR DS:[49B284],FFFFFFFF
00489F21 830D 88B24900 FF OR DWORD PTR DS:[49B288],FFFFFFFF
00489F28 FF15 F4C04800 CALL DWORD PTR DS:[48C0F4] ; MSVCRT.__p__fmode

00489EE6 - ОЕП.
То есть имею более 40 спертых байт.
Как их найти?
Пытался по статье, но у меня не работает команда TC EIP>00900000.
Если и работает то пошагово, Enter - Шаг. Мож что в настройках?




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 07 ноября 2005 22:52
· Личное сообщение · #2

AVE
Во-первых,что за программа?
Во-вторых,чем запакована?

-----
the Power of Reversing team




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

Создано: 08 ноября 2005 04:37
· Личное сообщение · #3

Сделай backtrace бракнувшись на
00489F28 CALL DWORD PTR DS:[48C0F4] ; MSVCRT.__p__fmode




Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 08 ноября 2005 05:27
· Личное сообщение · #4

AVE
Ты видимо > и < перепутал, если идет по шагам, значит твоё условие выполнилось и ты находишься по адресам >900000

-----
Подписи - ЗЛО! Нужно убирать!




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

Создано: 08 ноября 2005 12:05
· Личное сообщение · #5

в коммандной строке в начале пишешь
tc eip>900000
этим ты задаешь условие поиска, затем там же
tc
и начинается собстно сам трейс




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

Создано: 08 ноября 2005 20:24
· Личное сообщение · #6

nice

По статье
Shift+F9 минус один
00AD2D19 3100 XOR DWORD PTR DS:[EAX],EAX
00AD2D1B 64:8F05 00000000 POP DWORD PTR FS:[0]
00AD2D22 58 POP EAX
00AD2D23 833D 806DAD00 00 CMP DWORD PTR DS:[AD6D80],0
00AD2D2A 74 14 JE SHORT 00AD2D40
00AD2D2C 6A 0C PUSH 0C
00AD2D2E B9 806DAD00 MOV ECX,0AD6D80
00AD2D33 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
00AD2D36 BA 04000000 MOV EDX,4
00AD2D3B E8 14E1FFFF CALL 00AD0E54
00AD2D40 FF75 FC PUSH DWORD PTR SS:[EBP-4]
00AD2D43 FF75 F8 PUSH DWORD PTR SS:[EBP-8]
00AD2D46 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00AD2D49 8338 00 CMP DWORD PTR DS:[EAX],0
00AD2D4C 74 02 JE SHORT 00AD2D50
00AD2D4E FF30 PUSH DWORD PTR DS:[EAX]
00AD2D50 FF75 F0 PUSH DWORD PTR SS:[EBP-10]
00AD2D53 FF75 EC PUSH DWORD PTR SS:[EBP-14]
00AD2D56 C3 RETN <- бряк

Далее Alt+F1 и пишем в строке: TC EIP<900000
и попадаю на код типа:

00AE3E38 E9 0D090000 JMP 00AE474A
00AE3E3D F8 CLC
00AE3E3E E0 17 LOOPDNE SHORT 00AE3E57
00AE3E40 5F POP EDI
00AE3E41 C7 ??? ; Unknown command
00AE3E42 F7DB NEG EBX
00AE3E44 54 PUSH ESP
00AE3E45 EF OUT DX,EAX ; I/O command
00AE3E46 0E PUSH CS
00AE3E47 1C 39 SBB AL,39
00AE3E49 72 3D JB SHORT 00AE3E88
00AE3E4B 49 DEC ECX
00AE3E4C 52 PUSH EDX
00AE3E4D 7E 47 JLE SHORT 00AE3E96
00AE3E4F 8E1D F8A47B56 MOV DS,WORD PTR DS:[567BA4F8] ; Modification of segment register
00AE3E55 CC INT3

Вот потом то и по шагово, Enter - Шаг.
Разве так и должно быть?




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

Создано: 08 ноября 2005 20:27 · Поправил: AVE
· Личное сообщение · #7

DillerInc

Во-вторых,чем запакована?

ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov

Про то, что 00489EE6 - ОЕП, это точно. Знаю и спертые байты.
Предварительно распокавал Stripper-ом



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

Создано: 08 ноября 2005 20:40
· Личное сообщение · #8

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

-----
Само плывет в pуки только то, что не тонет.




Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 09 ноября 2005 02:53
· Личное сообщение · #9

AVE
Может у тебя исключение срабатывает?

00AE3E38 - когда на этой строке стоишь, олька что пишет?

-----
Подписи - ЗЛО! Нужно убирать!





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

Создано: 10 ноября 2005 09:49
· Личное сообщение · #10

nice
1) Может у тебя исключение срабатывает?

2) 00AE3E38 - когда на этой строке стоишь, олька что пишет?


1) Как это узнать, что тогда делать?

2) ни чего не пишет. когда оказываюсь на этой строке, в командной
строке еще раз выполняю команду tc eip>900000, оказываюсь тут:

00B54A4A 0FBFEF MOVSX EBP,DI <= здесь
00B54A4D 0FBAED CC BTS EBP,0CC <= Enter уже здесь, и так далее
00B54A51 B9 B269B295 MOV ECX,95B269B2
00B54A56 81F1 0935CF41 XOR ECX,41CF3509
00B54A5C 81F1 39CC4D8A XOR ECX,8A4DCC39
00B54A62 8BF9 MOV EDI,ECX
00B54A64 8AC3 MOV AL,BL
00B54A66 B8 02B0649E MOV EAX,9E64B002
00B54A6B F7D0 NOT EAX
00B54A6D 8BD0 MOV EDX,EAX



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 10 ноября 2005 10:05
· Личное сообщение · #11

AVE
Ты не обработал SEH(исключение) из-за этього тебя выкинуло куда попало
Когда окажешься тут 00AE3E38 нажми Shift+F9

-----
Подписи - ЗЛО! Нужно убирать!





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

Создано: 10 ноября 2005 11:06
· Личное сообщение · #12

nice
Ты не обработал SEH(исключение) из-за этього тебя выкинуло куда попало
Когда окажешься тут 00AE3E38 нажми Shift+F9


Прога запускается.



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 10 ноября 2005 12:21
· Личное сообщение · #13

AVE
Поставь бряк на секцию кода
а лучше зайди в меню SEH и на обработчик исключения поставьь бряк

-----
Подписи - ЗЛО! Нужно убирать!





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

Создано: 11 ноября 2005 10:17
· Личное сообщение · #14

Если делать так Shift+F9 минус один, потом бряк на секцию кода.
Попадаю на тот участок кода, который я приводил в самом первом посте.
И так ясно, что это начало программы, вот только, как найти эти спертые байты




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 12 ноября 2005 09:23
· Личное сообщение · #15

AVE
Что за программа? Дай ссылку...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 12 ноября 2005 10:39
· Личное сообщение · #16

AVE
Эх...
Shift+F9 - это продолжить выполнение программы после SEH
Shift+F8 - это аналог F8 c обработкой SEH, по этому тебе нужно использовать именно его

-----
Подписи - ЗЛО! Нужно убирать!





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

Создано: 12 ноября 2005 15:07
· Личное сообщение · #17

ValdiS

www.alawar.com/download/Electra.exe

nice
Объясни в какой момент нужно использовать Shift+F8?




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 12 ноября 2005 17:53
· Личное сообщение · #18

AVE пишет:
ни чего не пишет. когда оказываюсь на этой строке, в командной
строке еще раз выполняю команду tc eip>900000, оказываюсь тут:

Поменяй знак, т.е. TC EIP<900000 - nice писал же тебе уже... Все нормально трейсится, но долго, правда...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 12 ноября 2005 19:36
· Личное сообщение · #19

В итоге, когда трейс закончился, по "серому минусу" нашел, что спертые байты лежат явно даже без мусора:
00B14218 55 PUSH EBP
00B14219 8BEC MOV EBP,ESP
00B1421B 6A FF PUSH -1
00B1421D 68 18004900 PUSH 490018
00B14222 68 C89C4800 PUSH 489CC8 ; JMP to msvcrt._except_handler3
00B14227 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00B1422D 50 PUSH EAX
00B1422E 64:8925 00000000 MOV DWORD PTR FS:[0],ESP
00B14235 83EC 68 SUB ESP,68
00B14238 53 PUSH EBX
00B14239 56 PUSH ESI
00B1423A 57 PUSH EDI
00B1423B 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00B1423E 33DB XOR EBX,EBX
00B14240 895D FC MOV DWORD PTR SS:[EBP-4],EBX
00B14243 6A 02 PUSH 2


AVE, все работает на ура... Подправил имя и вперед...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

Создано: 13 ноября 2005 22:01
· Личное сообщение · #20

ValdiS

С тем, что знак нужно поменять я уже догнал и так.
Но все равно не получается .

Распиши, пожалуйста, по пунктам, где и как правильно давить, и что писать.

Очень поможешь!!!




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 14 ноября 2005 12:40
· Личное сообщение · #21

AVE пишет:
Распиши, пожалуйста, по пунктам, где и как правильно давить, и что писать.

Хорошо, сделаю минитутор.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 04 декабря 2005 11:19
· Личное сообщение · #22

AVE
Как и обещал... http://exelab.ru/rar/dl/CRACKLAB.rU_27.rar
Лучше поздно, чем никогда.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

Создано: 05 декабря 2005 20:29
· Личное сообщение · #23

ValdiS
Я уже заждался
Огромное спасибо, буду пробывать




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

Создано: 05 декабря 2005 22:46
· Личное сообщение · #24

ValdiS
По статье:
489B13h – 489AE6h = 2Dh = 45 Т.е. 45 байт нам необходимо найти. Выполним steps back, используя «серый минус». Полученный результат на рисунке 11.


Как это понять? Опиши здесь по подробнее! Как выполнить steps back




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 05 декабря 2005 23:11
· Личное сообщение · #25

AVE
Выполним steps back, используя «серый минус».

Написано же использовать серый минус

-----
Computer Security Laboratory





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 06 декабря 2005 10:30
· Личное сообщение · #26

AVE
Посмотри русскую справку к OllyDBG clabz.com/hot/ollydbg_help.rar Там много интересного...

AVE пишет:
Выполним steps back, используя «серый минус»

После трассировки нажми клавишу «серый минус» (та, которая возле цифровой клавиатуры) да посмотри, что получается... Очень удобная штука.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

Создано: 06 декабря 2005 19:12
· Личное сообщение · #27

Все понял и за все спасибо!




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 07 декабря 2005 09:23
· Личное сообщение · #28

AVE
Удачи в исследованиях...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

Создано: 08 декабря 2005 10:36
· Личное сообщение · #29

ValdiS
Еще вопрос.
Запускаем трассировку Trace into. Ждем-с…

Долго ждать?

Вообще должно ли в отладчике в этот момент, что-то скакать, мелькать, прыгать?

У меня ни чего не происходит, в правом нижнем углу написано Tracing. И все.

P.S. Может я и тупой вопрос задал




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 08 декабря 2005 14:09
· Личное сообщение · #30

AVE пишет:
Запускаем трассировку Trace into. Ждем-с…
Долго ждать?
Вообще должно ли в отладчике в этот момент, что-то скакать, мелькать, прыгать?
У меня ни чего не происходит, в правом нижнем углу написано Tracing. И все.

Вроде все так и должно быть. Просто жди. Скорость трассировки зависит от "мощности" твоего компа.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться



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


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