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

 eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :)
<< . 1 . 2 . 3 . 4 . 5 . 6 . >>
Посл.ответ Сообщение

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

Создано: 23 января 2007 09:27
· Личное сообщение · #1

Есть программа, старезная, 97 года выпуска. Защищена Hardlock. В главном екзешнике по обьяснения ИДЫ есть 2 хедера - NE и для ДОСа. Кажется есть встроеная защита, в сам ехе. Для ДОСа наверное. Только наверно, сам код не нашел. И обращения к драйверу HARDLOCK.VXD для Видны. На этом мои познание в этой проге заканчиваются С чего начать ее взлом? Сори за тупую постановку вопроса. Просто поиском интересных мест по коду, и копанию там не получилось ничего...



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

Создано: 28 января 2007 07:40 · Поправил: tundra37
· Личное сообщение · #2

Borland C++ - Copyright 1993 Borland Intl.
Прога на 1.7 Мбайта - какой уж тут ДОС. И не пахнет.
Для загрузки есть WLDR - это правильней.
2) Поищи старый эмулятор Соболя(sable). В нем было много дампов - может и найдешь для INTEAR.
Потом прога не 1997, а 1994 - возможно там вся защита - проверка на наличие ключа. Тогда соболь - однозначно поможет, надо только номера выудить.




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

Создано: 28 января 2007 23:37 · Поправил: Chingachguk
· Личное сообщение · #3

Ваш exe не запускаецца, mate (рухает с exception'ом). Допустим, BGI16.dll я еще нашел, но там вроде бы все написано на Borland C 4.5? Delphi 1.0? - в-общем, там вроде нужен свой dpmi? еще что-то?

Не большой любитель смотреть в дизасме, но все же открыл в IDA. Вроде бы 'hardlock.vxd' лежит в seg189, и вроде бы нигде в тексте нету ссылей на него вида:

mov ax,seg cseg 189
mov ds,ax

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

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 28 января 2007 23:54
· Личное сообщение · #4

Chingachguk
Я имя в дизасме нашел ) А если искать по памяти, то в 30-ом селекторе там их как минимум 8 с каждым поиском число уувеличивается. (ничего не понимаю.. (с) )



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

Создано: 29 января 2007 00:01
· Личное сообщение · #5

tundra37
Чтото такое я в сети видел, ща попробую найти опять..

Chingachguk
Я то могу выложить и полный дистриб, но кто его скачает то? Он немалеьнкий очень... BGI16.dll она вроде из сорцом перекомпилированая, потому что там еще стоят чеки автора интеара, типа чтобы саму БГИ16 не взяли другую. Если хочется запустить прогу, там нада полный пак,

c7bd_29.01.2007_CRACKLAB.rU.tgz - INTEAR_BGI.RAR



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

Создано: 29 января 2007 00:03
· Личное сообщение · #6

там есть еще одна интересная строка "!!! noPROTECT !!!", но к сожалению мое копание в эту сторону не дало результатов..



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

Создано: 29 января 2007 00:06
· Личное сообщение · #7

**CPG_HK_AK_HV_MAZ_GBS_TS_TC_HG*14-Apr-1998*V3.68**
Есть метода определения всех хардлоковских функций, если плясать от этой сигнатуры.
Далее уже дело техники.
А вообще-то нафига мучится с этим старьем, наверняка есть куча прог с аналогичными функциями и краками



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

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

Spry пишет:
там нада полный пак,

А еще rtm.exe и dpmi16bi.ovl На самом деле достаточно найти сигнатуры для этой версии хардлока - там все на блюдечке будет. Правда про 16-битные сигнатуры я не слышал
Конечно есть любители эмулировать на уровне портов и драйверов, но тут я не могу подсказать.




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

Создано: 29 января 2007 00:36
· Личное сообщение · #9

"c7bd_29.01.2007_CRACKLAB.rU.tgz" - это полный установочный комплект? Попробую, я не знаю сколько там но полгига, допустим... в-принципе могу.

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

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 29 января 2007 02:58
· Личное сообщение · #10

tundra37
есть ясен перец, но тут уже дело принципа, да и именно эта прога нужна (((
А что это за сигнатура?

Chingachguk
c7bd_29.01.2007_CRACKLAB.rU.tgz - INTEAR_BGI.RAR - ты издеваешся? )) в 100кб? )) Нет, конечно нет, полный там под 100мб. А вот она не становится уникальной, хоть тресни как минимум 2 получаются.. я не могу даже в сайс из иды подгрузить инфу о сегментах




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

Создано: 29 января 2007 03:21
· Личное сообщение · #11

Spry

Да я уж понял что это не оно ;) Ну 100 мб потяну, лишь бы запустилася... Инструкцию напиши как на чистой машине (без Borland 4.5 или чего там?) поставить.

Ну 2 - это уже почти 1. Ставь 2 bpm? А входные точки hardlock'а осилил? Тренировацца можно на каком-нибудь простом приложении которое вызывает хардлокк... типа HaspEdit, или самописное.

-----
The one derivative you manage is the one I abhore (c) Slipknot





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

Создано: 29 января 2007 05:20
· Личное сообщение · #12

Фуфф, вроде бы has been founded.

DeviceBig_ID equ 3543h ; ID hardlock
DeviceLitt_ID equ 3CDCh ; ID of little VxD

А вот она - куска кода:

cseg189:1AD5 mov ax, 1684h
cseg189:1AD8 mov bx, 3543h
cseg189:1ADB int 2Fh ; - Multiplex - MS WINDOWS - GET DEVICE API ENTRY POINT
cseg189:1ADB ; BX = virtual device (VxD) ID, ES:DI = 0000h:0000h
cseg189:1ADB ; Return: ES:DI -> VxD API entry point, or 0:0 if the VxD does not support an API

Обрати внимание как IDA качественно написала.

Так что вот оно - вроде бы - начало работы с девайсом. В таком случае непонятно, зачем нужно имя - возможно, вывод типа "hardlokk not found, relax".

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

-----
The one derivative you manage is the one I abhore (c) Slipknot





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

Создано: 29 января 2007 05:42
· Личное сообщение · #13

Вот также намеки на работу с портом LPT:

cseg189:1E7D mov edx, 378h
cseg189:1E83 mov eax, 4350472Ah
cseg189:1E89 mov ebx, 4D415A2Ah
cseg189:1E8F mov ecx, 0BAFFBABEh
cseg189:1E95 mov ebp, 46415354h
cseg189:1E9B sub esi, esi
cseg189:1E9E stc
cseg189:1E9F in al, dx ; Printer Data Latch:
cseg189:1E9F ; fetch last byte sent

Или:

cseg189:2579 loc_131CA9: ; CODE XREF: sub_131C95+Bj
cseg189:2579 mov word ptr es:[di], 378h
cseg189:257E mov word ptr es:[di+2], 1
cseg189:2584 mov word ptr es:[di+4], 278h
cseg189:258A mov word ptr es:[di+6], 1
cseg189:2590 mov word ptr es:[di+8], 3BCh
cseg189:2596 mov word ptr es:[di+0Ah], 1

Возможно, работа организована так, что этот друг может работать как сам (если нету драйвера?), либо через драйвер.

ps Там еще встречаюцца байты C4,C4... что-то где-то я такое видел...

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 29 января 2007 07:34
· Личное сообщение · #14

Chingachguk
Тебе откуда удобней качать? А то мне както всеравно куда выкладывать.. Там идея какая - есть как бы установщик, но (!) он (насколько я откопал) драйверов в себе не несет, и никуда соотвецтвенно их не копирует...
hччччччччччччp://rapidshare.com/files/13947374/SETUPINT.part1.rar.html - 100мб
hччччччччччччp://rapidshare.com/files/13948491/SETUPINT.part2.rar.html - 27мб


tundra37
Искал емуль, не нашел Поискал в еМуле, чтото нашел, ша скачаю, посмотрю



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

Создано: 29 января 2007 07:36
· Личное сообщение · #15

Chingachguk пишет:
В этом сегменте (по крайней мере у меня) IDA много чего распознала просто как набор байтофф - но если ткнуть, то получается вполне осмысленный код (какая-то работа с портами?? с прерываниями??). Возможно, появицца и xref на злополучную стоку.

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

Chingachguk пишет:
ps Там еще встречаюцца байты C4,C4... что-то где-то я такое видел...

Это "-" всмысле? Тоже видел ;) Тоже на коекакие размышления натолкнуло %))) Может я еще и не такой безнадежный



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

Создано: 29 января 2007 07:40
· Личное сообщение · #16

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



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

Создано: 29 января 2007 07:43
· Личное сообщение · #17

cseg189:1BA0 some_vxd proc far ; CODE XREF: sub_1319E6+1EEp

dseg196:433E some_vxd_api dd 0 ; DATA XREF: sub_1311CB+54w
dseg196:433E ; sub_1311CB+6Ar
dseg196:433E ; sub_1311CB+C8r
dseg196:433E ; some_vxd+77w
dseg196:433E ; some_vxd+8Dr
dseg196:433E ; some_vxd+D5r
dseg196:433E ; sub_1311CB+50w
dseg196:433E ; some_vxd+73w

и вообще cseg189 самый странный



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

Создано: 29 января 2007 07:45
· Личное сообщение · #18

Там еще есть установка ексепт хэндлеров.. ща поищу.. сек
cseg130:003B ; int __cdecl far SetProcessorExceptionHandler(int wExceptionNumber,int pHandlerOffset,int pHandlerSegment)
cseg130:003B SetProcessorExceptionHandler proc far ; CODE XREF: _main+70P
cseg130:003B ; seemsProcessExit+1EAP
cseg130:003B ; sub_F1CA0+127P

cseg01:01A3 GetOldAndSetNewIntHandlers proc far ; CODE XREF: _main:loc_9EC7P



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

Создано: 29 января 2007 07:47
· Личное сообщение · #19

я начинал все копание 2 месяца назад отсюда..
cseg90:036C push offset aSN ; "S/N: "
cseg90:036F mov cx, 6
cseg90:0372 call SCOPY@
cseg90:0377 push 0 ; int
cseg90:0379 push 484h ; Str_ID
cseg90:037C push ss ; Îãðàíè÷åííàÿ äåìî-âåðñèÿ
cseg90:037D lea ax, [bp+str_LimitedDemoVersion]
cseg90:0381 push ax ; pcsStrOut
cseg90:0382 call GetStrFromFile
cseg90:0387 add sp, 8
cseg90:038A push 0 ; int
cseg90:038C push 485h ; Str_ID
cseg90:038F push ss ; Âåðñèÿ
cseg90:0390 lea ax, [bp+str_Version]
cseg90:0394 push ax ; pcsStrOut
cseg90:0395 call GetStrFromFile
cseg90:039A add sp, 8
cseg90:039D wait
cseg90:039E fld seems_dw_Version ; load dword to FPU
cseg90:03A2 sub sp, 8
cseg90:03A5 wait
cseg90:03A6 fstp [bp+qw_Version] ; move from FPU to var
cseg90:03AA push ss
cseg90:03AB nop
cseg90:03AC wait
cseg90:03AD lea ax, [bp+str_Version]
cseg90:03B1 push ax ; str_Version ['Âåðñèÿ']
cseg90:03B2 push ds
cseg90:03B3 push offset aS1_2f ; "%s %1.2f, "
cseg90:03B6 push ss
cseg90:03B7 lea ax, [bp+buffer]
cseg90:03BB push ax ; buffer
cseg90:03BC call _sprintf ; _sprintf(buffer, "%s %1.2f", str_Version, qw_Version???)
cseg90:03C1 add sp, 14h
cseg90:03C4 cmp wStrange1_if_noPROCTECT, 0
cseg90:03C9 jz short loc_AE35C ; if (wStrange1 == 0) then jump [noPROTECT]
cseg90:03CB push ss ; else -->
cseg90:03CC lea ax, [bp+str_LimitedDemoVersion]

Такое ощущение было что разработчик оставил себе лазейку в билде (может флаговая, можеш препроцессорный выбор компиляции, а это остатки, хз)



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

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

Если wStrange1_if_noPROCTECT == 0 тогда 2 пункта заблоченые разлочиваются, но при нажатии на них ничего не происходит, и в окошке "о проге" появляется noPROCTECT



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

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

tundra37 пишет:
Для загрузки есть WLDR - это правильней.

Колдовал колдовал - не вышло. Где у меня неправильный ген-код?
Error loading C:/Spry/Intear/Brs.exe




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

Создано: 30 января 2007 10:24 · Поправил: Chingachguk
· Личное сообщение · #22

Посмотрел еще немного... До установки руки не дошли, хотя скачнул.

Итак, в вышеупомянутом сегменте cseg189 много ценного... но "наружу" имхо выходит только одна функция:

cseg189:2652 sub131D82_PerformKeyFunc proc far ; CODE XREF: subA8B50_PerfromKeyFunc+DP
cseg189:2652
cseg189:2652 arg_0 = dword ptr 6

На вход ей поступает дальний адрес пакета (о нем позже). Все остальные "far" процедуры из этого модуля вроде бы на самом деле локальные для этого модуля.

sub131D82 вызывается через обертку:

cseg86:0000 subA8B50_PerfromKeyFunc proc far ; CODE XREF: sub_A8B93+30p
cseg86:0000 ; sub_A8B93+49p ...
cseg86:0000
cseg86:0000 var_2 = word ptr -2

Из модуля 86, где (ИМХО) находяцца обертки для функций ключа... только вот какого?... Особенно мне пока непонятна функа с шестибайтовым запросом:

// cseg86:0340 sub_A8E90 proc far
sub_A8E90(tPacket *Packet, BYTE entryData[6])

Никто случайно не знает что за ключ (хардлок?...), а то я у хасп такого не видел - ?

Также непонятно откуда эти функции (модуля 86) вызываются... Пока вроде бы имеет смысл поставить бряк в отладчике на cseg189:2652.

-----
The one derivative you manage is the one I abhore (c) Slipknot





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

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

...и аттач.

86f8_30.01.2007_CRACKLAB.rU.tgz - struct.txt

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 30 января 2007 23:23 · Поправил: Spry
· Личное сообщение · #24

Chingachguk
Вопрос: у тебя получилось нормально запустить эту прогу под дебагом? КАК? Я перепробовал несколько ВМ-машын, с сайсом, нормальный драйверов SVGA попалась только (не бейте) Microsoft VirtualPC 6.0.122.0
VMware утонул при попытке работать с сайсом, вываливался драйвер видео, такая белеберда на экране, шо труба. К сожалению хоть прога и на ВыньХрю-32 запускается и даже работает(через раз ) но на ВыньХрю-64(моя родная) ныкаким бубном ее не запустить, что неудивительно

Или это я ступил.. ты ж ее не ставил



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

Создано: 30 января 2007 23:37
· Личное сообщение · #25

Chingachguk
Есть такое тупое предположение - может функции из сегмента 86 вызываются из тех участков кода которые ИДА не проаналайзила нормально, тоесть вообще не проаналайзила, там их хватает, или вызовы идут уже из кода, который гдето распаковывается (сорри если глупые предположения). Сейчас попытаюсь поставить бряки где ты говорил и на функции сегмента 86, может чего найду




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

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

Не, я все собираюсь - но еще не успел запустить ее. Думаю, было бы легче.

Бряк хорошо бы поставит сюда:

cseg189:2652 sub131D82_PerformKeyFunc

Это вызывается из всех функций 86'го, и это - вроде бы одна внешне вызываемая функция 189'го.

Насчет твоего предположения согласен - там много мест которые IDA не рапознала как код, тот же злополучный байт 45h - inc bp.

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 31 января 2007 00:27
· Личное сообщение · #27

SpryChingachguk Для запуска достаточно папки Program, все остальное это база картинок и моделей. Для каждого типа видео есть своя DLL, у меня IMM нормально запускается, а BRS пытается поставить чатоту 37Гц, на что мой монитор вежливо стонет, что низзя. BRS запустил под Virtual PC от Connectix 5.2 ( в 98-м, айс кстати там тоже пашет) - там вроде все функции разрешены, кроме сохранения. Может проще в этом направлении покопать.
Spry IMM работает на частоте 60 Гц - по-моему убится можно, а уж глаза точно сломаешь.
По моему ACAD + ACAD Architec вполне заменят и переплюнут это чудо прошлого века.
В принципе под Virtual PC работает и частота нормальная, но работать сейчас в этом

Chingachguk пишет:
Никто случайно не знает что за ключ (хардлок?...),


tundra37 пишет:
**CPG_HK_AK_HV_MAZ_GBS_TS_TC_HG*14-Apr-1998*V3.68**

Хардлок от Алладина, версия 3.68 Очень похоже на то, что украинцы достали старые тексты от 1994 года, навесили алладин и русифицировали. Даже копирайт на текстах не перебили - так 1994 и остался.
hardlock.vxd и hlvdd.dll встроены прямо в brs.exe внутрь. Достаточно найти по сигнатурам или ручками функции hl_login hl_read и можно патчить. Лазить по портам и драйверным штучкам конечно можно, но я не вижу смысла в этом.




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

Создано: 31 января 2007 00:35
· Личное сообщение · #28

tundra37

Сенькс, а у тебя нет описания API для хардлокка уровня приложения (как оно там называецца - SDK?)?

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

Интересна было бы найти пароль (кажется, у хардлока это слово (16)?), а также ... как их там... сиды к алго... или в 94м сидов еще не было?

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 31 января 2007 01:52 · Поправил: Spry
· Личное сообщение · #29

Chingachguk пишет:
злополучный байт 45h - inc bp.

А почему злополучный? Он там много где, но я както непонял зачем вначале делать inc bp а в конце dec bp. Это фича какаято? )) Не могу понять что этим сделать хотели?

tundra37
Копал. Через меню многого не накопал - потому что нету у меня нормальной фозможности ставить бряки в сайсе на имена (через таблицу символов), а не на адреса
Я шел от эбаут бокса, смотри посты выше немного

tundra37 пишет:
В принципе под Virtual PC работает и частота нормальная, но работать сейчас в этом

Знаю... Фактически мне эта прога не нужна уже, но задело за принцип. Ну сам посуди, за это доисторическое чудо платить 160 енотов/800грн? Я таких разработчиков не очень уважаю. Ладно, в свое время да, но сейчас??? Так что я чтото вроде на них обиделся, да и интресно, что за защита в 94 была

tundra37 пишет:
hardlock.vxd и hlvdd.dll встроены прямо в brs.exe внутрь

В принципе как я и догадывался... Но эти встроеные используются помойму в том случае если невозможно подгрузить внешние.

tundra37 пишет:
**CPG_HK_AK_HV_MAZ_GBS_TS_TC_HG*14-Apr-1998*V3.68**

А где эты это взял? Просто интересно, можеш рассказать вкратце?

Chingachguk Небольшая дока по этому апи (может и не поможет, все ровно глянь) в аттаче..

7260_31.01.2007_CRACKLAB.rU.tgz - Hardlock API Guide.pdf




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

Создано: 31 января 2007 01:57
· Личное сообщение · #30

А что насчет бряка - сработало?

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 31 января 2007 02:09
· Личное сообщение · #31

Chingachguk
Либо я не туда ставлю бряк (не по тому адресу, через них же блин работаю...) либо сюда не заходит по последовательности байтов нашло 5 совпадений по разным адресам, по всем поставил bpx, ноль на массу, ставил бряки сразу после входа в программу, так как dldr.exe brs.exe брякается сразу же после запуска


<< . 1 . 2 . 3 . 4 . 5 . 6 . >>
 eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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