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

 eXeL@B —› Протекторы —› HASP HL envelope for Win9X 16-bit (new executable)
Посл.ответ Сообщение

Ранг: 6.7 (гость), 2thx
Активность: 0.01=0.01
Статус: Участник

Создано: 14 октября 2015 18:53
· Личное сообщение · #1

Здравствуйте!
Имеется программа NE 16bit под win95, с привинченным hasp envelope, который очень хотелось бы снять/удалить, а можно в конце концов оставить и как есть, только сделать эмуляцию ключа (если это возможно). Сам ключ есть (USB). Столкнулся с такой проблемой, что нет путного отладчика, единственное что нашел - это турбо дебаггер под windows 16-bit. Все бы хорошо, но сам отладчик довольно убогий и во-первых не позволяет сбрасывать дамп памяти в файл (все время говорит, что failed to save dump, проверялось на win98 и xp). Этот момент в принципе решаемый - под winxp дампится вся память ntvdm (с помощью procdump например). Но там же вторая проблема - в отличие от PE файла сегменты разбросаны в памяти в совершенно случайном порядке по отношению к их расположению в исходном NE файле, нет сплошной сегментации (что, наверное, логично для 16 бит), чтобы сдампить все целиком.
Главный прикол в том, что используются функции 3C/3D хаспа, и одним только дампом ключа для эмуляции не обойтись.
Что можете посоветовать?
Имеет ли смысл ставить досовый softice, чтобы отлаживать винду и все это хозяйство вместе с ключом? Какие пути решения вообще существуют? Посоветуйте пожалуйста. Виндовый soft-ice под win98 показывает/трассирует только 32-битный код. Программа специальная под специфическое оборудование в ограниченном количестве, поэтому готового решения в интернете нет.

Спасибо!



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

Создано: 14 октября 2015 20:02 · Поправил: dosprog
· Личное сообщение · #2

ambro83 пишет:
Виндовый soft-ice под win98 показывает/трассирует только 32-битный код.


Виндовый soft-ice под win98 показывает/трассирует любой код, в том числе WIN16 и V86 .






Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 15 октября 2015 07:58
· Личное сообщение · #3

ambro83
покопались бы в NE формате, для начала. может, желание дебажить отпадет, если потом не соберете все воедино
TRW под 98-ю был еще, на счет NE поддержки не помню

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




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

Создано: 15 октября 2015 09:46 · Поправил: dosprog
· Личное сообщение · #4

ajax пишет:
TRW под 98-ю был еще,


Кстати, да.
Он как-то мимо меня прошёл, но его люди хвалили.

Code:
  1.     TRW2000 for Win95/98 (1.23)    
  2.         (ShareWare version)
  3.  
  4.        (C)opyright 1999,2001            
  5.          by LiuTaoTao,ZhuNanHao
  6.  
  7.  [!] Powerful Windows9x system 
  8.      debugger.                    
  9.  [!] traces DOS COM, DOS EXE,DPMI,
  10.      16bit NE,32bit PE programs.  
  11.      ring0 VxDs.                  
  12.  [!] trace from Ring0             
  13.  [!] support complex breakpoints
  14.  [!] many new ideas                
  15.  
  16.      http://www.knlsoft.com       




Ранг: 6.7 (гость), 2thx
Активность: 0.01=0.01
Статус: Участник

Создано: 15 октября 2015 10:44
· Личное сообщение · #5

dosprog
Странно, у меня как-то не получилось в софтайсе увидеть 16-битный код. Может быть я плохо пытался

dosprog ajax
Спасибо! Попробую TRW.



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

Создано: 15 октября 2015 12:52 · Поправил: dosprog
· Личное сообщение · #6

ambro83 пишет:
Странно, у меня как-то не получилось в софтайсе увидеть 16-битный код. Может быть я плохо пытался


) Очевидно, да.






Ранг: 6.7 (гость), 2thx
Активность: 0.01=0.01
Статус: Участник

Создано: 13 ноября 2015 19:48
· Личное сообщение · #7

Короче как-то решился вопрос, написал даже парсер для NE файлов. В основе лежал загрузчик IDA NE. Исходников от него не было, но зато была сама ида и небольшой мануал по структуре NE файла.
Удивительно, что оказалось возможным из расшифрованного кода программы полностью удалить сегмент, в котором только проверялся ключ. При этом после соответствующей правки фиксапов все остается рабочим.

До softice руки не дошли, turbo debugger вполне справился.

Парсер прилагаю, может кому пригодится.

01c7_13.11.2015_EXELAB.rU.tgz - try.c

| Сообщение посчитали полезным: ajax

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

Создано: 13 ноября 2015 22:56 · Поправил: dosprog
· Личное сообщение · #8

ambro83 пишет:
Парсер прилагаю, может кому пригодится.


Спасибо, конечно. Только валится он при запуске.
Ну то такое..

А вообще есть NEDUMP.EXE из комплекта HIEW.





Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 13 ноября 2015 23:43
· Личное сообщение · #9

ambro83 пишет:
Главный прикол в том, что используются функции 3C/3D хаспа, и одним только дампом ключа для эмуляции не обойтись.

Ну, это массово эмулируется на 100%, если не ошибаюсь с 2003 года ;)


 eXeL@B —› Протекторы —› HASP HL envelope for Win9X 16-bit (new executable)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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