Как обойти Hasp ?

Mandarin
Дата: 25.02.2005 14:09:40
Привет всем !
кто силен в Каше скрипт подскажите, как обойти ключь защиты ?
есть у нас прога ... нам ее на заказ делали, защищена эта чудо программа Hasp'ом нашел я в их коде где проверяется наличае хаспа и того что он возвращает.

вот значит кусок кода:
d Start^testCheckKey (эта строчка вызывает программу testCheckKey которая в свою очередь выполняет следующую команду d Do^CheckKey, насколько я понял CheckKey это программа которая чето проверяет... в о только я ее в общем списке программ не видел)

s vOref=""
;
i '$d(vForIsOneItem) d q
. n Panel
. s ..Panel1.Width=0
. s ..Panel7.Visible="False"
. s ..MIMessage.Enabled="False"
. s Panel=##class(%TMPanel).%New($lb(..Panel2.Address))
. s Panel.Align="alClient"
. s Panel.Font.Color=$$$clRed
. s Panel.Font.Size=24
. s Panel.Caption="Доступ запрещен"

вообщем ситуация следующая тут идет проверка... если vForIsOneItem содерщит в себе список правельной структуры (на верняка тот что вернул ему хасп) то прога продолжает работу в нормальном режиме если нет то выбрасывает окно "Доступ запрещен". Просто отключить проверку не получается т.к. компоненты на форме строятся в зависимости от того что вернул Hasp, рабочая база имеется посмотреть значения переменных можно в любых местах кода, вот только подскажите где и что мне смотреть ?
SerSh
Дата: 25.02.2005 16:01:14
Проще всего обратиться к разработчику.
не автор
Дата: 23.03.2005 02:51:28
Вот прям так взять и выложить Вам крек за бесплатно было бы не совсем честно по отношению к разработчику.

Но могу посоветовать пойти по такому пути. Раз исходники получить у Вас не выходит, то для начала закомментируйте вызов
d Start^testCheckKey это делается установкой символа ; (точка с запятой) перед буквой d, или удалите совсем сей вражеский код.

Затем было бы не плохо написать что-нить типа s vForIsOneItem="Hello World!"
после этого наверняка чудопрограмма не будет писать приветствие "Доступ запрещен".

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

Так что возможно и прав автор первого ответа - можно обратиться к разработчику... или опубликовать кусочек кода побольше... можно будет продолжить удаленное командное программирование ...
то же не автор :)
Дата: 21.04.2005 09:00:13
не автор
Помочь решить эту проблему по тому куску кода, который Вы опубликовали не удастся никому...


Если есть HASP:
1. проанализировать состояние переменных, когда HASP подключен.
2. заполнить эти переменные ручками закоментировав вызов проверки HASP.

если в той переменной содержится описание меню, то код будет примерно:
merge ^temp=vForIsOneItem. merge - это на случай, если переменная vForIsOneItem индексированая
еще не автор :))
Дата: 13.05.2005 11:12:23
Сохрани объектный код программы CheckKey утилитой ROMF и вышли его на мой адрес p01ser@mail.ru. Попробую его декомпилировать.
то же не автор :)
Дата: 16.05.2005 06:16:00
еще не автор :))
Попробую его декомпилировать.

Каким образом? У тебя есть технология? Поделись с народом :)
Memo
Дата: 06.06.2005 17:31:08
то же не автор :)
Каким образом? У тебя есть технология? Поделись с народом :)

Читаем здесь: http://sql.ru/forum/actualthread.aspx?tid=171025