Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 28 января!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

АРХИВ ФОРУМА eXeL@B
https://exelab.ru/f/

   

PalR Про HASP Откликнитесь кто в Хаспе шарит.


PalR Про HASP Откликнитесь кто в Хаспе шарит.
бара :: www.ahteam.org

-= ALEX =- :: бара хе хе, а че больше никого что-ль нет. есть же люди, который за бесплатно отломают. ЗЫ. я не в их числе :)

PalR :: бара
И чо ты меня туда послал

MoonShiner :: Что надо?

PalR :: 1)В ХР вряки
bpio -h 278 R
bpio -h 378 R
не ставятся. Чо то с синтаксисом.

2)А можно проверку хаспа обойти, а не эмулировать?

бара :: Я туда послал просто потому, что там уже решали эти вопросы. Да и возьмут недорого.
----
Насчёт бряков - без »-h» попробуй....

PalR :: Всё по HEX-у
* Referenced by a CALL at Addresses:
¦:00525DBA , :00525E76 , :005265FF , :00526D8F , :00526ECC
¦:00527219 , :00527616 , :00527EAD , :0052A121 , :0052A2E3
¦:0052A417 , :0052A6B6 , :0052A701 , :0052A804 , :0052A849
¦:0052A966 , :0052A9B1 , :0052AACA , :0052AB0F , :0052AC62
¦:0052ACCB , :0052ADF4 , :0052AE2C , :0052AF76 , :0052AFBD
¦:0052B0B7 , :0052B0EB , :0052B1DE , :0052B216 , :0052B40A
¦:0052B44D -----------отсюда эта байда вызывается
¦
:0052B470 55 push ebp
:0052B471 8BEC mov ebp, esp
:0052B473 50 push eax
:0052B474 53 push ebx
:0052B475 51 push ecx
:0052B476 52 push edx
:0052B477 57 push edi
:0052B478 56 push esi
:0052B479 8B7514 mov esi, dword ptr [ebp+14]
:0052B47C 8B3E mov edi, dword ptr [esi]
:0052B47E BB00000000 mov ebx, 00000000
:0052B483 8BD8 mov ebx, eax
:0052B485 8AFB mov bh, bl
:0052B487 B300 mov bl, 00
:0052B489 03D9 add ebx, ecx
:0052B48B 8BC2 mov eax, edx
:0052B48D 8B4D1C mov ecx, dword ptr [ebp+1C]
:0052B490 8B5518 mov edx, dword ptr [ebp+18]
:0052B493 80FF32 cmp bh, 32 ------------------------------- как учил великий HEX
:0052B496 7209 jb 0052B4A1
:0052B498 90 nop
:0052B499 90 nop
:0052B49A 90 nop
:0052B49B 90 nop
:0052B49C 8B7508 mov esi, dword ptr [ebp+08]
:0052B49F 8B06 mov eax, dword ptr [esi]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
¦:0052B496(C)
¦
:0052B4A1 8B7510 mov esi, dword ptr [ebp+10]
:0052B4A4 8B36 mov esi, dword ptr [esi]
:0052B4A6 55 push ebp
:0052B4A7 E810260000 call 0052DABC ---------------------------тут вызов HASP
:0052B4AC 5D pop ebp
:0052B4AD 8B7D14 mov edi, dword ptr [ebp+14]
:0052B4B0 8907 mov dword ptr [edi], eax----------- первое возвращаемое значение
:0052B4B2 8B7D10 mov edi, dword ptr [ebp+10]
:0052B4B5 891F mov dword ptr [edi], ebx---------- второе возвращаемое значение
:0052B4B7 8B7D0C mov edi, dword ptr [ebp+0C]
:0052B4BA 890F mov dword ptr [edi], ecx----------третье возвращаемое значение
:0052B4BC 8B7D08 mov edi, dword ptr [ebp+08]
:0052B4BF 8917 mov dword ptr [edi], edx----------четвертое возвращаемое значение
:0052B4C1 5E pop esi
:0052B4C2 5F pop edi
:0052B4C3 5A pop edx
:0052B4C4 59 pop ecx
:0052B4C5 5B pop ebx
:0052B4C6 58 pop eax
:0052B4C7 5D pop ebp
:0052B4C8 C21800 ret 0018

PalR :: Ставим bpx 52B4A7(процедура вызова HASP).
Не ловится. ??????????

WELL :: PalR пишет:
цитата:
2)А можно проверку хаспа обойти, а не эмулировать?


Можно, но только если разработчики проги сделали тупую проверку наличия ключа, типа «если ключ есть, то работаем».

PalR :: В ХР даже окно проги появляется, потом пишет что читайте доки по установке.
В 98 сначала раз 7 появляется сообщение о неверном пароле хасп, а потом как в ХР.
А чо вряки не ловятся.

PalR :: Одина из проверок HASPa.
Если занопить 00525D4A будет ли всё как надо.

CODE:00525D34 var_14 = byte ptr -14h
CODE:00525D34 var_10 = dword ptr -10h
CODE:00525D34 var_C = dword ptr -0Ch
CODE:00525D34 var_8 = dword ptr -8
CODE:00525D34 var_4 = dword ptr -4
CODE:00525D34
CODE:00525D34 push ebx
CODE:00525D35 push esi
CODE:00525D36 add esp, 0FFFFFFECh
CODE:00525D39 mov esi, edx
CODE:00525D3B mov ebx, eax
CODE:00525D3D mov [esp+14h+var_14], 0
CODE:00525D41 mov [esp+14h+var_C], ecx
CODE:00525D45 cmp [esp+14h+var_C], 8
CODE:00525D4A jg short loc_525D58
CODE:00525D4C mov dword ptr [ebx+4], 3 --------------------????????????
CODE:00525D53 jmp loc_525DE7 ; Переход в самый конец проверки HASP
CODE:00525D58 ; -------------------------
CODE:00525D58
CODE:00525D58 loc_525D58: ; CODE XREF: sub_525D34+16j
CODE:00525D58 mov eax, ebx
CODE:00525D5A mov edx, [eax]
CODE:00525D5C call dword ptr [edx+8]
CODE:00525D5F test al, al
CODE:00525D61 jnz short loc_525D78 ; Переход к проверке HASP
CODE:00525D63 mov edx, [esp+14h+var_C]
CODE:00525D67 dec edx
CODE:00525D68 test edx, edx
CODE:00525D6A jl short loc_525DE7 ; Переход в самый конец проверки HASP
CODE:00525D6C inc edx
CODE:00525D6D mov eax, esi
CODE:00525D6F
CODE:00525D6F loc_525D6F: ; CODE XREF: sub_525D34+40j
CODE:00525D6F mov byte ptr [eax], 0
CODE:00525D72 inc eax
CODE:00525D73 dec edx
CODE:00525D74 jnz short loc_525D6F
CODE:00525D76
CODE:00525D76 loc_525D76: ; CODE XREF: CODE:00525D2Cj
CODE:00525D76 jmp short loc_525DE7 ; Переход в самый конец проверки HASP
CODE:00525D78 ; -------------------------
CODE:00525D78
CODE:00525D78 loc_525D78: ; CODE XREF: sub_525D34+2Dj
CODE:00525D78 xor eax, eax
CODE:00525D7A mov [esp+14h+var_10], eax
CODE:00525D7E xor eax, eax
CODE:00525D80 mov [esp+14h+var_8], eax
CODE:00525D84 mov [esp+14h+var_4], esi
CODE:00525D88 mov eax, ebx
CODE:00525D8A mov edx, [eax]
CODE:00525D8C call dword ptr [edx]
CODE:00525D8E movzx eax, ax
CODE:00525D91 push eax
CODE:00525D92 mov eax, ebx
CODE:00525D94 mov edx, [eax]
CODE:00525D96 call dword ptr [edx+4]
CODE:00525D99 movzx eax, ax
CODE:00525D9C push eax
CODE:00525D9D lea eax, [esp+1Ch+var_10]
CODE:00525DA1
CODE:00525DA1 loc_525DA1: ; CODE XREF: CODE:00525D2Fj
CODE:00525DA1 push eax
CODE:00525DA2 lea eax, [esp+20h+var_C]
CODE:00525DA6 push eax
CODE:00525DA7 lea eax, [esp+24h+var_8]
CODE:00525DAB push eax
CODE:00525DAC lea eax, [esp+28h+var_4]
CODE:00525DB0 push eax
CODE:00525DB1 xor ecx, ecx
CODE:00525DB3 xor edx, edx
CODE:00525DB5 mov eax, 3Dh

PalR :: CODE:00525DBA call sub_52B470 ; Проверка HASP
CODE:00525DBF mov edx, [esp+14h+var_8]
CODE:00525DC3 mov eax, ebx
CODE:00525DC5 mov ecx, [eax]
CODE:00525DC7 call dword ptr [ecx+24h]
CODE:00525DCA cmp [esp+14h+var_8], 0
CODE:00525DCF setz [esp+14h+var_14]
CODE:00525DD3 cmp [esp+14h+var_14], 0
CODE:00525DD7 jz short loc_525DE0
CODE:00525DD9 xor eax, eax
CODE:00525DDB mov [ebx+4], eax
CODE:00525DDE jmp short loc_525DE7
CODE:00525DE0 ; -------------------------
CODE:00525DE0
CODE:00525DE0 loc_525DE0: ; CODE XREF: sub_525D34+A3j
CODE:00525DE0 mov dword ptr [ebx+4], 2 --------------------------------?????????????
CODE:00525DE7
CODE:00525DE7 loc_525DE7: ; CODE XREF: sub_525D34+1Fj
CODE:00525DE7 ; sub_525D34+36j ...
CODE:00525DE7 mov al, [esp+14h+var_14] ; Конец проверки
CODE:00525DEA add esp, 14h
CODE:00525DED pop esi
CODE:00525DEE pop ebx
CODE:00525DEF retn

KLAUS :: PalR пишет:
цитата:
Если занопить 00525D4A будет ли всё как надо.


Эксперементируй....

ПРоверку через сообщения отлавливал?

MoonShiner :: А ты смотри как все будет... А бряк должен работать. И читай по номерам функций в мануале, че они делают.

PalR :: Мля и через лодер не грузится. Вернее пишет «An error occured during symbol translation/load». Я им никогда не пользовался. Настроит что надо?
Она написана на хз чём. Вот такие секции
CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc

ozzman :: Delphi

ufo_maniac :: PalR!
ничего не ловится потому что вызывается через исключения!
скорее всего, я на такое уже напоролся...
на васме 2 статьи Чингачгука отличные, жаль что про win98 и без конверта

RottingCorpse :: Что за софтина... урл в студию.

PalR :: Она так просто нигде не лежит. Могу exe-шник на мыло.

RottingCorpse :: ну давай : admin(псина)thecrackz.com

PalR :: Вроде в 98 стало ловиться. Не понятен такой момент. По HEX-у
«Будут вызваны 1, 5 и 3. Функции 1 и 5 и идут без параметров, а вот третьей передается di=0e. Больше вызовов естественно нету т.к. вызов хаспа не дал правильных результатов.»
Что за параметры. И что за di=0e. Где это смотреть.
У меня в 0052B4A7 прерывается 3 раза. Потом появляется сообщение не найден пароль хаспа. Потом опять 3 раза прерывается и опять этоже сообщение. Потом появляется окно проги.

RottingCorpse
Отправил

PalR :: Поднял тему, т.к. ответов пока не нашел.
Направте меня на путь.
Нашел «Руководство программиста HASP4» на русском тут

ufo_maniac :: а почему бы не поставить эмулятор хаспа, что inferno закейгенил, и не посмотреть какие там требуются пароли, какие функции хаспа вызываются, какие и куда им передаются параметры?
так, чиста из интереса...

PalR :: ufo_maniac
Эмулятор есть. А куда смотреть то. Обьясните, блин.

ufo_maniac :: сначала в документацию к эмулятору ;)
а потом:
1 - запускаешь эмулятор
2 - запускаешь прогу
3 - смотришь на окно эмулятора - там должна появиться строка с ненулевыми паролями хаспа (может и не одна :)
4 - создаешь или редактируешь имеющийся рег-файл с этими паролями, запускаешь его. (после этого лучше бы поребутиться)
5 - снова запускаешь эмулятор и программу - в окне эмулятора должна появиться вкладка с твоими паролями (если они правильные)
6 - и вот тут-то можно радостно увидеть что передается в эмулятор и что оттуда вылезает, и как после первого же вызова ф-ции 02 происходит обломс...

PalR :: Вот что имеем
EAX--------------Command------Passwords----------- --EDI-----------------------ESI
00000000-----------01-------------0000:0000------- ------00CF2710--------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
00000000-----------01-------------0000:0000------- ------00CF2710-------------00640000
000063CC----------3D------------7C57:60F7--------- ----00640000--------------00000008

А рег-файла нет у меня. Или можно от другой какой проги. Только поправить.

ufo_maniac :: PalR пишет:
цитата:
Или можно от другой какой проги. Только поправить.


во-во!

гля - чево-то прямо с 3D начинается! - счастливчик!

PalR :: ufo_maniac пишет:
цитата:
рямо с 3D начинается!


Тоесть п...ец что ли?
А чего куда вписывать то.

ufo_maniac :: PalR пишет:
цитата:
Тоесть п...ец что ли?


вроде бы наоборот...PalR пишет:
цитата:
А чего куда вписывать то.


не понял... это про редактирование рег-файла? замени чужие пароли на свои(в имени ключа реестра).
а если про что другое, то вписывай сумму прописью в графу «к выдаче» ( типа - шютка).

infern0 :: сразу с 3d потому чо это конверт.

ViNCE [AHT] :: бара пишет:
цитата:
www.ahteam.org


Хорошо послал...

ViNCE [AHT] :: PalR пишет:
цитата:
А можно проверку хаспа обойти, а не эмулировать?


Это зависит от того что делает прога с ключом... Если с ключом замешана математика проги, то тут без эмуляции не обойтись (+ скорее всего будет нужен ключ)... а если так - одна видимость, т.е. простая проверка - может и битхак подойти...

ufo_maniac :: infern0 пишет:
цитата:
сразу с 3d потому чо это конверт.


по-моему не факт. я себе notepad позаконвертил разными ключами, так или только 02, или много 3d но после 02, 02, 3с(?), 02... по-разному в общем.

infern0 :: тем не менее вероятность что так будет себя вести защита уровня API достаточно мала, а для конверта это почти стандартное поведение.

ufo_maniac :: я человек темный малограмотный
думал конверты можно делать только by envelop.exe.
но тогда только немного кода в секции protect, а у автора - вон сколько открытого кода!
а что PEiD говорит-то?
что-то от PalR’a новостей нет....
а-уууууу!

PalR :: ufo_maniac
Pe говорит Win32 PE Unknown.
Правда тоже самое он говорит и про демо версию. Которая работает без хаспа.
infern0
Она окно программы показывает. Может все таки не конверт. DEDE её разгрызло.

infern0 :: значит самописка какая-то. Типа ресурсы пошифрованы.

MoonShiner :: PalR , рах показывает окно, значит не конверт. Или же конверт без привязки к ключу (не знаю, возможно ли такое с хаспом именно).

PalR :: Чо мне дальше то делать? Всмысле как определить какие цифири должны быть в дампе.

MoonShiner :: Ну ищи либо явные сравнения, либо результаты от действий с возвращаемыми параметрами. По поводу 3C/3D... Доступ хоть какой нибудь к ключу имеется?

PalR :: MoonShiner пишет:
цитата:
По поводу 3C/3D... Доступ хоть какой нибудь к ключу имеется?


Нет. Я дистриб то еле нашел.

MoonShiner :: Ммм... то есть доступа к ключу от этой прги нет ваще? Дистрибутив большой?

PalR :: 20 мб. Хотя можно кастрировать до 3 м.
У меня уже мозги кипят в этих дебрях асма. Кстати какие то самомодифицирующиеся куски кода попадаются. Или глюк SIce.

ufo_maniac :: да, без ключа тут могут помочь только собственные «кипящие» мозги...
a все же нельзя ли показать здесь что видно в окне эмулятора ( там теперь вкладка родных паролей и в ней две таблицы, верхняя с запросом. нижняя с откликом )?

PalR :: IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=05 Pass=7C57:60F7 EDI=00CFBF80 ESI=00640000
OUT -› AX=0001 BX=0004 CX=0066 DX=0000

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000010
OUT -› AX=0000 BX=0010 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000000 ESI=0064FFFF
OUT -› AX=0000 BX=FFFF CX=FFFD DX=0000

Дальше сообщение «HASP с указанными паролями не найден».

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000001 ESI=0064FFFF
OUT -› AX=0001 BX=FFFF CX=FFFD DX=0000
Опять это же сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000002 ESI=0064FFFF
OUT -› AX=0002 BX=FFFF CX=FFFD DX=0000
Опять оно же.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000003 ESI=0064FFFF
OUT -› AX=0003 BX=FFFF CX=FFFD DX=0000
Опять сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000004 ESI=0064FFFF
OUT -› AX=0004 BX=FFFF CX=FFFD DX=0000
Опять.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000005 ESI=0064FFFF
OUT -› AX=0005 BX=FFFF CX=FFFD DX=0000
Опять.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000006 ESI=0064FFFF
OUT -› AX=0006 BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000007 ESI=0064FFFF
OUT -› AX=0007 BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000008 ESI=0064FFFF
OUT -› AX=0008 BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000009 ESI=0064FFFF
OUT -› AX=0009 BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=0000000A ESI=0064FFFF
OUT -› AX=000A BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=0000000B ESI=0064FFFF
OUT -› AX=000B BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=0000000C ESI=0064FFFF
OUT -› AX=000C BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=0000000D ESI=0064FFFF
OUT -› AX=000D BX=FFFF CX=FFFD DX=0000
Опять.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=0000000E ESI=0064FFFF
OUT -› AX=000E BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=0000000F ESI=0064FFFF
OUT -› AX=000F BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000019 ESI=0064FFFF
OUT -› AX=0019 BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000021 ESI=0064FFFF
OUT -› AX=0021 BX=FFFF CX=FFFD DX=0000
Сообщение.

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000021 ESI=0064FFFF
OUT -› AX=0021 BX=FFFF CX=FFFD DX=0000

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000019 ESI=0064FFFF
OUT -› AX=0019 BX=FFFF CX=FFFD DX=0000
Сообщение.

PalR :: Продолжение.

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000019 ESI=0064FFFF
OUT -› AX=0019 BX=FFFF CX=FFFD DX=0000

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000021 ESI=0064FFFF
OUT -› AX=0021 BX=FFFF CX=FFFD DX=0000

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000021 ESI=0064FFFF
OUT -› AX=0021 BX=FFFF CX=FFFD DX=0000

IN ‹- EAX=000063CC Cmd=3D Pass=7C57:60F7 EDI=00640000 ESI=00000008
OUT -› AX=0000 BX=0008 CX=0000 DX=63CC

IN ‹- EAX=00000000 Cmd=03 Pass=7C57:60F7 EDI=00000021 ESI=0064FFFF
OUT -› AX=0021 BX=FFFF CX=FFFD DX=0000
Ошибка по какому то адресу.
И «Программа не зарегистрирована и не доступна для загрузки». На этом всё.

ufo_man :: Ну что, пока вроде страшновато но не безнадежно.
авторитетный товарисч tgodd говорил, что работа ф-ции 3d от содержимого ключа не зависит. но дешифрует видимо прямо в секции кода, а не ресурсов (раз ты видел самомодифицирующиеся участки кода). проверь флаги секции - должно быть writable если я прав.
ф-ция 5 - HaspStatus, выдает размер памяти, тип ключа, номер порта и версию API. вариантов не так уж много.
ф-ция 3 - читает слово из памяти ключа. и прога (дура) тут же сообщает что прочла она что-то не то. есть шанс посмотреть а что же ей нужно.
так что нужно терпение, время, еще раз терпение, много умения, и надежда на то, что когда ты обслужишь все команды из приведенного лога, тебя не ждет что-нибудь похуже...

MoonShiner :: ufo_man пишет:
цитата:
работа ф-ции 3d от содержимого ключа не зависит


Ну это смотря что понимать под «содержимым ключа»... От содержимого его памяти (той, с которой дамп сдираем) мож и не зависит... А вот от вшитой функции зависит и ишо как:) Хотя, с другой стороны, например, в гварданте всякие Decode/Encode ваще в ключ не лезут, а их результат зависит от ранее выполненных подготовительных функций, которые от ключа зависят. (см. хелп по гварданту).
2 PalR : как я понимаю, ты привел лог обращений к клюу без ключа:) Из него видно, что функции, связанные с кодированием-декодированием применяются на небольшой буфер данных, то есть посредством геморройных усилий можно и установить реальные данные. И ваще, топик уже разросся, так что выкладывай эти 20 мегов куда-нибудь, а мы зальем и поковыряемся. Но только на выходных могу, так что торопись:)

PalR :: Кастрированную, но требующую HASPа можно взять здесь
Там вылетает ошибка по адресу такому то. Она и в полной версии.
MoonShiner
Если надо полную, то залью.

MoonShiner :: Говорит 404

PalR :: Поправил.

MoonShiner :: Как то ты хитро поправил:) Нифига не идет...

PalR :: Или тут.

PalR :: Скачал ли?

MoonShiner :: Нет, я закачиваю 404.html... Залей уж тады на мыло. moonshiner*freemail.ru

PalR :: Обе ссылки поправил. Это ограничение сервера на ZIP.

ufo_maniac :: забавная у тя прога!
под 98-й она мне что-то не понравилась (тоже писала что-то про неправильные пароли) - перешел на XP.
и начались претензии:
1 - попросила запустить reg.exe - на тебе!
2 - какого-то ini-файла хочет - сама создала.
3 - попросила BDE - получай!
4 - потом написала: «Вы приобрели (я ??!) сетевую версмю программы, а пытаетесь запустить ее с локальным ключом. настройте, грит, меня в соответствии с документацией» совсем обнаглела! а потом говорит, что неправильный серийный номер.
5 - еще после пары запусков она забыла, что сетевая и бубнит только, что серийник неправильный, и декрементирует 19h-е слово в памяти ключа.

я память наобум заполнил, караул, осталось только 1916h запусков!

psb :: Серийник для дистрибутива - 962-KHA-533-FNA-0529

Вот снято Haspeditom... Глашиного эмуля на момент наличия ключа не было, а сейчас пока нет доступа к ключу...

[Haspedit]
version=9.00

[BatchParameters]
Pass1=31831
Pass2=24823
KeyType=HASP4 M1

;;
;; MemoHASP Memory in hexadecimal format
;;
[MemoHASPMemory]
Image= 0x00C6 0x000F 0x00B7 0x0017 0x0083 0x0096 0x00B9 0x009D \
0x00D9 0x00A5 0x0020 0x008D 0x0014 0x0098 0x00DF 0x0039 \
0xFFFF 0x7550 0xAA72 0x2029 0xDF3E 0x0044 0xFFFF 0xFFFF \
0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0xFFFF 0x0000 \
0xFFFF 0x0000 0xFFFF 0x0000 0xFFFF 0x0000 0xFFFF 0x0000 \
0xFFFF 0x0000 0xFFFF 0x0000 0xFFFF 0x0000 0xFFFF 0x0000 \
0xFFFF 0x0000 0xFFFF 0x0000 0xFFFF 0x0000 0xFFFF 0x0000

ufo_maniac :: ну вооот... обломал весь кайф, теперь не интересно.
а ведь были же шансы проэмулировать без ключа?

MoonShiner :: ufo_maniac , ниче интересного... Как же с 3C/3D разбираться? ИМХО, на основании дампа памяти ключа фиг получишь вид функции для 3C/3D. А без них никто не даст тебе гарантии, что прога будет работать правильно (недавно уже напоролся, только с гвардантом. Там прога неправильно расшифровывала константы всякие, типа пи, е...).

PalR :: Ну вы даете!!!
psb
Сними дамп глашиным эмулем. Раз уж доступ к ключу есть. Ну оч надо.

MoonShiner :: PalR , у меня теперь тоже визжит только, что сериал неправильный. Запихни вот это в глаши эмуль и попробуй запустить:
easy.reg
------------------------------cut----------------- ----------------
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servi ces\Emulator\HASP\Dump\7C5760F7]
«Name»=«Test for CALC»
«Copyright»=«Copyright (C) 1988-2001 Glasha_General_Soft.»
«Created»=«15.01.99 03:09»
«SN»=dword:00000007
«Type»=dword:00000001
«Memory»=dword:00000004
«SecTable»=hex:01,02,03,04,05,06,07,08
«NetMemory»=hex:FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FE,F F
«Option»=hex:00,01,00,00,00,04,1E,0C,1F,00,00,00,0 0
«Data»=hex:11,11,11,11,11,11,11,11,11,11,11,11,11, 11,11,11,\
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,\
11,21,87,A5,DA,DA,AD,B8,26,38,67,61,36,73,97,67,\
8A,AD,BC,AD,AD,AD,B2,3B,4B,34,82,78,DA,76,87,6D,\
8A,D8,6D,87,6D,7A,D7,79,D9,D6,87,6A,7D,7A,D5,7A,\
6D,A5,67,5D,6A,D6,AF,DF,AD,BD,EC,FE,F7,6D,8A,78,\
A6,8D,A8,D6,D7,68,6A,D6,8D,6A,D7,FA,AF,AF,AF,DA,\
A7,A5,76,5D,7A,DA,5D,7A,AD,AF,AD,AD,56,45,45,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
«EDStruct»=hex:00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,\
00,00,00,00,00,00,00,00,BA,62,14,03,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
54,59,27,81,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,0F,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,F8,72,79,81,\
00,00,00,00,F5,2E,A8,F9,10,5A,27,81,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
------------------------------cut----------------- ----------------

MoonShiner :: Память заполнил ессесно от балды... Но это уж пусть заказчик тестит.

psb :: PalR

да если бы был доступ к хаспу, я бы прислал дамп, а то этот старый дамп я снимал год назад :(

MoonShiner :: Короче, с этим дампом прога у меня пошла без воплей. Дамп ессесно кривой, но склепал сразу не поправляя. Конечно, можно и его оптимизировать, а то там мусора процентов 50 если не больше... С сериалом - подправил по адресу 5E4A81 так, чтобы в dl была 1. Прога покатила... Так что проверяй.

PalR :: Под ХР c полной прогой и кастрированной Одинаково. Адрес не правил.
«Аппаратное обеспечение не поддерживает данную функцию. Эта функция требует наличия ключа поколения HASP4.»
И так раз 10. Затем всё закрывается. :(

PalR :: После настройки дампа, что бы везде было HASP c цифрой 4 и правки по адресу заработало.
MoonShiner
Я с тебя фигею. Мне до твоего уровня еще топать и топать. Пиши тутор как ты 3Д нашел.

Zhek :: Привет всем.
У меня вопрос касательно Дампов и Эмулятора от Глаши.
Так вот:
Можно как нибудь разложить коды дампа в понятную для человека информацию,
потом добавить себе прав и сконвертировать из этого новый дамп??

MoonShiner :: PalR , фуфловый у меня уровень... А времени повышать нет:( Тутора никакого не будет, так все просто. Посмотрел в лог обращений к хаспу. Обратил внимание, что вызываются только функции проверки наличия ключа, определение его типа и чтение из ключа (помимо 3D). Далее задумался, поскольку в серьезных прогах во-первых есть еще получение различных seed кодов и прочая муть. А также обычно комбинируются вызовы 3С/3D. А в этой проге ничего такого не было. Даже получения seed-ов. Да и 3D вызывалась с какими то мутными параметрами. На основании прошлого опыта предположил, что разработчики как всегда оказались раздолбаями и проверяют результат 3D либо только на наличие ошибки (правильно ли отработала или вернула код ошибки) либо какое то конкретное данное из рашифрованного буфера, причем на какой нибудь 0. И все. Дальше написал код прямо в айсе, сделал переходник, который возвращал верные ответы на запросы наличия ключа и всякую муть на попытки чтения из него. Ну и статус. А с 3D возвращал статус успешной операции и писал херню в буфере, а потом глядел, что да как. Прога в итоге запустилась, но уже потом сделал, раз тебе захотелось, левый «дамп» для глашиного эмуля.

ЗЫ Необходимо будет проверить правильность рассчетов на всяких проектах, поскольку мож эта 3Д реально расшифровывала че то нужное... Просто я на это забил из-за вышесказанного, да еще и из-за того, что одна подобная прога расшифровывала свое название, чтобы гордо впихнуть его в эбаут. Но проверить надо обязательно.

ufo_maniac :: PalR пишет:
цитата:
После настройки дампа, что бы везде было HASP c цифрой 4 и правки по адресу заработало.


MoonShiner пишет:
цитата:
ЗЫ Необходимо будет проверить правильность рассчетов на всяких проектах, поскольку мож эта 3Д реально расшифровывала че то нужное...


Ну и что, реально заработала? ИМХО для корректной работы надо правильный серийник иметь.
Я слепил из демки и «кастрированной » проги какого-то гибрида и вроде не все хорошо - в меню много серых итемов, процессор все время 100% занят. Попробовал найти чем - какой-то коротенький бесконечный loop в секции BSS...
все это не есть хорошо.
А серийник написан на ключе и зашит в первые 16 слов памяти. потом проверяется 25-е слово, если там не FFFF, то оно потом декрементируется, зачем-то несколько раз читается 33-е. к 17-24 обращений нет, а там много всего...
на одной машине у меня все проходит гладко, а на другой при закрытии проги (?) вываливается ошибка ( инструкция по адресу 0 читает память по адресу 0).

нужно бы валидный серийник от этой версии... (он обычно рядом с дистрибом лежит )
до и дистриб полный надо бы поиметь... (20 мег не так уж много)
PalR! а-ууууу! может на почту перейдем? ufo_second‹пёс›mymail‹точка›bz

MoonShiner :: Во-первых, все обращения к ключу и проверки данных происходят довольно прозрачно, так что можно без проблем склепать достаточно работоспособный нормальный эмуль... ПРосто лень было делать. А во-вторых, у меня ниче не грузится и серых итемов я не заметил:)

WELL :: MoonShiner
А мой файлик не глядел ещё? Тот, который из проги для кухонь...

MoonShiner :: WELL , сорри, я больше не глядел, и со временем косяки.... Гляну седня по возможности. Да и че то не въезжаю я, че там делать:) Ключика хоца...

DZmey :: MoonShiner пишет:
цитата:
Прога покатила


Нефига ... :) Крут....

WELL :: MoonShiner
Ты хоть глянь конверт там всё же или нет.
P.S. А если просто прогу на рабочей тачке с ключем сдампить? Можно потом чего-нить выдернуть из дампа. Имеется ввиду дамп не на ОЕР, а просто дамп запущенной проги.

MoonShiner :: WELL , что конверт или че то похожее - точно. Дамп запущенной тебе даст общую организацию и логику... А больше ничего хорошего. Почему и дампят все на ОЕП... Даже не зная причин необходимости этого:)

PalR :: ufo_maniac пишет:
цитата:
ИМХО для корректной работы надо правильный серийник иметь


Ты прав. SerNum=940-JMX-951-NCG-4453 это я выковырял из дистриба. Но и с ним не катит. Видимо он в дамп зашит. Прога запускается но делать ничего не дает. Там эти проверки серийника в каждом меню. А жаль. :)
Как я понял: дистриб+серийник+хасп = жестко привязаны друг к другу.

ufo_maniac :: PalR: первые 16 слов памяти ключа содержат криптованный серийник. Уверен, что с 17 по 24-е тоже не просто мусор, и читаться они будут только если серийник в памяти правильный. и могут там оказаться какие-нибудь важные константы... все-таки те кто это делал не последние ламера.

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

PalR :: ufo_maniac
У меня тоже.

PalR :: psb
А от какой версии этот дамп? Со всеми подробностями.

psb :: PalR

дамп и серийник от версии 5.1

PalR :: Защиту изменили. Даже серийник этот не берет.






   
Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS