Русский / Russian English / Английский

Сейчас на форуме: spinz, galenkane, rmn (+5 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Протекторы —› Unpacker ExeCryptor 2.x.x.
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 32 . 33 . >>
Посл.ответ Сообщение

Ранг: 284.8 (наставник)
Статус: Участник

Создано: 3 октября 2007 23:55 · Поправил: Модератор New!
Цитата · Личное сообщение · #1

Unpacker ExeCryptor 2.x.x. version 1.0 RC2 [Public Build]

Вот собственно "дампер" перерос в анпакер, вся необходимая дополнительная информация по опциям
и их применению находится в readme.txt

С пожеланиями и предложениями писать СЮДА!!!

{ Атач доступен только для участников форума } - Unpacker_ExeCryptor_2.x.x._v1.0_RC2.RSI.tPORt.zip

Ранг: 158.7 (ветеран)
Статус: Участник

Создано: 1 января 2008 19:26 New!
Цитата · Личное сообщение · #2

XVortex
Исходя из того, что это первый в мире паблик анпакер криптора, то думаю не стоит к нему предъявлять слишком высокие требования. Основная задача его: распаковывать криптор на exe файлах, а всякие мелочи, типа распаковки dll, можно опустить.


Ранг: 95.2 (постоянный)
Статус: Участник

Создано: 1 января 2008 22:16 New!
Цитата · Личное сообщение · #3

Спасибо.
респект.


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 2 января 2008 03:33 New!
Цитата · Личное сообщение · #4

RSI, молодец.
Еще бы шапку обновить ;)

Ранг: 2.0 (гость)
Статус: Участник

Создано: 2 января 2008 09:00 New!
Цитата · Личное сообщение · #5

Just want to say:
Thank you, impressing and incredible work!

Ранг: 284.8 (наставник)
Статус: Участник

Создано: 3 января 2008 10:54 New!
Цитата · Личное сообщение · #6

Ну и всем спасиб за поздравления.

Думаю, когда появится время, можно будет добавить поддержку распаковки длл.

ТОж сначала думал шапку обновить, но потом решил, что пусть для истории останется...

А насчет грамматических ошибок, ну эт поправлю ( тип тяжко у меня с английским )

Ранг: 1.0 (гость)
Статус: Участник

Создано: 3 января 2008 15:19 New!
Цитата · Личное сообщение · #7

И все же хотелось бы анпак ДЛЛ...очень бы хотелось


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 3 января 2008 23:35 New!
Цитата · Личное сообщение · #8

RSI пишет:
ТОж сначала думал шапку обновить, но потом решил, что пусть для истории останется...


Ну, так можно ссыль оставить старую и внизу новую приписать, а то кто в первый раз будет смотреть ветку форума эту, долго искать будет ссыль ;)

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 5 января 2008 22:42 New!
Цитата · Личное сообщение · #9

Dropped in to thank you very much, RSI, for this tool. I respect you for keeping true to your word and releasing it, as planned, for the public On another note, to all those whining it doesn't work - if it doesn't complete the job (it works in 80% of the cases), I strongly advise you to combine this unpacker with known EC methods. If program gets detected when run in Olly, make sure you patch the most elementary check ever - IsDebuggerPresent API, which isn't covered by this unpacker. Most eC appz still use it, combined with file and memory CRC..

Cheers

Ранг: 284.8 (наставник)
Статус: Участник

Создано: 8 января 2008 10:49 · Поправил: RSI New!
Цитата · Личное сообщение · #10

SunBeam
Give links on progs that has not unpacked, it is interesting to look

Ранг: 23.4 (новичок)
Статус: Участник

Создано: 8 января 2008 12:35 New!
Цитата · Личное сообщение · #11

Распаковывать-то распаковывает, но файло нерабочее получается. В ПМ послал ссылку.

Ранг: 284.8 (наставник)
Статус: Участник

Создано: 8 января 2008 13:39 New!
Цитата · Личное сообщение · #12

К анпакеру это имеет коссвенное отношение, т.к. надо было либо убить потоки криптора, либо восстановить 15 спертых байт с OEP (MS VC++ 6.0). я выбрал второй вариант

Еще есть несрапаковывающиеся файлы? ( с потоками криптора и ненайденными CRC давать не надо )

Ранг: 72.3 (постоянный)
Статус: Участник

Создано: 8 января 2008 15:30 New!
Цитата · Личное сообщение · #13

ага, уже несколько раз за последнее время видел такое, после распаковки у криптора идёт jmp в свою область памяти где лежат спертые байты и идёт проверка crc, только у меня для востановление oep пришлось переписать первые команд 15 это далеко не 15 байт =).

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 8 января 2008 16:13 New!
Цитата · Личное сообщение · #14

As soon as I'll find one, I'll post it Good work

Ранг: 77.7 (постоянный)
Статус: Участник

Создано: 8 января 2008 16:45 New!
Цитата · Личное сообщение · #15

RSI !
спасибо за замечательную тулзу!
свою задачу для меня она выполнила, но если можно, есть некоторые замечания:
1) хотя IDA (5.2) определила функции Delphi6-7 и Delphi2006 Visual Component Library, unpacker компилятора не определил, и OEP не нашел.
OEP нашел я сам.
2) было сперто всего восемь байт: 55 8B EC B9 14 00 00 00, но в разных прогах из пакета 5-й байт имеет различные значения (там цикл с декрементом ecx), подсмотрел его в старой версии.
как эти байты восстанавливать в общем случае?
3) две лишние секции удалены, а можно было удалить еще одну, довольно большую.
подозреваю, что она тоже бы удалилась, если бы байты, стоящие вместо спертых, не отправляли бы в эту секцию.
а вообще-то еше раз спасибо! если эти мои замечания помогут совершенствованию, буду рад.
лог приаттачен, а программа великовата, если потребуется положу на рапидшару.

{ Атач доступен только для участников форума } - proga_u.log

Ранг: 284.8 (наставник)
Статус: Участник

Создано: 8 января 2008 17:29 New!
Цитата · Личное сообщение · #16

Посмотрел лог!

1) В новом Delphi ( т.к. есть секция .itext ) анпакер пока поиск OEP не поддерживает.
2) Восстановлением OEP в общем случае планирую позже занятся ( для VB, Delphi и Borland C++ )
3) Секцию криптора отрезать нельзя, т.к. в 95% случаев даже с восстановленным OEP она нужна ;)

В остальном пожалуйста, и спасиб за пожелания ( наблюдения ).

Ранг: 1045.7 (!!!!)
Статус: Участник

Создано: 8 января 2008 18:37 New!
Цитата · Личное сообщение · #17

ufo_maniac пишет:
5-й байт имеет различные значения (там цикл с декрементом ecx), подсмотрел его в старой версии.
как эти байты восстанавливать в общем случае?

Формировать стек не принципиально для Delphi и Borland C++

Ранг: 77.7 (постоянный)
Статус: Участник

Создано: 8 января 2008 19:23 · Поправил: ufo_maniac New!
Цитата · Личное сообщение · #18

pavka пишет:
Формировать стек не принципиально для Delphi и Borland C++

а вот с этого места пожалуйста подробней!
я изменил байт с 14 на 04, и прога стартанула, открылось окно, но тут же закрылось.
она у меня недо... неготова, и полностью не запускается, но не закрывается самопроизвольно и без сообщения об ошибке, как с неправильным байтом.
мне кажется, значение байта важно. можно конечно подбирать, но как-то это ненадежно.
кто его знает, через сколько часов работы прога рухнет с байтом не очень правильным?

RSI пишет:
надо было либо убить потоки криптора, либо восстановить 15 спертых байт с OEP

то есть можно не восстанавливать спертые байты вообще? при убитых потоках криптора они самовосстановятся?
в какой момент и как прибить эти потоки?

Ранг: 284.8 (наставник)
Статус: Участник

Создано: 8 января 2008 19:32 New!
Цитата · Личное сообщение · #19

ufo_maniac пишет:
то есть можно не восстанавливать спертые байты вообще? при убитых потоках криптора они самовосстановятся?

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

Если тебе надо узнать значение ecx до цикла, то чего парится, идешь в распакованную прогу со спертым OEP запоминаешь esp, ставишь ниже спертого кода бряк и запускаешь ( надо чтобы отладчик не палился ) после этого запустятся потоки криптора, если они есть, и ты попадаешь на свой бряк ниже спертого кода ну вот смотри и сравнивай значения стека до и после ( минус 4 т.к. было push ebp в начале ) думаю смысл понятен.

Ранг: 77.7 (постоянный)
Статус: Участник

Создано: 8 января 2008 19:37 New!
Цитата · Личное сообщение · #20

RSI пишет:
смотри и сравнивай значения стека до и после ( минус 4 т.к. было push ebp в начале ) думаю смысл понятен.

да, правильно, так и надо, спасибо большое!

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 10 января 2008 10:39 New!
Цитата · Личное сообщение · #21

@RSI: Know any ways to patch clock manipulation errors? I tested your unpacker on Likno's FrameShow (http://likno.cachefly.net/PFS/PhotoFrameShowSetup.exe), works fine so far. OEP is not the one returned though, but aproximately :P

OEP:

;Beginning Address was : 445026

CALL unpacked.0044DBBD
JMP unpacked.00444E46

;End Address was : 44502B

Now, what I am curious about is the clock manipulation thingie. Unpack target, run it. Close it. Change date 1 year ahead (2009) and run program. You'll see what I mean..



So far, I know the way to catch these errors is to break on CreateEventA. Doing so lands me here:

0012F398 004A908A /CALL to CreateEventA from unpacked.004A9085
0012F39C 00000000 |pSecurity = NULL
0012F3A0 FFFFFFFF |ManualReset = TRUE
0012F3A4 00000000 |InitiallySignaled = FALSE
0012F3A8 00000000 \EventName = NULL

And this is the code:

;Beginning Address was : 4A9062

MOV AL,4
NOP
CMP DWORD PTR GS:[EBP-2C],1
CALL unpacked.004A6A2F
MOV AH,0EA
STC
JA SHORT unpacked.004A902C
ADD AL,0B0
ADC AL,0E9
ADC AL,BYTE PTR DS:[EDI]
ADD BYTE PTR DS:[EAX],AL
XOR ESI,97FF7DFB
XCHG DWORD PTR SS:[ESP],ESI
CALL unpacked.004B02CD
XOR DWORD PTR SS:[ESP],EAX
PUSH EAX
MOV EAX,ESP
JMP unpacked.004AEEF5

;End Address was : 4A9090

Any information would be more than appreciated

Ранг: 284.8 (наставник)
Статус: Участник

Создано: 10 января 2008 13:06 · Поправил: RSI New!
Цитата · Личное сообщение · #22

SunBeam

0041225D |. 6A 00 PUSH 0
0041225F |. 6A 00 PUSH 0
00412261 |. 57 PUSH EDI <= name + ID
00412262 |. 8D4C24 14 LEA ECX,DWORD PTR SS:[ESP+14]
00412266 |. 51 PUSH ECX <= key
00412267 E8 AB0F0A00 CALL FrameSho.004B3217 <= Check Register Info
0041226C |. 83F8 03 CMP EAX,3
0041226F |. 75 1A JNZ SHORT FrameSho.0041228B

Change flag Z on 0041226F and the program will write in registry info and will be registered even without a patch

0043D058 |. 890424 MOV DWORD PTR SS:[ESP],EAX
0043D05B |. 6A 0F PUSH 0F
0043D05D |. E8 381E0700 CALL FrameSho.004AEE9A <= Get Trial Days left ( if error show message )
0043D062 |. 8B0C24 MOV ECX,DWORD PTR SS:[ESP]


Ранг: 154.2 (ветеран)
Статус: Участник
REVENGE Crew

Создано: 10 января 2008 13:16 · Поправил: kioresk New!
Цитата · Личное сообщение · #23

SunBeam,

You can look for details/logic of clock manipulation check in EXECryptor itself. Just grab list of API-functions/hashs (to resolve API functions) and analyze unpacked/dumped console part of EXECryptor in IDA.

I had attached code of procedure that check's for clock manipulation (taken from EXECryptor 2.4.1), that may help you to research faster.


By the way, this thread is about unpacker, so it's better to discuss in other thread related to EXECryptor:
EXECryptor (Tutors, scripts, plugins, ...)

{ Атач доступен только для участников форума } - proc_ClockManipulationDetected.txt

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 10 января 2008 13:55 · Поправил: SunBeam New!
Цитата · Личное сообщение · #24

Thank you, guys! I found only one check for trial, and that was in Uninstall Tool which used GetSystemTime. But never saw the GetTrialDays one (I know it's app specific). Should've thought of it..

RSI: How did you land in the 2nd portion (43D058)? Common tracing from strings/data or eC specific tricks?


Ранг: 391.8 (мудрец)
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 10 января 2008 15:37 · Поправил: Maximus New!
Цитата · Личное сообщение · #25

SunBeam if you need do trial reset:
bp ZwQueryValueKey (trace while not be ExeCryptor trial key)
after RET18 trace to
CMP DWORD PTR DS:[EAX+4],0
and replace this
cmp eax,eax
and have 30day everyday and not have clockmanipulation ;)

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 10 января 2008 20:27 · Поправил: SunBeam New!
Цитата · Личное сообщение · #26

Testing and replying in a bit. Need to kill the registry key lol :P

EDIT: I think I've found this compare somewhere. I posted some code above, right before CreateEventA. If you trace the code a bit, you'll land in one such CMP. Dunno if it's the right one, but I'll try your method in a bit ;)

One other program I had issues with is Anyplace Control. Unpacking works fine, I even rebuilt the OEP (a few - 5-6 bytes ripped) yet I never managed to RUN the soft from any debugger. The only one I tried is KAM (after using HideToolz on it, to hide its windows). But KAM is not a debugger, it's merely an API spy tool..

If you guys know any ways to run this prog from - say - Olly (as I've tried every possible way) either in packed or unpacked state, let me know. Yeah, even the unpacked one doesn't run in Olly :D

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 10 января 2008 20:51 · Поправил: SunBeam New!
Цитата · Личное сообщение · #27

Well, it didn't work as I had hoped. I set a conditional breakpoint on ZwQueryValueKey such as:

- bp ZwQueryValueKey;
- cond. bp ([esp]<0x70000000 - since I am interested in program breaks, not API ones);

Landed here:

0012E790 004C23A6 /CALL to ZwQueryValueKey from unpacked.004C23A1
0012E794 000000C4 |hKey = 000000C4 (window)
0012E798 0012E7B8 |Name = 0012E7B8
0012E79C 00000002 |InfoClass = 2
0012E7A0 00000000 |Buffer = NULL
0012E7A4 00000000 |Bufsize = 0
0012E7A8 0012E7B0 \pReqsize = 0012E7B0
0012E7AC 000000C4
0012E7B0 00000000
0012E7B4 00000002
0012E7B8 00000022
0012E7BC 0012E9E4 UNICODE "hallaafkiohlpnjj"

Tracing out of it, got me here:



Changing 4C23A9 to CMP EAX,EAX doesn't do the trick. I still get detected..


Ранг: 391.8 (мудрец)
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 10 января 2008 22:36 · Поправил: Maximus New!
Цитата · Личное сообщение · #28

SunBeam
Anyplace Control 4.3.0.0 this DEMO.
Full Version under password: www.anyplace-control.com/anyplace-control/data/full/AnyplaceControlInstall4xFull.zip
Debug AnyplaceControl: Olly + Phantom 1.20
My post on ru-board:
forum.ru-board.com/topic.cgi?forum=35&topic=19117&start=100#3

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 10 января 2008 22:48 · Поправил: SunBeam New!
Цитата · Личное сообщение · #29

@Maximus: It doesn't want to run, man. I'm telling you Here's my settings for Phant0m



No matter how I do it, even with it UNPACKED, it still won't run in Olly. As I said, I managed to get HideToolz to hide KAM's windows, to spy a bit on the .exe. Loads up fine in KAM. Not in Olly though. Let me put it this way - what Olly should I use to make it run? LOL..


Ранг: 391.8 (мудрец)
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 10 января 2008 22:49 · Поправил: Maximus New!
Цитата · Личное сообщение · #30

SunBeam tomorrow I shall look PhotoFrameShow

sorry for bad English (

For me works. Looked yesterday at versions 4.3.0.0

Ранг: 50.9 (постоянный)
Статус: Участник

Создано: 10 января 2008 22:52 · Поправил: SunBeam New!
Цитата · Личное сообщение · #31

As for FrameShow, 4C23A9 is the only one to resemble what you mentioned. I traced the result in [EAX] with and without date changed. When date is not changed, after the splash screen, [EAX] !=0. When you change date, the value is 0 and program dies. RSI mentioned a way to register it, but I don't want that :P I feel it's not funny. I wanna break this clock manipulation feature. I guess I'll follow kioresk's advice and start poking on eC API hashes :D

No problem. I can piece your English together ;) Express yourself in any way you like, I'll tell you if I have trouble understanding :P
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 32 . 33 . >>
 eXeL@B —› Протекторы —› Unpacker ExeCryptor 2.x.x.
Эта тема закрыта. Ответы больше не принимаются.

Видеокурс ВЗЛОМ