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

 eXeL@B —› Протекторы —› И снова HASP Envelope
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>
Посл.ответ Сообщение


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 18 сентября 2006 07:39 · Поправил: ARCHANGEL
· Личное сообщение · #1

Народ, тема достаточно проста, наконец-то мои руки дошли до изучения HASP Envelope by Alladin или как его там. Примером для своих опытов выбрал я известный Kompas 3D V7 plus и начал его отучать от электронного ключа, но процесс был недолгим, т.к. тут вот какая фигня. Дело в том, что мне нужно ни много, ни мало запустить прогу без USB-ключа, если я её распакую, то цель будет достигнута, но проблема в том, что проверка ключа идёт где-то в недрах самой защиты, и прога без него не распаковывается, значит не получается сделать рабочий дамп, драйвера-эмуляторы тут могут помочь, но на разных операционных системах нужны разные драйвера, а это уже не хорошо. Да и процесс создания такого драйвера простым не назовёшь (сужу по статьям с wasm.ru про Hasp - автор Chingachguk), а изучать стотонные тьюторы без уверенности в их актуальности и возможности потренироваться на более-менее простых примерах тоже неудобно. Можете посоветовать либо толковую ссылку, либо ещё что-то.
И ещё, народ, большая просьба не писать всякую чушь типа "пользуйся поисковиком" или "скачай готовый крэк и изучи", поймите, что я проделал определённую работу прежде, чем создавать свой топик и обращаться на форум, поэтому войдите в положение и постарайтесь написать что-нибудь толковое

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 15.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 27 сентября 2007 10:30
· Личное сообщение · #2

Попробуй поюзать монитор Тора меньшей версии например 2,1... КРоме того любой монитор должен хотя бы показывать пароли ключа с этого и надо начинать. Просто монитор 3,2 наверное уже не мониторит лпт порты, а только юсб и заточен под новые дрова. Первая функция которая обрабатывается прогой кроме служебных результаты которых не проверяются всегда будет функа IsHasp проверка есть ли вообще ключ который откликается на такие пароли. результат работы возвращенный статус ноль найден единица нет. если единица то проверка дальше не идет.




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 27 сентября 2007 11:21
· Личное сообщение · #3

Tupis
любой монитор должен хотя бы показывать пароли ключа
пароли ключа уже отловил. как дальше отловить саму функцию IsHasp? ещё оказалось, что ида не увидела кусок кода, который в сайсе исполняется как надо. хасп может шифровать участки кода софта? или код самого хаспа пошифрован в exe'шнике проги?
PS: Hasp v4.02



Ранг: 146.7 (ветеран), 1thx
Активность: 0.070
Статус: Участник

Создано: 27 сентября 2007 12:08
· Личное сообщение · #4

как дальше отловить саму функцию IsHasp?
поищи в теле проги CMP BH,32 [80FF32h]...
ниже будет call, который и есть вход АПИ хаспа...
оттуда и пляши дальше...



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

Создано: 27 сентября 2007 12:24
· Личное сообщение · #5

intro
Жалко что не удалось сайс с эмулем подружить, тогда олька только. В принципе данные с эмуля не особо нужные кидаются, т.к. все можно увидеть в регистрах после отработки функи.



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 27 сентября 2007 13:17
· Личное сообщение · #6

intro
Я упустил нить ветки ( сорри за каламбур) . А в чём проблема собственно изначально заключалась ?



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

Создано: 27 сентября 2007 13:22
· Личное сообщение · #7

Hugo Chaves пишет:
А в чём проблема собственно изначально заключалась ?


intro пишет:
Есть прога, защищенная ключем HASP. Самого донгла нет.

Конверта тоже нет, только API.



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 27 сентября 2007 13:34
· Личное сообщение · #8

Gmc

Тогда это оффтоп.
А совет s0cpy самый правильный.




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 27 сентября 2007 13:40
· Личное сообщение · #9

s0cpy
поищи в теле проги CMP BH,32 [80FF32h]...
поиск не дал результатов. такая комбинация не встречается в теле проги, по крайней мере в чистом виде. возможно участок кода пошифрован...

Gmc
да, похоже придется использовать ollydbg...



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

Создано: 27 сентября 2007 13:47
· Личное сообщение · #10

intro
Брякайся на FreeEnvironmentStringsA и выходи на уровень выше, там ищи что-то вроде этого

cmp bh, 32 - проверяем чтобы номер функции был < 50
jb 004C68FD
mov esi, dword ptr [ebp+08]
mov eax, dword ptr [esi]
mov esi, dword ptr [ebp+10]
mov esi, dword ptr [esi]
push ebp
call 004C7236 - Тут вызов HASP
pop ebp
mov edi, dword ptr [ebp+14]
mov dword ptr [edi], eax - первое возвращаемое значение
mov edi, dword ptr [ebp+10]
mov dword ptr [edi], ebx - второе возвращаемое значение
mov edi, dword ptr [ebp+0C]
mov dword ptr [edi], ecx - третье возвращаемое значение
mov edi, dword ptr [ebp+08]
mov dword ptr [edi], edx - четвертое возвращаемое значение



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 27 сентября 2007 13:59
· Личное сообщение · #11

intro

А ссылку на прогу можно получить ?



Ранг: 39.4 (посетитель), 9thx
Активность: 0.01=0.01
Статус: Участник

Создано: 27 сентября 2007 19:00 · Поправил: 2nd
· Личное сообщение · #12

в новом api такого кода нет.
да и новым назвать его трудно - больше трех лет ему уже.




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 28 сентября 2007 14:58
· Личное сообщение · #13

Hugo Chaves, пока нет, так как в инете я не нашёл, а образ диска выложить канал не позволяет.
2nd, а может быть есть какой-нить другой, специфичный для нового аpi?



Ранг: 23.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 30 сентября 2007 18:11
· Личное сообщение · #14

intro пишет:

Hugo Chaves, пока нет, так как в инете я не нашёл, а образ диска выложить канал не позволяет.
2nd, а может быть есть какой-нить другой, специфичный для нового аpi?


В общем так....
В ольке - юзай Olly Advance - это для того что бы тебя хасп не увидал.
Делай HW бряк на deviceIoControl - тебе надо отловить перед этим CreateFile - по параметрам файла поймеш что это хасп - словишь хэндл - его в deviceIoControl -и смотри - это есть не что иное как вызов напрямик в дровишки из программы (или ДЛЛ).
Далее по коду ты найдешь ту функу которая плюет данные в deviceIoControl - это и будет та функа - у нее обычно кол-во входных параметров равно стандартной hasp(....); из СДК

З.Ы. Ну и Кроме торовского еще и другие логеры есть




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 30 сентября 2007 21:55
· Личное сообщение · #15

sataron пишет:
Ну и Кроме торовского еще и другие логеры есть

эт я в курсе.
в остальном, спс за совет. буду смотреть.

вопрос ещё один есть - хасп блокирует запуск проги без ключа, а ведь можно использовать апи хаспа в связке с собственным защитным кодом для дополнительных проверок внутри проги во время работы софта, так ведь. таким образом в самый неожиданный момент может случиться аварийный выход из проги или какие-то функции не будут работать или, что ещё хуже, буду выдавать заведомо некорректный результат. и проверок таких может быть, соотвественно, масса. кто-нибудь сталкивался с подобной реализацией защиты с использованием хаспа?



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

Создано: 02 октября 2007 12:28
· Личное сообщение · #16

intro пишет:
буду выдавать заведомо некорректный результат. и проверок таких может быть, соотвественно, масса.


Есть примеры, когда в памяти ключа хранятся константы, которые используются для вычислений, а также шифрованные данные, которые расшифровываются через ключ. И их довольно много.




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 02 октября 2007 12:46
· Личное сообщение · #17

Gmc, я так и думал... В таком случае единственным выходом является эмулирование ключа со всеми необходимыми данными, так? И без оригинального ключика сделать это крайне затруднительно. И попытка отломать обращения к ключу ни к чему хорошему в итоге всё равно не приведёт.



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

Создано: 02 октября 2007 12:55
· Личное сообщение · #18

intro
Скажи хотя бы название проги, может в сети есть дамп. И выложи хотябы ехешник.




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 02 октября 2007 15:50
· Личное сообщение · #19

Gmc
Да дело пока не в том, чтобы найти готовый дамп. Хочу просто разобраться в вопросе. Обойти проверку при запуске софта мне удалось. Теперь хочу пройти, так сказать, по другому пути.



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

Создано: 02 октября 2007 15:52
· Личное сообщение · #20

intro пишет:
Теперь хочу пройти, так сказать, по другому пути.


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



Ранг: 23.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 03 октября 2007 18:58
· Личное сообщение · #21

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

Я как то без дебага прогу запустил ориентируясь только на номер ячейки в ключе



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

Создано: 17 октября 2007 10:02
· Личное сообщение · #22

обновить бы ссылку на тутор от s0cpy ..




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 17 октября 2007 10:41 · Поправил: intro
· Личное сообщение · #23

DAKnnn
статья лежит в разделе "RAR-cтатьи" сайта и прекрасно качается по --> этой ссылке <--



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

Создано: 03 ноября 2007 18:52 · Поправил: evgbog
· Личное сообщение · #24

Пытаюсь расковырять прогу. Ключа нет. PEiD сообщает "HASP HL Protection V1.X -> Aladdin *". Секция .protect присутствует. Компилятор Microsoft Visual C++ 7.0. Как подступиться?

Дополнение:
1. Имеется предыдущая версия этой программы со снятой защитой
2. Первые 3 байта кода известны.




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 04 ноября 2007 00:02
· Личное сообщение · #25

evgbog пишет:
Как подступиться?

Для начала почитай тутор "Unpacking HASP, HASP_HL(SL) & HARDLOCK Envelop with key or emulator" от s0cpy, думаю много вопросов после этого разрешится. Лежит тут по ссылке в предыдущем посте.

evgbog пишет:
Первые 3 байта кода известны

Прикольно, дай отгадаю, это - 4D5A50h aka MZP



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

Создано: 04 ноября 2007 00:15 · Поправил: SergioPoverony
· Личное сообщение · #26

Админов прошу удалить вссе мои записи с данного раздела форума!"



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

Создано: 04 ноября 2007 01:14 · Поправил: SergioPoverony
· Личное сообщение · #27

Админов прошу удалить вссе мои записи с данного раздела форума!"



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

Создано: 04 ноября 2007 01:24 · Поправил: evgbog
· Личное сообщение · #28

intro пишет:
Для начала почитай тутор "Unpacking HASP, HASP_HL(SL) & HARDLOCK Envelop with key or emulator" от s0cpy, думаю много вопросов после этого разрешится. Лежит тут по ссылке в предыдущем посте.

я так понял, что это вариант, когда есть ключ, но у меня ключа нет

intro пишет:
Первые 3 байта кода известны
Прикольно, дай отгадаю, это - 4D5A50h aka MZP

Нет, не угадали.. это 6A 74 68 aka PUSH 74 PUSH XXXXXX
это код в точке входа, у защищенногно модуля он другой

почитал документацию по HASPу (http://www.aladdin.com/support/hasp/vendor.aspx),
есть на русском

удалось с помощью Toro Monitor отследить PW1 и PW2
какие нужно еще заполнить поля в Toro чтобы он заработал как емулятор ключа?
какими должны быть поля Generation, DongleType, MemoryType, USB И т.д?

а то у меня проходят команды
Hasp In:> HaspIsHasp
Hasp Out:> HaspIsHasp Status=7 (0x7) P1=0 P2=0
и все..
status=7 я так понимаю это "HASP_CONTAINER_NOT_FOUND"



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

Создано: 04 ноября 2007 08:20 · Поправил: SergioPoverony
· Личное сообщение · #29

Админов прошу удалить вссе мои записи с данного раздела форума!"



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

Создано: 08 ноября 2007 13:46
· Личное сообщение · #30

Блин, что все молчат то???



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

Создано: 08 ноября 2007 14:51
· Личное сообщение · #31

Админов прошу удалить все мои записи в данном разделе форума!


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>
 eXeL@B —› Протекторы —› И снова HASP Envelope
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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