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

 eXeL@B —› Основной форум —› Помогите найти OEP (ExeCryptor)
. 1 . 2 . 3 . >>
Посл.ответ Сообщение

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

Создано: 25 июля 2007 11:09
· Личное сообщение · #1

Доброго времени суток, ув. знатоки!
Падаю перед вами на коленочки и очень сильно прошу помочь с распаковкой проги упакованой бякой под названием EXECryptor.
По туториалам удалось восстановить импорт, но к сожалению не удалось разобраться как дойти до OEP. Вернее скорее всего я до него доходил, но не сумел понять что это он ибо похоже, что байты скрадены.
Ссылка на прогу на разных обменниках:
slil.ru/24663145
rapidshare.com/files/44899776/TradeBot.rar.html
ifolder.ru/2782974

Размер файла 1,1 метра.

PS: Если все же кто-то будет смотреть её, то может глянет хоть одним глазком какой алгоритм шифрации пакетов там используется? Верно ли мое предположение, что там BlowFish? Собственно конечной целью является не взлом программы, а выяснение алгоритма шифрации, но это я уже сам скорее всего смогу сделать.




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 25 июля 2007 11:19
· Личное сообщение · #2

Trinok, в след раз пеши что за прога.

-----
Researcher





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

Создано: 25 июля 2007 11:20
· Личное сообщение · #3

Trinok
брякнись на 406918 - это 1-й call
в стеке будет адрес дальнейшего пути

ps
лень было взять дельфи-прогу не пакованную и посмотреть окрестности OEP?



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

Создано: 25 июля 2007 11:47
· Личное сообщение · #4

overwriter пишет:
Trinok, в след раз пеши что за прога.


Прошу прошения. Спешил и забыл написать.
Исправляюсь. Программа называется TradeBot.
Это торговый бот для игрового сервера LineAge



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 25 июля 2007 12:17
· Личное сообщение · #5

Trinok пишет:
По туториалам удалось восстановить импорт, но к сожалению не удалось разобраться как дойти до OEP

Недавно была тема по криптору там разжевывалось как найти оеп ищи по форуму..




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 26 июля 2007 11:24
· Личное сообщение · #6

http://exelab.ru/f/action=vthread&forum=1&topic=9470

Вот этот топик тебе точно нужон будет!

-----
One death is a tragedy, one million is a statistic.




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 27 июля 2007 04:27
· Личное сообщение · #7

Trinok

держи
rapidshare.com/files/45274492/TradeBotU_.rar



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

Создано: 27 июля 2007 08:17
· Личное сообщение · #8

pavka

Спасибо, но экзешник не запускается
Пробовал поменять EP на 007553FA E8 C4AFEEFF call TradeBot.006403C3
Все равно падает.



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 27 июля 2007 09:44
· Личное сообщение · #9

Trinok
Я снимал под XP SP2 возможно у тебя другая ось? где падает?



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

Создано: 27 июля 2007 09:59
· Личное сообщение · #10

У меня Windows XP SP2
Я пробовал на 3-х разных машинах. Везде один результат.
Падает при запуске.

Вот лог от Оли

Log data
Address Message
>> Status: EP break deleted
008E488E INT3 command at TradeBot.008E488E
008E4BED INT3 command at TradeBot.008E4BED
008E17B6 INT3 command at TradeBot.008E17B6
0078C0BC Access violation when reading [77D5F3C6]
77D5F3C6 Access violation when executing [77D5F3C6]
008E76AE INT3 command at TradeBot.008E76AE
008E1BE6 INT3 command at TradeBot.008E1BE6
7C80B870 Access violation in KERNEL32 ignored on request
76390000 Module C:\WINDOWS\system32\IMM32.DLL
69450000 Module C:\WINDOWS\system32\faultrep.dll
769C0000 Module C:\WINDOWS\system32\USERENV.dll
76360000 Module C:\WINDOWS\system32\WINSTA.dll
5B860000 Module C:\WINDOWS\system32\NETAPI32.dll
76F50000 Module C:\WINDOWS\system32\WTSAPI32.dll
77920000 Module C:\WINDOWS\system32\SETUPAPI.dll
77B40000 Module C:\WINDOWS\system32\Apphelp.dll
5B860000 Unload C:\WINDOWS\system32\NETAPI32.dll
69450000 Unload C:\WINDOWS\system32\faultrep.dll
76360000 Unload C:\WINDOWS\system32\WINSTA.dll
769C0000 Unload C:\WINDOWS\system32\USERENV.dll
76F50000 Unload C:\WINDOWS\system32\WTSAPI32.dll
77920000 Unload C:\WINDOWS\system32\SETUPAPI.dll
008E488E INT3 command at TradeBot.008E488E
008E4BED INT3 command at TradeBot.008E4BED
008E56B3 Access violation when reading [545C706F]
Process terminated, exit code C0000005 (-1073741819.)




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

Создано: 27 июля 2007 11:30 · Поправил: r99
· Личное сообщение · #11

http://ifolder.ru/2808172 http://ifolder.ru/2808172 - анпакнутый


ps
попутно вопрос-
в Total Commander сравниваю 2 бинарных файла - но опция редактирования не пашет
Чем можно еще редактировать при сравнении 2-х файлов?



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

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

Trinok
Хм..77D5F3C6 страный адрес kernel для второго пака
Падает из за внутреней таблицы похоже у тебя адреса системных библиотек другие
ОЕП я тебе дал аж две штуки импорт ты пишешь восстановил в чем проблема то?



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 27 июля 2007 14:20 · Поправил: Demon666
· Личное сообщение · #13

r99 пишет:
в Total Commander сравниваю 2 бинарных файла - но опция редактирования не пашет

Хз. я его сравниловку не юзаю, но может быть файл открыт другой программой, который ты пытаешься редактировать, а та прога запрещает его редактировать.., или файл является только для чтения, короче бывает такое иногда из-за тупых ограничений в прогах…
[ADD]
Хм.. ща посмотрел точно, не редактирует непонятно толи он вообще не умеет или в его адцких настройках чего-то надо включить, если он не умеет бинарики редактировать, то непонятно че его пиарят кругом, уже 1о лет кодят и только treeview включили – жесть…%)
r99 пишет:
Чем можно еще редактировать при сравнении 2-х файлов?

r99
Посмотри вот чуток, там вроде как все и обсуждали, может, че подберешь для себя
http://exelab.ru/f/action=vthread&forum=3&topic=8400
http://exelab.ru/f/action=vthread&forum=1&topic=8483
http://www.exelab.ru/f/action=vthread&forum=1&topic=7109
Я пользую частенько Araxis Merge…

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

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

pavka пишет:
страный адрес kernel для второго пака

А есть сборочные паки,не корпоративные или родные,они первыми вышли на рынок.
r99 пишет:
Чем можно еще редактировать при сравнении 2-х файлов?

hiew.7.26 позволяет править,два окна открыл,сравнивай и правь

-----
Чтобы юзер в нэте не делал,его всё равно жалко..




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 28 июля 2007 08:13
· Личное сообщение · #15

Похоже можно с этой фигней боротся вот так! Распаковали как обычно Затем рестарт! Ставим мемори бряк на запись в секцию криптора в данной проге 0074b000 брякнулись F8 копирум секцию и вставлям в дамп . Прот начинает заполнят свою табличку в соответствии с осью, правда в этом случае мы нарываемся на проверку и получаем месагу что файл покоцан , но это не большая проблемма..



Ранг: 35.1 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 28 июля 2007 10:55
· Личное сообщение · #16

r99
Посмотрел фаил распакованный тобой. Понял, что ты дописал стыренные байты с ОЕР вручную.

004A9830 > 55 PUSH EBP
004A9831 8BEC MOV EBP,ESP
004A9833 83C4 F0 ADD ESP,-10
004A9836 B8 B8944A00 MOV EAX,TradeBot.004A94B8
004A983B E8 D8D0F5FF CALL TradeBot.00406918
004A9840 -E9 F0822B00 JMP TradeBot.00761B35 Адрес куда прыгать этим джампом откуда взят?

В нераспакованный проге пытался смотреть куда прыгаем после
00406958 C3 RETN
(предполагаю что ты там подсмотрел куда идёт возврат), но дойти до него не могу, отладчик палится.



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 28 июля 2007 15:19
· Личное сообщение · #17

Посмотрел на нескольких прогах все так и есть вся проблема с внутренней таблицей выеденого яйца не стоит. берешь код криптора сразу после записи в секции и все траблы с осями снимаются



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 28 июля 2007 22:58
· Личное сообщение · #18

Trinok
Попробуй мой распакованный вариант - ifolder.ru/2824666

З.Ы. Тестил на 2-х осях




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

Создано: 28 июля 2007 23:55
· Личное сообщение · #19

RSI
мог бы еще 1.5 метра скинуть и метаморф заодно



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

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

r99
Не понял что ты имел ввиду...




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

Создано: 29 июля 2007 01:07
· Личное сообщение · #21

RSI
BSS



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 29 июля 2007 04:45
· Личное сообщение · #22

RSI пишет:
Не понял что ты имел ввиду.

А что тут понимать.. все и так понятно
r99
Только я не пойму чего ты так долго ждал то ? Распаковал бы сразу пареньку файл ..глядишь и тема с внутреним импортом осталась бы )



Ранг: 35.1 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 29 июля 2007 08:08
· Личное сообщение · #23

RSI
В твоем файле нетоко ОЕР восстановлена. Каким образом ты это восстановил?
004A9828 > 55 PUSH EBP
004A9829 8BEC MOV EBP,ESP
004A982B 83C4 EC ADD ESP,-14 //Почему здесь -14, а не -10?
004A982E B8 B8944A00 MOV EAX,unpacked.004A94B8
004A9833 E8 E0D0F5FF CALL unpacked.00406918
004A9838 A1 645D4600 MOV EAX,DWORD PTR DS:[465D64] //Вот отсюда
004A983D 8B00 MOV EAX,DWORD PTR DS:[EAX]
004A983F E8 9C10FCFF CALL unpacked.0046A8E0
004A9844 A1 645D4600 MOV EAX,DWORD PTR DS:[465D64]
004A9849 8B00 MOV EAX,DWORD PTR DS:[EAX]
004A984B BA 88984A00 MOV EDX,unpacked.004A9888 ; ASCII "TradeBot"
004A9850 E8 830CFCFF CALL unpacked.0046A4D8
004A9855 8B0D 7A0F4A00 MOV ECX,DWORD PTR DS:[4A0F7A] ; unpacked.006366B8
004A985B A1 645D4600 MOV EAX,DWORD PTR DS:[465D64]
004A9860 8B00 MOV EAX,DWORD PTR DS:[EAX]
004A9862 8B15 94C64900 MOV EDX,DWORD PTR DS:[49C694] ; unpacked.0049C6E0
004A9868 E8 8B10FCFF CALL unpacked.0046A8F8
004A986D A1 645D4600 MOV EAX,DWORD PTR DS:[465D64]
004A9872 8B00 MOV EAX,DWORD PTR DS:[EAX]
004A9874 E8 FF10FCFF CALL unpacked.0046A978
004A9879 E8 A2ACF5FF CALL unpacked.00404520 //До сюда не понятно.

Поставил бряки на доступ ко всем секциям, кроме двух в которых лежит код проги и импорт. Ни один бряк не сработал. Ты метаморф разгребал?



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

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

Ой ребята. Спасибо Вам огромное всем. Не знал что просьба ньюба в распаковке вызовет такой резонанс.
Вообщем всем Вам респект и уважуха!
А теперь о грустном.
r99
В той версии которую ты дал вроде все работает, но в одном из ключевых кусков если ставить бряк то падаешь до Access Violation. Причем если это место пройти без остановки то все нормально. А очень хочется туда попасть ибо там явно самое то, что нужно сидит.
Собственно вот это место.
004A8B01 8BC7 MOV EAX,EDI
004A8B03 E8 88FBFFFF CALL TradeBot.004A8690
004A8B08 33C0 XOR EAX,EAX

Если зайти в этот CALL и там пару раз перейти по безусловным прыжкам, то пападаем вот в такое место
00797FC8 9C PUSHFD
00797FC9 891C24 MOV DWORD PTR SS:[ESP],EBX
00797FCC 87DD XCHG EBP,EBX
00797FCE 8BEB MOV EBP,EBX
00797FD0 871C24 XCHG DWORD PTR SS:[ESP],EBX
00797FD3 E8 E6DA0000 CALL TradeBot.007A5ABE
00797FD8 2A9E B0E4E877 SUB BL,BYTE PTR DS:[ESI+77E8E4B0]
00797FDE 21FD AND EBP,EDI
00797FE0 FF4B 18 DEC DWORD PTR DS:[EBX+18]

Если дальше трейсить по F8, то ловим аксесс виолатион.
В то же время если стоя на адресе 004A8B01 нажать F9 то программа нормально продолжает работу.
Но она уже умудряется изменить пакет А мне собственно говоря и нужно выцепить этот алгоритм.
Что делать не знаю Просидел пол ночи и ничего понять не смог

RSI
Твой вариант выглядит очень красиво. Даже секции все переименованы, потоков лишних нету, но не работает. Просто ввести любой логин и пароль нажать OK и получаем Access Violation
Программа явно обращается в область памяти в которой ничего нет

pavka
Спасибо тебе огромное за твои советы. Я параллельно пытаюсь все таки разобраться как распаковать этот протектор. Надеюсь ты и дальше будешь помогать новичкам типа меня в этом нелегком деле!

Ещё раз спасибо всем, что вы тратите свое время на помощь новичкам.
Не откажите и на сей раз. Очень хочется довести дело до конца.



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

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

Trinok
Если хочешь могу скинуть вариант с секциями криптора, вдруг заработает нормально

Amok
Я взял прогу на Delphi 6.0 и по сигнам нашел функи из OEP.



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

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

RSI

Давай попробуем. Попытка не пытка Зато вдруг да спасет отца русской демократии



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

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

Trinok пишет:
Если дальше трейсить по F8, то ловим аксесс виолатион.

Трейсить по F7 ;)
RSI
В оригинале наверное ч.з ebx
00774767 8B0D A0CD4A00 mov ecx,dword ptr ds:[4ACDA0] ; TradeBot.006366B8
0077476D 8B03 mov eax,dword ptr ds:[ebx]
0077476F 68 881E7900 push TradeBot.00791E88

------------------------------------------------
0078A74D 8B03 mov eax,dword ptr ds:[ebx] ; TradeBot.0049C6E0
0078A74F 68 739A7B00 push TradeBot.007B9A73
0078A754 ^ E9 8AF0FCFF jmp TradeBot.007597E3
хотя если говорят что запускается то без разницы



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

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

pavka
Пробовал. Результат тот же



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 29 июля 2007 14:19
· Личное сообщение · #29

Trinok пишет:
Пробовал

Ну дак метаморф трейсить это ж не только пальцем F7 тыкать ..




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 29 июля 2007 14:27 · Поправил: kioresk
· Личное сообщение · #30

Trinok,

в твоем варианте для работы программы нужны 3 секции:

1. poly1: 0063A000 — 0063B000 flgd5j64
2. poly2: 0063D000 — 00648000 rk0.64bn
3. poly3: 0074B000 — 007BB000 bneemfco


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

Кроме того, в распакованном RSI файле нет 3-й нужной секции (poly3).

Добавь ее сам:

1. Настрой Olly (Options, Debugging options, Events, Make first pause at, System breakpoint) и отключи все Exceptions
2. Открой запакованный файл
3. Удали бряк на EP (Alt + B, Del)
4. Открой карту памяти (Alt + M)
5. Поставь бряк на запись в память секции poly3 (Правый щелчок на секции, Set memory breakpoint on write)
6. Запусти программу (Shift + F9) — остановишься на заполнении секции (rep movsb)
7. Снимаешь бряк на запись с секции (Alt + M, правый щелчок на секции, Remove memory breakpoint)
8. Возвращаешся в окно дизасма и переходишь в конец цикла заполнения (Alt + C, F4 на первой строке после jmp ...)
9. Заново ставишь бряк на запись в память
10. Shift + F9 — остановишься на исправлении адресов в секции (mov [esi], eax)
11. Снимаешь бряк
12. F4 на первую строку после jg ...

После этого дампь эту секцию и вставляй в распакованный файл. Тоже самое тебе нужно проделать для секции poly2, поскольку в распакованном файле она проинициализирована.


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


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