eXeL@B —› Основной форум —› Защита в программе DirectX Rollbacker |
Посл.ответ | Сообщение |
|
Создано: 20 мая 2006 23:16 · Личное сообщение · #1 С первой токи зрения +) ПЕЙД показал, что в данном файле ничего не обнаружено.... +(((( Смотрим в PE Tools и удивляемся.... Секция .adata присутствует, то значит что файл запакован ASProtect версии не ниже 2.0 (просто мне так кажется). После открытия данного файла в OllyDbg натыкаюсь на следующий код: 005C9000 >60 PUSHAD 005C9001 7E 03 JLE SHORT 005C9006 005C9003 7F 01 JG SHORT 005C9006 005C9005 7B EB JPO SHORT 005C8FF2 005C9007 0172 23 ADD DWORD PTR DS:[EDX+23], ESI 005C900A EE OUT DX, AL ; I/O command 005C900B 42 INC EDX 005C900C 41 INC ECX 005C900D FC CLD 005C900E F9 STC 005C900F F9 STC Что тоже ничего не говорит..... (Скорее всего мне ничего не говорит!) У меня сложилось некоторое мнение, что данная прога была еще раз запакована уже неким протектором, который несмотря на сложность паковки ASProtect'а (CRC сумма и т.д.) поклал себя поверх всего Аспирина..... Хотелось бы узнать что это вообще за такое дело и с чем вообще его едят? P.S. Я так то еще новичок, так что не обесудьте..... До OEP можно дойти спокойно, но импорт к сожалению не восстанавливается, и еще при распаковке есть секция длинною примерно на метров 6, которую нужно обрезать...... Вообщем помогите разоьраться с этой проблемой +)))) ----- One death is a tragedy, one million is a statistic. |
|
Создано: 21 мая 2006 04:10 · Поправил: The Old Pirate · Личное сообщение · #2 |
|
Создано: 21 мая 2006 08:02 · Личное сообщение · #3 А я чет не вижу там ASProtect'а ? Скорее ACProtect 00401156 - FF25 20104000 JMP DWORD PTR DS:[401020] ; MSVBVM60.rtcTrimBstr 0040115C - FF25 44104000 JMP DWORD PTR DS:[401044] ; MSVBVM60.rtcMsgBox 00401162 - FF25 BC104000 JMP DWORD PTR DS:[4010BC] ; MSVBVM60.rtcStrConvVar2 00401168 - FF25 14114000 JMP DWORD PTR DS:[401114] ; MSVBVM60.rtcLeftCharVar 0040116E - FF25 18114000 JMP DWORD PTR DS:[401118] ; MSVBVM60.rtcRightCharVar 00401174 - FF25 10114000 JMP DWORD PTR DS:[401110] ; MSVBVM60.rtcLeftCharBstr 0040117A - FF25 14104000 JMP DWORD PTR DS:[401014] ; MSVBVM60.rtcLowerCaseBstr 00401180 - FF25 D4104000 JMP DWORD PTR DS:[4010D4] ; MSVBVM60.rtcDir 00401186 - FF25 48104000 JMP DWORD PTR DS:[401048] ; MSVBVM60.rtcDoEvents 0040118C - FF25 3C114000 JMP DWORD PTR DS:[40113C] ; MSVBVM60.rtcR8ValFromBstr 00401192 - FF25 EC104000 JMP DWORD PTR DS:[4010EC] ; MSVBVM60.rtcFileCopy 00401198 - FF25 04104000 JMP DWORD PTR DS:[401004] ; MSVBVM60.rtcRgb 0040119E - FF25 28104000 JMP DWORD PTR DS:[401028] ; MSVBVM60.rtcGetYear 004011A4 - FF25 08114000 JMP DWORD PTR DS:[401108] ; MSVBVM60.rtcGetTimeVar 004011AA - FF25 00114000 JMP DWORD PTR DS:[401100] ; MSVBVM60.rtcGetDateVar 004011B0 - FF25 1C114000 JMP DWORD PTR DS:[40111C] ; MSVBVM60.rtcGetDayOfMonth 004011B6 - FF25 2C114000 JMP DWORD PTR DS:[40112C] ; MSVBVM60.rtcGetMonthOfYear 004011BC - FF25 20114000 JMP DWORD PTR DS:[401120] ; MSVBVM60.rtcGetHourOfDay 004011C2 - FF25 24114000 JMP DWORD PTR DS:[401124] ; MSVBVM60.rtcGetMinuteOfHour 004011C8 - FF25 34114000 JMP DWORD PTR DS:[401134] ; MSVBVM60.rtcGetSecondOfMinute 004011CE - FF25 B4104000 JMP DWORD PTR DS:[4010B4] ; MSVBVM60.rtcMakeDir 004011D4 - FF25 D0104000 JMP DWORD PTR DS:[4010D0] ; MSVBVM60.rtcBstrFromAnsi 004011DA - FF25 90104000 JMP DWORD PTR DS:[401090] ; MSVBVM60.rtcShell 004011E0 - FF25 38114000 JMP DWORD PTR DS:[401138] ; MSVBVM60.rtcSetFileAttr 004011E6 - FF25 74104000 JMP DWORD PTR DS:[401074] ; MSVBVM60.rtcKillFiles 004011EC - FF25 6C104000 JMP DWORD PTR DS:[40106C] ; MSVBVM60.rtcUpperCaseBstr 004011F2 - FF25 FC104000 JMP DWORD PTR DS:[4010FC] ; MSVBVM60.rtcGetFileAttr 004011F8 - FF25 B8104000 JMP DWORD PTR DS:[4010B8] ; MSVBVM60.rtcRemoveDir 004011FE - FF25 F4104000 JMP DWORD PTR DS:[4010F4] ; MSVBVM60.rtcErrObj 00401204 - FF25 50104000 JMP DWORD PTR DS:[401050] ; MSVBVM60.rtcTrimVar 0040120A - FF25 60104000 JMP DWORD PTR DS:[401060] ; MSVBVM60.rtcMidCharVar 00401210 - FF25 E8104000 JMP DWORD PTR DS:[4010E8] ; MSVBVM60.rtcImmediateIf 00401216 - FF25 58104000 JMP DWORD PTR DS:[401058] ; MSVBVM60.rtcMidCharBstr 0040121C - FF25 D8104000 JMP DWORD PTR DS:[4010D8] ; MSVBVM60.rtcFileLength 00401222 - FF25 E0104000 JMP DWORD PTR DS:[4010E0] ; MSVBVM60.rtcHexVarFromVar 00401228 - FF25 B0104000 JMP DWORD PTR DS:[4010B0] ; MSVBVM60.rtcVarBstrFromAnsi 0040122E - FF25 A8104000 JMP DWORD PTR DS:[4010A8] ; MSVBVM60.rtcStringBstr 00401234 - FF25 AC104000 JMP DWORD PTR DS:[4010AC] ; MSVBVM60.rtcStringVar 0040123A - FF25 A0104000 JMP DWORD PTR DS:[4010A0] ; MSVBVM60.rtcSplit 00401240 - FF25 78104000 JMP DWORD PTR DS:[401078] ; MSVBVM60.rtcIsNull 00401246 - FF25 1C104000 JMP DWORD PTR DS:[40101C] ; MSVBVM60.rtcGetObject 0040124C - FF25 C8104000 JMP DWORD PTR DS:[4010C8] ; MSVBVM60.rtcStrFromVar 00401252 - FF25 F0104000 JMP DWORD PTR DS:[4010F0] ; MSVBVM60.rtcFileLen 00401258 - FF25 18104000 JMP DWORD PTR DS:[401018] ; MSVBVM60.rtcLowerCaseVar 0040125E - FF25 A4104000 JMP DWORD PTR DS:[4010A4] ; MSVBVM60.rtcReplace 00401264 - FF25 DC104000 JMP DWORD PTR DS:[4010DC] ; MSVBVM60.rtcEndOfFile 0040126A - FF25 70104000 JMP DWORD PTR DS:[401070] ; MSVBVM60.rtcUpperCaseVar 00401270 - FF25 10104000 JMP DWORD PTR DS:[401010] ; MSVBVM60.rtcAnsiValueBstr 00401276 - FF25 CC104000 JMP DWORD PTR DS:[4010CC] ; MSVBVM60.VarPtr 0040127C - FF25 34104000 JMP DWORD PTR DS:[401034] ; MSVBVM60.rtcTypeName 00401282 - FF25 7C104000 JMP DWORD PTR DS:[40107C] ; MSVBVM60.rtcIsObject 00401288 - FF25 64104000 JMP DWORD PTR DS:[401064] ; MSVBVM60.rtcSpaceVar 0040128E - FF25 94104000 JMP DWORD PTR DS:[401094] ; MSVBVM60.rtcArray 00401294 - FF25 28114000 JMP DWORD PTR DS:[401128] ; MSVBVM60.rtcVarFromError 0040129A - FF25 2C104000 JMP DWORD PTR DS:[40102C] ; MSVBVM60.rtcIsArray 004012A0 - FF25 84104000 JMP DWORD PTR DS:[401084] ; MSVBVM60.rtcCommandVar 004012A6 - FF25 30114000 JMP DWORD PTR DS:[401130] ; MSVBVM60.rtcGetPresentDate 004012AC - FF25 24104000 JMP DWORD PTR DS:[401024] ; MSVBVM60.rtcVarFromFormatVar 004012B2 - FF25 5C104000 JMP DWORD PTR DS:[40105C] ; MSVBVM60.rtcSpaceBstr 004012B8 - FF25 9C104000 JMP DWORD PTR DS:[40109C] ; MSVBVM60.__vbaExceptHandler 004012BE - FF25 98104000 JMP DWORD PTR DS:[401098] ; MSVBVM60.EVENT_SINK_QueryInterface 004012C4 - FF25 68104000 JMP DWORD PTR DS:[401068] ; MSVBVM60.EVENT_SINK_AddRef 004012CA - FF25 8C104000 JMP DWORD PTR DS:[40108C] ; MSVBVM60.EVENT_SINK_Release 004012D0 - FF25 08104000 JMP DWORD PTR DS:[401008] ; MSVBVM60.MethCallEngine 004012D6 - FF25 C4104000 JMP DWORD PTR DS:[4010C4] ; MSVBVM60.ProcCallEngine 004012DC - FF25 40104000 JMP DWORD PTR DS:[401040] ; MSVBVM60.GetMem4 004012E2 - FF25 54104000 JMP DWORD PTR DS:[401054] ; MSVBVM60.PutMem4 004012E8 - FF25 3C104000 JMP DWORD PTR DS:[40103C] ; MSVBVM60.GetMem2 004012EE - FF25 4C104000 JMP DWORD PTR DS:[40104C] ; MSVBVM60.PutMem2 004012F4 - FF25 C0104000 JMP DWORD PTR DS:[4010C0] ; MSVBVM60.GetMemEvent 004012FA - FF25 04114000 JMP DWORD PTR DS:[401104] ; MSVBVM60.PutMemEvent 00401300 - FF25 0C114000 JMP DWORD PTR DS:[40110C] ; MSVBVM60.SetMemEvent 00401306 - FF25 88104000 JMP DWORD PTR DS:[401088] ; MSVBVM60.Zombie_GetTypeInfoCount 0040130C - FF25 30104000 JMP DWORD PTR DS:[401030] ; MSVBVM60.Zombie_GetTypeInfo 00401312 - FF25 00104000 JMP DWORD PTR DS:[401000] ; MSVBVM60.EVENT_SINK_GetIDsOfNames 00401318 - FF25 0C104000 JMP DWORD PTR DS:[40100C] ; MSVBVM60.EVENT_SINK_Invoke 0040131E - FF25 E4104000 JMP DWORD PTR DS:[4010E4] ; MSVBVM60.EVENT_SINK2_AddRef 00401324 - FF25 38104000 JMP DWORD PTR DS:[401038] ; MSVBVM60.EVENT_SINK2_Release 0040132A - FF25 F8104000 JMP DWORD PTR DS:[4010F8] ; MSVBVM60.ThunRTMain 00401330 68 68C44000 PUSH dre.0040C468 ; ASCII "VB5!6&*" 00401335 E8 F0FFFFFF CALL dre.0040132A ; JMP to MSVBVM60.ThunRTMain Один косяк 00001B58 msvbvm60.dll 02D9 ??? не понятно то ли импрек неправильно определил то ли х.з Не любдлю в VB ковыряться |
|
Создано: 21 мая 2006 11:33 · Личное сообщение · #4 |
|
Создано: 22 мая 2006 20:43 · Личное сообщение · #5 pavka Сам только недавно разобрался: 1. Висит ASProtect, ну или может ACProtect, но скриптик, написанный ByteH@nter для аспра 2.0 и выше сработал на УРА! OEP определил, но там PUSHAD ....... POPAD JMP EAX 2. Сдампил, чтоб посмотреть что это за пакер и с удивлением обнаружил, что это DXPaker, который я во первых впервые слышу, а во вторых у меня скрипта для него нету +((( 3. Потом попробовал как UPX снять, получилось +)) 4. Выхожу на OEP VB и дамплю (довольно долго дамп шел) 5. Восстанавливаю импорт, но такая же лабуда, как у тебя выходит +((((( 6. Прога запускается, но тут же аварийно завершается +( При детальном обследовании увидел, то обращается к куску кода, который выглядит примерно так: OUT DX, AL ??? OUT DX, AL ??? Толи неправильно распаковалась прога, толи байты спер кто-то? Короче помогите а? ----- One death is a tragedy, one million is a statistic. |
|
Создано: 22 мая 2006 20:49 · Личное сообщение · #6 |
|
Создано: 23 мая 2006 00:00 · Личное сообщение · #7 |
|
Создано: 23 мая 2006 13:00 · Личное сообщение · #8 |
|
Создано: 24 мая 2006 16:42 · Личное сообщение · #9 |
|
Создано: 24 мая 2006 22:48 · Личное сообщение · #10 |
|
Создано: 25 мая 2006 04:44 · Личное сообщение · #11 |
|
Создано: 25 мая 2006 15:05 · Личное сообщение · #12 Парни, я конечно рад за то, что вы все таки мне помогаете узнать, что эе такое там висит и кто вообще это намутил! У меня сейчас вопрос стоит в другом: 1. Как восстановить импорт (см. выше) Все получается, но прога отказывается работать: OUT DX, AL ??? OUT DX, AL ??? Доходит до этого момента и вылетает..... Что делать а плиз...... ??????? ----- One death is a tragedy, one million is a statistic. |
|
Создано: 27 мая 2006 13:06 · Личное сообщение · #13 |
|
Создано: 29 мая 2006 19:01 · Личное сообщение · #14 |
|
Создано: 30 мая 2006 11:37 · Личное сообщение · #15 |
|
Создано: 30 мая 2006 11:48 · Поправил: Smon · Личное сообщение · #16 |
|
Создано: 30 мая 2006 11:53 · Личное сообщение · #17 |
|
Создано: 30 мая 2006 14:11 · Личное сообщение · #18 |
|
Создано: 30 мая 2006 14:29 · Личное сообщение · #19 Z0oMiK Знаешь, я вообще то распаковывал и аспр 2x и aцпр 1x-2x, поэтому думаю, что аспр от ацпра отличу Да и вообще структуру загрузчика посмотри , авось увидишь аспровую dll, которой в ацпре и не было никогда... А то что импорт не ушатан - так это из-за того, что аспр поверх пакера висит, который всего 2 функции юзает. ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 30 мая 2006 14:52 · Личное сообщение · #20 |
|
Создано: 30 мая 2006 14:55 · Поправил: Smon · Личное сообщение · #21 Короче говоря, если распаковывать полностью, то файло не работает - потому, что проверяет свой размер на диске, причем всё в p-code.... В целом оригинальный отстой ;) Распаковываем, патчим, запаковываем тем же аспаком - работает pavka гы, опередил , хотя дело вовсе не в dxpack'е, а в самой защите проги ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 30 мая 2006 18:51 · Личное сообщение · #22 |
eXeL@B —› Основной форум —› Защита в программе DirectX Rollbacker |
Эта тема закрыта. Ответы больше не принимаются. |