Сейчас на форуме: (+7 невидимых) |
eXeL@B —› Протекторы —› Unpacker ExeCryptor 2.x.x. |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 32 . 33 . >> |
Посл.ответ | Сообщение |
|
Создано: 03 октября 2007 23:55 · Поправил: Модератор · Личное сообщение · #1 Unpacker ExeCryptor 2.x.x. version 1.0 RC2 [Public Build] Вот собственно "дампер" перерос в анпакер, вся необходимая дополнительная информация по опциям и их применению находится в readme.txt С пожеланиями и предложениями писать СЮДА!!! c0c4_22.12.2008_CRACKLAB.rU.tgz - Unpacker_ExeCryptor_2.x.x._v1.0_RC2.RSI.tPORt.zip |
|
Создано: 01 января 2008 19:26 · Личное сообщение · #2 |
|
Создано: 01 января 2008 22:16 · Личное сообщение · #3 |
|
Создано: 02 января 2008 03:33 · Личное сообщение · #4 |
|
Создано: 02 января 2008 09:00 · Личное сообщение · #5 |
|
Создано: 03 января 2008 10:54 · Личное сообщение · #6 |
|
Создано: 03 января 2008 15:19 · Личное сообщение · #7 |
|
Создано: 03 января 2008 23:35 · Личное сообщение · #8 RSI пишет: ТОж сначала думал шапку обновить, но потом решил, что пусть для истории останется... Ну, так можно ссыль оставить старую и внизу новую приписать, а то кто в первый раз будет смотреть ветку форума эту, долго искать будет ссыль ;) ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 05 января 2008 22:42 · Личное сообщение · #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 |
|
Создано: 08 января 2008 10:49 · Поправил: RSI · Личное сообщение · #10 |
|
Создано: 08 января 2008 12:35 · Личное сообщение · #11 |
|
Создано: 08 января 2008 13:39 · Личное сообщение · #12 |
|
Создано: 08 января 2008 15:30 · Личное сообщение · #13 |
|
Создано: 08 января 2008 16:13 · Личное сообщение · #14 |
|
Создано: 08 января 2008 16:45 · Личное сообщение · #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) две лишние секции удалены, а можно было удалить еще одну, довольно большую. подозреваю, что она тоже бы удалилась, если бы байты, стоящие вместо спертых, не отправляли бы в эту секцию. а вообще-то еше раз спасибо! если эти мои замечания помогут совершенствованию, буду рад. лог приаттачен, а программа великовата, если потребуется положу на рапидшару. a8e0_08.01.2008_CRACKLAB.rU.tgz - proga_u.log |
|
Создано: 08 января 2008 17:29 · Личное сообщение · #16 Посмотрел лог! 1) В новом Delphi ( т.к. есть секция .itext ) анпакер пока поиск OEP не поддерживает. 2) Восстановлением OEP в общем случае планирую позже занятся ( для VB, Delphi и Borland C++ ) 3) Секцию криптора отрезать нельзя, т.к. в 95% случаев даже с восстановленным OEP она нужна ;) В остальном пожалуйста, и спасиб за пожелания ( наблюдения ). |
|
Создано: 08 января 2008 18:37 · Личное сообщение · #17 |
|
Создано: 08 января 2008 19:23 · Поправил: ufo_maniac · Личное сообщение · #18 pavka пишет: Формировать стек не принципиально для Delphi и Borland C++ а вот с этого места пожалуйста подробней! я изменил байт с 14 на 04, и прога стартанула, открылось окно, но тут же закрылось. она у меня недо... неготова, и полностью не запускается, но не закрывается самопроизвольно и без сообщения об ошибке, как с неправильным байтом. мне кажется, значение байта важно. можно конечно подбирать, но как-то это ненадежно. кто его знает, через сколько часов работы прога рухнет с байтом не очень правильным? RSI пишет: надо было либо убить потоки криптора, либо восстановить 15 спертых байт с OEP то есть можно не восстанавливать спертые байты вообще? при убитых потоках криптора они самовосстановятся? в какой момент и как прибить эти потоки? |
|
Создано: 08 января 2008 19:32 · Личное сообщение · #19 ufo_maniac пишет: то есть можно не восстанавливать спертые байты вообще? при убитых потоках криптора они самовосстановятся? это та ситуация когда стартуют потоки с антиотладкой и проверкой CRC памяти и файла, поэтому можно прибить потоки или же восстановить OEP ( чтобы они не создавались ), это в случае если не юзаются маркеры криптора, тогда автор может вызывать функцию антиотладки когда захочет Если тебе надо узнать значение ecx до цикла, то чего парится, идешь в распакованную прогу со спертым OEP запоминаешь esp, ставишь ниже спертого кода бряк и запускаешь ( надо чтобы отладчик не палился ) после этого запустятся потоки криптора, если они есть, и ты попадаешь на свой бряк ниже спертого кода ну вот смотри и сравнивай значения стека до и после ( минус 4 т.к. было push ebp в начале ) думаю смысл понятен. |
|
Создано: 08 января 2008 19:37 · Личное сообщение · #20 |
|
Создано: 10 января 2008 10:39 · Личное сообщение · #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 |
|
Создано: 10 января 2008 13:06 · Поправил: RSI · Личное сообщение · #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] |
|
Создано: 10 января 2008 13:16 · Поправил: kioresk · Личное сообщение · #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, ...) bea1_10.01.2008_CRACKLAB.rU.tgz - proc_ClockManipulationDetected.txt |
|
Создано: 10 января 2008 13:55 · Поправил: SunBeam · Личное сообщение · #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? |
|
Создано: 10 января 2008 15:37 · Поправил: Maximus · Личное сообщение · #25 |
|
Создано: 10 января 2008 20:27 · Поправил: SunBeam · Личное сообщение · #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 |
|
Создано: 10 января 2008 20:51 · Поправил: SunBeam · Личное сообщение · #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.. |
|
Создано: 10 января 2008 22:36 · Поправил: Maximus · Личное сообщение · #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 ----- StarForce и Themida ацтой! |
|
Создано: 10 января 2008 22:48 · Поправил: SunBeam · Личное сообщение · #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.. |
|
Создано: 10 января 2008 22:49 · Поправил: Maximus · Личное сообщение · #30 |
|
Создано: 10 января 2008 22:52 · Поправил: SunBeam · Личное сообщение · #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. |
Эта тема закрыта. Ответы больше не принимаются. |