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

 eXeL@B —› Основной форум —› Вопрос по конвертации дампа и эмуляции HASP HL
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 07 ноября 2007 14:53 · Поправил: ToBad
· Личное сообщение · #1

О ключах масса информации, читал много и везде, накачал много эмуляторов и дамперов. Голова кругом идёт.
Чем больше информации, тем сложнее выделить правильный подход.
Прошу подсказать правильный путь. Есть программа, вышла новая версия. Как я понял в предыдущей был HASP4. Делал всё так:
Снимал дамп с помощью h4dmp, получал один файл, далее UniDumpToReg и эмулировал с помощью haspflt.sys идущего с Компасом 7.
Новая версия говорит что не найден HASP HL. При подобном со старой версией способе эмулирования программа ключ находит, но ругается на крипто алгоритмы. Ошибку я понял, и стал использовать h5dmp для снятия дампа. Получил 2 файла. Теперь не очень пойму чем их оба hasp.dmp и hhl_mem.dmp конвертировать в reg и чем потом эмулировать. Смотрел эмуль на основе hardlock.sys для v_net который вроде работает только 20 минут, но с ним ключ вообще не найден…
Посоветуйте пожалуйста конвертор и эмулятор.



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

Создано: 14 ноября 2007 09:55
· Личное сообщение · #2

sataron пишет:
Я лично виде 4 таблицы по 2048 байт.

Я видел 6 таблиц (когда по моей просьбе накладывали конверт с максим. возможными опциями).
Я примерно догадался про че речь.. мы тут с дигером эту тему обсуждали.... не подсказывайте разрабам пути к заваливанию эмуля.... пусть сами думают
Какое нафиг заваливание? Нормально сделанный муль запросто решает этот вопрос.
Достаточно те запросы, которых нет в табличке кодировать/декодировать по своему алго (да или просто ксорить на любую константную последовательность или просто константу).




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

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

sataron пишет:
GetTickCount


О, это существенная подсказка ! Спасибо !

Hugo Chaves пишет:
Пиши в приват. Попробую объяснить как и что , если сам не хочешь разбираться.


Пока начало получатся. GetTickCount нашёл. Новую табличку составлю, ну а там если будут вопросы - обязательно напишу ! Спасибо !

AlexVel пишет:
Достаточно те запросы, которых нет в табличке кодировать/декодировать по своему алго (да или просто ксорить на любую константную последовательность или просто константу).


А, в смысле придумываем некий алго где при encode и последующем decode должно получиться исходная последовательность... Супер ! Попробую.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

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

Кстати, а исходничков VUsbBus.sys ни у кого не завалялось ? Делать бы вывод при отсутствии данных в табличке вместо 0102030405060708090A0B0C0D0E0F10 по простому алго как писал AlexVel.




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

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

Читая данную тему, параллельно возник вопрос по HASP HL, используется ли в этой версии обмен данными с ключем при помощи прерывания INT 06 (INVALID OPCODE), или уже все идет через DeviceIOControl? Я так понимаю, что весь обмен данными через DeviceIOControl идет в шифрованном виде?



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

Создано: 14 ноября 2007 16:41
· Личное сообщение · #6

В этой версии чего?
Способ передачи пакета из АПИ драйверу определяется версией АПИ (оно обычно слинковано с самим приложением) и версией самих дров. От типа ключа тут ничего не зависит.
Запусти AVZ4. Если увидишь там примерно такое:
1.3 Проверка IDT и SYSENTER
Анализ для процессора 1
>>> Опасно - подозрение на подмену адреса ЦП[1].IDT[06] = [B998816D] C:\WINDOWS\System32\drivers\Haspnt.sys, драйвер опознан как безопасный
>>> Опасно - подозрение на подмену адреса ЦП[1].IDT[0E] = [B9987FC2] C:\WINDOWS\System32\drivers\Haspnt.sys, драйвер опознан как безопасный
значит общение проги с драйвером _может_ идти и через прерывания.
АПИ пакет и в том, и в другом случае зашифрован.



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

Создано: 14 ноября 2007 19:46
· Личное сообщение · #7

ToBad пишет:
О, это существенная подсказка ! Спасибо !

Это не подсказка - это дна из ф-ий для генератора ПсевдоRandom я в свое время чуть диплом не защитил на тему генератора рандома и теории хаоса вместе взятых. так что ГетТикКонт - это фуфло.. но работает




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 15 ноября 2007 18:31
· Личное сообщение · #8

Опять не всё гладко. Что бы избежать рандомных запросов делаю лоадер и перехватываю GetTickCount. Возвращаю всегда 1000. С ключом программа запускается. Работает. Несколько снятых логов идентичны. Делаю табличку, запускаю под эмулем на другой машине без ключа. Первый запрос в табличке найден, второй идёт рандомный…. Вернее не рандомный, он был ранее в таблицах что составлял без учёта GetTickCount, но даже если прибавить те таблицы, где то на 4-м запросе снова всё накрывается…
Не знаю что делать, пробовал отлаживать под Олькой, но когда ставил бряк на GetTickCount и выходил из него отпуская программу наблюдал дикое торможение всей системы, Ольки и отлаживаемого процесса… Удавалось убить процесс минуты через 3…
Дайте пожалуйста совет что делать, совсем уже руки опускаются от безысходности и постоянных препятствий…



Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 19 ноября 2007 23:11
· Личное сообщение · #9

ToBad
рандомные запросы идут из конверта или из самой проги? если из проги то надо мотреть как формируются.
Если прога не сильно большая, мог бы глянуть, немного с АПИ хаспа HL знаком




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

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

Tolkin пишет:
Если прога не сильно большая, мог бы глянуть


Прога очень большая. Лог снимал запатчив GetTickCount на машине с ключом. Рандом пропал. Раза 3 полностью одинаковые запросы к decrypt. На основе лога сделал эмуль и стал запускать на своём компе и ещё 3-х с разными процами. После нескольких правильных запросов/ответов идёт запрос которого нет в табличке. Причём на всех моих 4-х компах этот запрос одинаковый. Не рандом, но уже другая линия нежели на компе с ключом. Отсюда вопрос, возможно в конверте использование CPUID или чего то другого (явно не сериал hdd или биос дата), что может давать такую редкую рандомность ?
CPUID в конверте я встречал, трейсил на разных процах, но на вызов этой инструкции так и не попал. Может кто то знает ?
Из ситуации на днях выйду, думаю будет лог ещё с пары компов под ключом, но всё же интересно понять.



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

Создано: 31 января 2008 15:19
· Личное сообщение · #11

Видимо, у меня ситуация проще, потому что я в логгере получил 680 пар (новые продолжали появляться), сделал рег-файл, в котором 16-байтные запросы в начале, 48 - в конце. Запустил муль, ссылочку на который любезно предоставил Диггер. Всё заработало. Надеюсь, что всё. Теперь некоторое время на тесты понадобится.
А вот ГетТикКаунт я так и не сумел запатчить. Сложновато это мне с моими скудными познаниями. Если многоуважаемый ToBad подскажет как это сделать, будет вообще хорошо.
А при беглом просмотре кода я нашёл и CPUID и кучу ссылок на GetTickCount. Только вот что с ними делать...



Ранг: 106.6 (ветеран), 7thx
Активность: 0.040.02
Статус: Участник

Создано: 31 января 2008 17:30
· Личное сообщение · #12

maduser
Предлагаю не патчить



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

Создано: 31 января 2008 18:29 · Поправил: maduser
· Личное сообщение · #13

sataron
Смотри ПМ.
Вот у меня после часа запусков и случайного нажатия "очистить всё", а потом повторных пары-тройки часов пусков, набралось 680+24+24 пары. И то далеко не всё.

Ааааа! Я эту самую SYSENTER видел, но пока не знаю, о чём эта функа. Как я понял, она и вызывает процедуры общения с ключом.



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

Создано: 31 января 2008 19:07
· Личное сообщение · #14

sataron
Кстати, вам с Хирургом лично по поводу логгера. У торо есть удобная штука - он в отдельном окне высвечивает только разные пары. Я, конечно, сделал обработчик вашего лога, который убирает повторы, делает готовый рег из лога, но там пары уже разные.
Хотя, с другой стороны, если всё будет делаться автоматически, то реально кодить будут только две-три дюжины человек, а остальные тупо пользоваться.
ЗЫ Сорри за оффтоп, но это косвенно касается темы



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

Создано: 01 февраля 2008 10:51
· Личное сообщение · #15

digger70
Кстати а правда как правильно запатчить GetTickCount или все же лучше найти проверку и ее пропатчить?



Ранг: 106.6 (ветеран), 7thx
Активность: 0.040.02
Статус: Участник

Создано: 01 февраля 2008 11:29
· Личное сообщение · #16

Tupis
А зачем вообще ее патчить то?



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

Создано: 01 февраля 2008 11:44
· Личное сообщение · #17

digger70 пишет:

А зачем вообще ее патчить то?

Касательно Хаспа наверное и не нужно меня интересует другая программа где ее надо запатчить иначе не возможно программу трейсить, но раз уж тут был разговор о этой апи вот и решил спросить.



Ранг: 106.6 (ветеран), 7thx
Активность: 0.040.02
Статус: Участник

Создано: 01 февраля 2008 12:04
· Личное сообщение · #18

Tupis
Ааа... Тогда уж проверку патч. Кто его знает, как там данные GetTickCount используются.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 03 мая 2010 22:52
· Личное сообщение · #19

Простите, что оживил старую тему, но столкнулся с тем, чему в своё время так и не научился. Перечитав тему - понимаю, что всё должно быть просто, но вот тупо что-то не догоняю....

Hugo Chaves пишет:
Целиком конверт и снимать не надо . Ни к чему это !
2 раза сделать дамп запущенной программы и всё будет видно как на ладони .
Дамп снять например LordPE , посмотреть дамп hiew .
Работы на 5 минут.

P.S. Подсказка - не обращать внимания на ошибки Envelope


Вижу несколько мест. Вопрос весь в том, что с этим делать дальше... Как сделать правильный эмуль не снимая конверта? Эти данные из дампов как то в эмуль нужно переносить?

В общем пишу снова из за того, что обычный подход не сработал. Вернее сработал частично.
Есть некая прога, сама ключ не юзает, конвертом покрыты 3 длл использующиеся в работе.
Я как обычно ко всем файлам с конвертом аттачу длл перехватывающую геттиккаунт, что позволяет мне стабилизировать рандом. Далее снимаю лог и делаю эмулятор. Эмулятор работает, программа стартует, загружает 2 из 3-х модулей, всё классно но до момента загрузки третьего. Он начинает грузится, а далее идёт рандомный запрос которого нет в табличке... Не знаю, как поступить.
Есть одна из длл которая работает с эмулятором, пакованная и два дампа что бы заметить разницу. Есть длл не работающая с эмулятором (в пакованном виде и сдампленная один раз под ключом).
Это может чем то помочь?




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

Создано: 04 мая 2010 08:10
· Личное сообщение · #20

ToBad
Возможно, все дело в том, что длл сдамплена всего один раз, и из нее выдрана только одна пара таблиц запрос/ответ, не хватает еще одной такой пары, необходимо первую пару таблиц сунуть в муль, и запустить приложение, возникнет ошибка конверта после чего снова дамп и ищем вторую пару таблиц (аналогично первой паре по GetTickCount), далее ловим монитором все запросы/ответы по 32 и 48 байт. Рандомные запросы на работу муля отрицательно не сказываются.

-----
бессмысленные манипуляции не становятся более разумными если их повторять




Ранг: 106.6 (ветеран), 7thx
Активность: 0.040.02
Статус: Участник

Создано: 04 мая 2010 08:23
· Личное сообщение · #21

SecurAdmin
ИМХО он вообще не вытаскивает таблички. Иначе зачем рандом стабилизировать. В теории и с несколькими таблицами так должно сработать, а на практике видимо нет.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 мая 2010 12:51
· Личное сообщение · #22

SecurAdmin, digger70 Вижу, что метод совсем другой. Есть какая нибудь статья с примером изготовления табличек из двух дампов, ибо я не в теме вообще? Использую как вижу странный способ, хотя временами работает...

Вот пример длл которая эмулируется нормально, сдамплена 2 раза под эмулем, далее лог сравнения.
sample.rar (6.31 MB)
Вот тот кусок 503 байта это и есть табличка? Совсем не понимаю как, это типа из первой длл в QTable идёт, а из второй в ATable?

89e2_04.05.2010_CRACKLAB.rU.tgz - dump_diff.txt



Ранг: 106.6 (ветеран), 7thx
Активность: 0.040.02
Статус: Участник

Создано: 05 мая 2010 05:25
· Личное сообщение · #23

ToBad
Ну статья не статья, а описание процесса достаточно адекватное вот:
forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=44888&start=40



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

Создано: 11 июня 2010 15:05
· Личное сообщение · #24

Помогите нуждающемуся .Мне надо сломать ключ(красный,USB,на ключе написано Hasp, на другой стороне H4 NETS). Ключ не видится ни Hasp_Emulator_Pro_2_33, ни Toro Aladdin Dongles Monitor(т.е. не видит паролей доступа к ключу), пароли нашел haSploGer.Сделал дампы (H5dmp)hasp.dmp,hhl_mem.dmp;сделал reg(UniDumpToReg.exe, делал и glasha и Сhingachuk). Зарегистрировал(и этот reg и Hasp_Emulator_Pro_2_33).И ничего.Hasp_Emulator_Pro_2_33 ключа не видит .В чем дело,где искать, что читать,где ковырять.HASPHL2010 тоже ключа не видит.Ключ подключается на Server2003 SP3 обязательное услвие проги и естественно Hasp LM. (Для Hasp 4 проделывал тожеи все- не работает)



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 11 июня 2010 18:57
· Личное сообщение · #25

windows server x86 или x64? подход вообще для таких ключей такой: h5dmp - dmp2mkey - multikey



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

Создано: 20 июня 2010 15:37
· Личное сообщение · #26

Всем доброго времени суток)
Прочитал все 3 страницы этой темы, но запутался и не особо понял как действовать. Есть прога, а к ней идет маленький USB ключ на котором написано HASP HL. Виндой определяется как HASP HL 2,16. Какие проги нужны для эмуляции и в какой последовательности их применять?
Не искушенный я в этих вопросах, не судите строго.



Ранг: 106.6 (ветеран), 7thx
Активность: 0.040.02
Статус: Участник

Создано: 20 июня 2010 16:02
· Личное сообщение · #27

Маловато прочитал. еще страниц 100 на ru-board прочитай и просветление наступит



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

Создано: 14 августа 2010 09:20 · Поправил: siff009
· Личное сообщение · #28

Есть вопрос ключ hasp hl
В логах идут пары запрос -> ответ :
0B,4A,58,3B,21,B1,6B,71,70,2E,F4,0E,32,63,25,4B,\ -> 8C,E9,39,0E,CE,1F,E1,26,79,F9,EE,9D,D5,8C,62,CC,\
и вот так
0B,4A,58,3B,21,B1,6B,71,70,2E,F4,0E,32,63,25,4B,\ -> FE,0D,A4,46,A3,A8,7A,53,80,28,25,B7,68,1D,61,CE,\

и таких пар, когда один запрос а ответы разные много, как эмулятор будет их разбирать?




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 14 августа 2010 13:10 · Поправил: DenCoder
· Личное сообщение · #29

Такие последовательности нисколько не нарушают теорию автоматов, в том числе и не противоречит работе машины тьюринга. Ответ на Ваш вопрос в самом вопросе - как-то!

-----
IZ.RU




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

Создано: 19 января 2011 09:26 · Поправил: norman87
· Личное сообщение · #30

Всем привет! Вот вынимаю ключ из USB, запускаю прогу и вижу диалоговое окно в названием "HASP SRM Protection System" в котором написано следующее "Unable to access HASP SRM Run-time Environment (H0033)"... Я так понимаю, что софт защищен программно-аппаратным комплексом HASP SRM и в таком случае стандартного подхода "сдампил + сэмулировал" нет, как при муле HASP4 (и может HASP HL)...
Многоуважаемый товарищ Larry пишет следующее (http://forum.lavteam.net/showtopic=25849):
"Нужно мониторить пароли ключа под любым доступным логгером: TORO или Хирург+sataron. И потом уже снимать дамп с ключа с помощью программы 'h5dmp.exe', которая, кстати, входит в состав логгера TORO.
Однако, если при запуске программы без ключа в сообщении об ошибке присутствует аббревиатура 'SRM', то можно не париться. По крайней мере, публичных решений для ключа HASP SRM в настоящее время не существует"

Это окончательный приговор и можно даже не ёрзать и покупать еще один ключ?
Скажите, как бы Вы лично действовали при попытке сэмулировать HASP SRM? Программа HaspSrm Dumper 1.4 поможет в достижении цели?

Заранее спасибо.

P.S. Работаю с программой COADE PVElite 2009



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 19 января 2011 11:50
· Личное сообщение · #31

SRM делают, но публичного пока ничего нет

-----
старый пень



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


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