Посл.ответ |
Сообщение |
Ранг: 196.0 (ветеран), 72thx Активность: 0.14↘0.02 Статус: Участник
|
Создано: 21 декабря 2007 15:57 · Личное сообщение · #1
Привет всем.Сначала хотелось бы поздравить всех с наступающим новым годом!И пожелать всем денег,любви и чтобы в Новом 2008 году исполнялись все Ваши желания.
Теперь к моей проблеме.Недавно решил вспомнить молодость.Надыбал в сети ASProtect 1.11c.Если честно я вообще никогда о нём не слышал,да и прог запакованных этим аспром не видел.Решил посмотрть чё это за "зверь".Ключа к этому аспра я не нашёл и решил это дело исправить.Распаковка особых трудностей не вызывает,всё делается за 20-30 минут.но вот уже 3 день борюсь с побочным эффектом-никак не могу убрать это гавнистое окно о незарегестрированости запротеченных прог.И так я его исщу и сяк ни хрена не получается его убрать.Аспр качать отсюда:--> Качать <-- http://rapidshare.com/files/78084022/ASPr_1.11c.rar.html
.Вот что надыбал:
00455F3D . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00455F40 . E8 7BF3FFFF CALL dumped1_.004552C0
00455F45 > E9 2F000000 JMP dumped1_.00455F79
00455F4A EF DB EF
00455F4B 29 DB 29 ; CHAR ')'
00455F4C 84 DB 84
00455F4D 9A DB 9A
00455F4E 37 DB 37 ; CHAR '7'
00455F4F F2 DB F2
00455F50 E0 DB E0
00455F51 . BF 21CB89FC MOV EDI,FC89CB21
00455F56 . FA CLI
00455F57 . 24 0D AND AL,0D
00455F59 . 53 PUSH EBX
00455F5A . 99 CDQ
00455F5B . F9 STC
00455F5C . C2 6841 RETN 4168
00455F5F 92 DB 92
00455F60 1D DB 1D
00455F61 C1 DB C1
00455F62 90 NOP
00455F63 . F5 CMC
00455F64 . 04 7B ADD AL,7B
00455F66 . C3 RETN
00455F67 F5 DB F5
00455F68 F6 DB F6
00455F69 BD DB BD
00455F6A E1 DB E1
00455F6B 79 DB 79 ; CHAR 'y'
00455F6C C4 DB C4
00455F6D A3 DB A3
00455F6E 56 DB 56 ; CHAR 'V'
00455F6F 1C DB 1C
00455F70 6A DB 6A ; CHAR 'j'
00455F71 3B DB 3B ; CHAR ';'
00455F72 89 DB 89
00455F73 7D DB 7D ; CHAR '}'
00455F74 . 39F4 CMP ESP,ESI
00455F76 . F9 STC
00455F77 . CD 31 INT 31
00455F79 > B8 B02B4500 MOV EAX,dumped1_.00452BB0
00455F7E . 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00455F81 . 8B92 A4030000 MOV EDX,DWORD PTR DS:[EDX+3A4]
00455F87 . 8982 78020000 MOV DWORD PTR DS:[EDX+278],EAX
Этот кусок расшифровывается если в реестре есть правильный ключ.Если его нет то этот кусок просто перепрыгивается и в защищённых прогах появляется окно напоминания.Вообще если есть ключ,то трудностей никаких.В оригинальном аспре копипастишь расшифрованные байты и вставляешь в распакованный вариант.И окно напоминания пропадает.Но ключа нету.Начал вручную искать создания этого окна:
00455F93 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00455F96 . 8B80 A4030000 MOV EAX,DWORD PTR DS:[EAX+3A4]
00455F9C . 8B10 MOV EDX,DWORD PTR DS:[EAX]
00455F9E . E8 8D77FEFF CALL dumped1_.0043D730 <----------------здесь защита и сжатие нашей программы
00455FA3 . 90 NOP
00455FA4 . 8D55 D8 LEA EDX,DWORD PTR SS:[EBP-28]
00455FA7 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00455FAA . 8B80 48030000 MOV EAX,DWORD PTR DS:[EAX+348]
00455FB0 . E8 27D6FBFF CALL dumped1_.004135DC
По адресу 00455F9E происходит собственно сама защита нашей программы.Логично,что здесь и создаётся это окно.Но найти его мне не удалось.Слишком большая функция.
Тогда решил посмотреть как выглядит это окно в самой запротеченной проге:
003CF63C 6A 10 PUSH 10 <------------------------стиль окна
003CF63E A1 C0143D00 MOV EAX,DWORD PTR DS:[3D14C0] <--------текст UNREGISTERED
003CF643 50 PUSH EAX
003CF644 A1 BC143D00 MOV EAX,DWORD PTR DS:[3D14BC] <----------Текст о том,что мы халявщики
003CF649 50 PUSH EAX
003CF64A 6A 00 PUSH 0 <----------------если вместо нуля-единичка,то окна нету
003CF64C E8 FB4DFFFF CALL 003C444C <-------само окно
003CF651 E8 3A38FFFF CALL 003C2E90
Решил поискать,что-то похожее в самом аспре,но не нашёл.Хрен знает как избавиться от этого окна.Буду рад и благодарен за любую помощь.
| Сообщение посчитали полезным: |
|
Ранг: 260.2 (наставник) Активность: 0.19↘0 Статус: Участник
|
Создано: 21 декабря 2007 16:11 · Личное сообщение · #2
Djeck
пенча хотел пакнуть аспром?
| Сообщение посчитали полезным: |
Ранг: 196.0 (ветеран), 72thx Активность: 0.14↘0.02 Статус: Участник
|
Создано: 21 декабря 2007 16:24 · Личное сообщение · #3
sniperZ пишет:
пенча хотел пакнуть аспром
Да нет,с чего ты взял? Просто я эти аспры коллекционирую.А этого не было.Кстати не знаю как антивирусы,но ни один анализатор в упор не видит этот аспр.Nothing Found и ниибёт
| Сообщение посчитали полезным: |
Ранг: 756.3 (! !), 113thx Активность: 0.61↘0.05 Статус: Участник Student
|
Создано: 21 декабря 2007 18:44 · Личное сообщение · #4
Djeck пишет:
ни один анализатор в упор не видит этот аспр
Это вы батенька поспештли с выводами:
ProtectionID v5.2c - [!] ASProtect v1.11c detected! (с точьностью до верии!)
DiE v0.64 - ASPack/ASProtect
----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh | Сообщение посчитали полезным: |
Ранг: 271.6 (наставник), 2thx Активность: 0.3↘0 Статус: Участник
|
Создано: 21 декабря 2007 19:09 · Личное сообщение · #5
Isaev
Может он имел ввиду ни один антивирь?
----- iNTERNATiONAL CoDE CReW | Сообщение посчитали полезным: |
Ранг: 756.3 (! !), 113thx Активность: 0.61↘0.05 Статус: Участник Student
|
Создано: 21 декабря 2007 22:41 · Личное сообщение · #6
Spirit
да нет вроде, он ясно выразился
Djeck пишет:
Кстати не знаю как антивирусы, но ни один анализатор в упор не видит этот аспр.Nothing Found и ниибёт
Может у него просто кроме PEiD ничего нет
----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh | Сообщение посчитали полезным: |
Ранг: 196.0 (ветеран), 72thx Активность: 0.14↘0.02 Статус: Участник
|
Создано: 21 декабря 2007 22:53 · Личное сообщение · #7
Isaev пишет:
Может у него просто кроме PEiD ничего нет
Есть всё кроме ProtectionID v5.2c.
| Сообщение посчитали полезным: |
Ранг: 196.0 (ветеран), 72thx Активность: 0.14↘0.02 Статус: Участник
|
Создано: 23 декабря 2007 10:15 · Личное сообщение · #8
Парни ну чё ни кто помочь не хочет?
| Сообщение посчитали полезным: |
Ранг: 260.2 (наставник) Активность: 0.19↘0 Статус: Участник
|
Создано: 23 декабря 2007 12:37 · Личное сообщение · #9
Djeck пишет:
Парни ну чё ни кто помочь не хочет?
птмшто зачетная неделя..
| Сообщение посчитали полезным: |
Ранг: 18.9 (новичок) Активность: 0.02↘0 Статус: Участник
|
Создано: 23 декабря 2007 13:26 · Личное сообщение · #10
Попробуй DiE в придачу с плугом VerA! В моих исследованиях по Аспру - он еще никогда меня не подводил.
А вот PEiD v 0.93, v 0.94 выдавали совершенно другую информацию. Могу скинуть на мыло в придачу -статью по распаковке твоей версии Аспра
| Сообщение посчитали полезным: |
Ранг: 196.0 (ветеран), 72thx Активность: 0.14↘0.02 Статус: Участник
|
Создано: 23 декабря 2007 22:42 · Личное сообщение · #11
sniperZ пишет:
птмшто зачетная неделя..
Блин совсем забыл.Просто я уже от этого уже отошёл!Закончил грёбанный институт,и теперь наслаждаюсь прекрасными новогодними праздниками с дипломом в руках morg пишет:
Попробуй DiE в придачу с плугом VerA! В моих исследованиях по Аспру - он еще никогда меня не подводил.
Да для меня это не существенно,я аспр на глаз определяю,а узнать точную версию приходится редко(тем более эти утилиты у меня есть)
morg пишет:
Могу скинуть на мыло в придачу -статью по распаковке твоей версии Аспра
Да не спасибо!Сам ASProtect 1.11c я распаковал.Усё прекрасно работает и замечательно пакует со всеми опциями.Только вот у запакованных прог появляется наг.Вообще это конечно довольная старая версия аспра и ожидать от неё чего-то сверхъестественного не приходится.Так,что вся распаковка заключается в:
1-32 нажатия Shift-F9
2-Ставим Set break-on-access
3-И мы на ОЕП - 004571B4
4-Дампим и прикручиваем импорт (3 не распознанные функции- Shell32.dll-ExtractIconA и Comdlg32.dll - GetOpenFileNameA и GetSaveFileNameA)
5-Нопим четыре команды типа этого- CALL DWORD PTR DS:[45DCC0](походу апи аспра).Две первые при загрузке ресурсов,3 при открытии окна About ну и 4 при защите программы(да скорее всего апишки самого аспра-первые две проверка зареганости,3 считывание на кого зареган аспр и последняя расшифровка спрятанного кода)Занопили и всё прога запускается и пакует.А вот наг остался.Я если честно с ним уже очумел,никак найти его не могу.Вот ковырял и что узнал:
Как я уже говорил вот здесь:
00455F40 . E8 7BF3FFFF CALL dumped1_.004552C0
00455F45 > E9 2F000000 JMP dumped1_.00455F79
00455F4A EF DB EF
00455F4B 29 DB 29 ; CHAR ')'
00455F4C 84 DB 84
00455F4D 9A DB 9A
00455F4E 37 DB 37 ; CHAR '7'
00455F4F F2 DB F2
00455F50 E0 DB E0
00455F51 . BF 21CB89FC MOV EDI,FC89CB21
00455F56 . FA CLI
00455F57 . 24 0D AND AL,0D
00455F59 . 53 PUSH EBX
00455F5A . 99 CDQ
00455F5B . F9 STC
00455F5C . C2 6841 RETN 4168
00455F5F 92 DB 92
00455F60 1D DB 1D
00455F61 C1 DB C1
00455F62 90 NOP
00455F63 . F5 CMC
00455F64 . 04 7B ADD AL,7B
00455F66 . C3 RETN
00455F67 F5 DB F5
00455F68 F6 DB F6
00455F69 BD DB BD
00455F6A E1 DB E1
00455F6B 79 DB 79 ; CHAR 'y'
00455F6C C4 DB C4
00455F6D A3 DB A3
00455F6E 56 DB 56 ; CHAR 'V'
00455F6F 1C DB 1C
00455F70 6A DB 6A ; CHAR 'j'
00455F71 3B DB 3B ; CHAR ';'
00455F72 89 DB 89
00455F73 7D DB 7D ; CHAR '}'
00455F74 . 39F4 CMP ESP,ESI
00455F76 . F9 STC
00455F77 . CD 31 INT 31
00455F79 > B8 B02B4500 MOV EAX,dumped1_.00452BB0
00455F7E . 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
должен быть расшифрованный код.Расшифровывается он здесь:
00455D31 . 33D2 XOR EDX,EDX
00455D33 . 8990 9C020000 MOV DWORD PTR DS:[EAX+29C],EDX
00455D39 . FF15 C0DC4500 CALL DWORD PTR DS:[45DCC0] <----------вот здесь цикл расшифровки
00455D3F . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00455D42 . 8B80 08020000 MOV EAX,DWORD PTR DS:[EAX+208]
00455D48 . 80B8 01010000>CMP BYTE PTR DS:[EAX+101],0
Ковырял я по адресу 00455D39,но че-то ни как догнать не могу.Зайдя в CALL DWORD PTR DS:[45DCC0]:
00E8C082 8BC0 MOV EAX,EAX <---------здесь если мы не зареганы
00E8C084 C3 RETN
00E8C085 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00E8C088 833D C825E900 0>CMP DWORD PTR DS:[E925C8],0 <------------здесь если мы с ключом
00E8C08F 75 0F JNZ SHORT 00E8C0A0
00E8C091 B8 7225E900 MOV EAX,0E92572
00E8C096 33D2 XOR EDX,EDX
00E8C098 8A15 7125E900 MOV DL,BYTE PTR DS:[E92571]
00E8C09E EB 0B JMP SHORT 00E8C0AB
00E8C0A0 A1 C825E900 MOV EAX,DWORD PTR DS:[E925C8]
00E8C0A5 8B15 CC25E900 MOV EDX,DWORD PTR DS:[E925CC]
00E8C0AB 52 PUSH EDX
00E8C0AC 50 PUSH EAX
00E8C0AD E8 9EFEFFFF CALL 00E8BF50 <-----------тут собственно сама расшифровка кода
00E8C0B2 C3 RETN
Вот тут я чё-то не вкурил.С какого ....мы не зареганные попадаем на MOV EAX,EAX и облом.Естественно остаёмся с носом.Рыскал по коду,но так и не нашёл почему аспр так подло поступает.Причём если принудительно указать адресс для расшифровки кода,то получаем access violation.Если мы зареганы,то получаем расшифровку кода,типа этого:
00457982 . A1 0C5E4600 MOV EAX,DWORD PTR DS:[465E0C]
00457987 . 50 PUSH EAX
00457988 . A1 0C5E4600 MOV EAX,DWORD PTR DS:[465E0C]
0045798D . E8 DEE8FAFF CALL ASProtec.00406270
00457992 . 8BC8 MOV ECX,EAX ; |
00457994 . 41 INC ECX ; |
00457995 . 66:8B15 8CD24>MOV DX,WORD PTR DS:[45D28C] ; |
0045799C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
0045799F . 8B80 B4030000 MOV EAX,DWORD PTR DS:[EAX+3B4] ; |
004579A5 . E8 6A34FFFF CALL ASProtec.0044AE14 ; \ASProtec.0044AE14
Вставляем на место нерасшифрованных байт в дампе и наслаждаемся зареганным аспром без всяких нагов.Я смотрел разные ломанные релизы аспров,вот все крекерс именно так и убирают наг.Я только не пойму они с ключом что ли все аспры распаковывают или подбирают сами код.Хотя подобрать код я пробовал,но это не благодарное занятие-слишком геморно.Вот я попал с этим аспром-ключа нет,а создание окна никак отловить не могу.У меня была версия 1.2 с ключом,так на его взлом ушло ровно 15 минут.Так,что ребята приму от Вас любую помощь и если есть время гляньте кто-нибудь и подскажите что-нибудь дельное.
| Сообщение посчитали полезным: |
Ранг: 196.0 (ветеран), 72thx Активность: 0.14↘0.02 Статус: Участник
|
Создано: 24 декабря 2007 23:05 · Личное сообщение · #12
Нашёл,что расшифровывается по адресу 00455F4A :
00455F45 > \90 NOP
00455F46 . 90 NOP
00455F47 . 90 NOP
00455F48 . 90 NOP
00455F49 . 90 NOP
00455F4A . 90 NOP
00455F4B . B8 10734500 MOV EAX,Finel.00457310 ; ASCII "Alexey Solodovnikov"
00455F50 . 50 PUSH EAX
00455F51 . B8 10734500 MOV EAX,Finel.00457310 ; ASCII "Alexey Solodovnikov"
00455F56 . E8 ED02FBFF CALL Finel.00406248
00455F5B 8BC8 MOV ECX,EAX ; |
00455F5D 41 INC ECX ; |
00455F5E 66:8B15 A0B24>MOV DX,WORD PTR DS:[45B2A0] ; |
00455F65 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00455F68 8B80 94030000 MOV EAX,DWORD PTR DS:[EAX+394] ; |
00455F6E E8 E542FFFF CALL Finel.0044A258 ; \ASProtect.0044A258
00455F73 90 NOP
00455F74 90 NOP
00455F75 90 NOP
00455F76 90 NOP
00455F77 90 NOP
00455F78 90 NOP
00455F79 B8 B02B4500 MOV EAX,Finel.00452BB0
00455F7E 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00455F81 8B92 A4030000 MOV EDX,DWORD PTR DS:[EDX+3A4]
00455F87 . 8982 78020000 MOV DWORD PTR DS:[EDX+278],EAX
00455F8D . 90 NOP
00455F8E . 90 NOP
00455F8F . 90 NOP
00455F90 . 90 NOP
00455F91 . 90 NOP
00455F92 . 90 NOP
По адресу 00457310 вписываем:
00457310 . 41 6C 65 78 6>ASCII "Alexey Solodovni"
00457320 . 6B 6F 76 00 ASCII "kov",0
Только вот когда заходишь по адресу 00455F6E,то на команде MOV EAX,DWORD PTR DS:[EBX+C] происходит исключение:
004452B8 /$ 55 PUSH EBP
004452B9 |. 8BEC MOV EBP,ESP
004452BB |. 53 PUSH EBX
004452BC |. 56 PUSH ESI
004452BD |. 57 PUSH EDI
004452BE |. 8BF9 MOV EDI,ECX
004452C0 |. 8BF2 MOV ESI,EDX
004452C2 |. 8BD8 MOV EBX,EAX
004452C4 |. B8 0A000000 MOV EAX,0A
004452C9 |. E8 4ED3FBFF CALL Finel.0040261C
004452CE |. 66:8930 MOV WORD PTR DS:[EAX],SI
004452D1 |. 8978 02 MOV DWORD PTR DS:[EAX+2],EDI
004452D4 |. 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
004452D7 |. 8950 06 MOV DWORD PTR DS:[EAX+6],EDX
004452DA |. 8BD0 MOV EDX,EAX
004452DC |. 8B43 0C MOV EAX,DWORD PTR DS:[EBX+C] <---------------ошибка
004452DF |. E8 1C46FCFF CALL Finel.00409900
004452E4 |. 5F POP EDI
004452E5 |. 5E POP ESI
004452E6 |. 5B POP EBX
004452E7 |. 5D POP EBP
004452E8 \. C2 0400 RETN 4
| Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 25 декабря 2007 00:00 · Личное сообщение · #13
софт не смотрел но мб в дворд до
00457310 . 41 6C 65 78 6>ASCII "Alexey Solodovni"
00457320 . 6B 6F 76 00 ASCII "kov",0
надо написать 0x13?
----- Shalom ebanats! | Сообщение посчитали полезным: |
Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 25 декабря 2007 20:36 · Личное сообщение · #14
если не читал "How break RSA-1024 ? ASProtect 1.0/1.1/1.11c" http://www.woodmann.com/crackz/Tutorials/Asprotect.zip , написанный Amenesia//TKM!, то настоятельно рекомендую к прочтению и пониманию. Это к вопросу о наличии ключа для расшифровки.
----- EnJoy! | Сообщение посчитали полезным: |