![]() |
eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :) |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
Посл.ответ | Сообщение |
|
Создано: 23 января 2007 09:27 · Личное сообщение · #1 Есть программа, старезная, 97 года выпуска. Защищена Hardlock. В главном екзешнике по обьяснения ИДЫ есть 2 хедера - NE и для ДОСа. Кажется есть встроеная защита, в сам ехе. Для ДОСа наверное. Только наверно, сам код не нашел. И обращения к драйверу HARDLOCK.VXD для Видны. На этом мои познание в этой проге заканчиваются ![]() ![]() ![]() |
|
Создано: 28 января 2007 07:40 · Поправил: tundra37 · Личное сообщение · #2 Borland C++ - Copyright 1993 Borland Intl. Прога на 1.7 Мбайта - какой уж тут ДОС. И не пахнет. Для загрузки есть WLDR - это правильней. 2) Поищи старый эмулятор Соболя(sable). В нем было много дампов - может и найдешь для INTEAR. Потом прога не 1997, а 1994 - возможно там вся защита - проверка на наличие ключа. Тогда соболь - однозначно поможет, надо только номера выудить. ![]() |
|
Создано: 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 ![]() |
|
Создано: 28 января 2007 23:54 · Личное сообщение · #4 |
|
Создано: 29 января 2007 00:01 · Личное сообщение · #5 tundra37 Чтото такое я в сети видел, ща попробую найти опять.. Chingachguk Я то могу выложить и полный дистриб, но кто его скачает то? ![]() ![]() ![]() |
|
Создано: 29 января 2007 00:03 · Личное сообщение · #6 |
|
Создано: 29 января 2007 00:06 · Личное сообщение · #7 |
|
Создано: 29 января 2007 00:15 · Личное сообщение · #8 |
|
Создано: 29 января 2007 00:36 · Личное сообщение · #9 "c7bd_29.01.2007_CRACKLAB.rU.tgz" - это полный установочный комплект? Попробую, я не знаю сколько там но полгига, допустим... в-принципе могу. Если нашел в памяти строк несколько, то может помочь поиск по байтиками вокруг (рядом) с этой строкой - которые можно посмотреть в дизасме. Те пока строка не станет уникальной. ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
Создано: 29 января 2007 02:58 · Личное сообщение · #10 tundra37 ![]() ![]() А что это за сигнатура? Chingachguk c7bd_29.01.2007_CRACKLAB.rU.tgz - INTEAR_BGI.RAR - ты издеваешся? ![]() ![]() ![]() ![]() ![]() |
|
Создано: 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 ![]() |
|
Создано: 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 ![]() |
|
Создано: 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 ![]() |
|
Создано: 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 Искал емуль, не нашел ![]() ![]() |
|
Создано: 29 января 2007 07:36 · Личное сообщение · #15 Chingachguk пишет: В этом сегменте (по крайней мере у меня) IDA много чего распознала просто как набор байтофф - но если ткнуть, то получается вполне осмысленный код (какая-то работа с портами?? с прерываниями??). Возможно, появицца и xref на злополучную стоку. Ага, я тож этот кусок себе отметил, посмотри мой дизасм. Но потом адрес входа АПИ - рефов нету Chingachguk пишет: ps Там еще встречаюцца байты C4,C4... что-то где-то я такое видел... Это "-" всмысле? Тоже видел ;) Тоже на коекакие размышления натолкнуло %))) Может я еще и не такой безнадежный ![]() ![]() |
|
Создано: 29 января 2007 07:40 · Личное сообщение · #16 |
|
Создано: 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 самый странный ![]() |
|
Создано: 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 ![]() |
|
Создано: 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] Такое ощущение было что разработчик оставил себе лазейку в билде (может флаговая, можеш препроцессорный выбор компиляции, а это остатки, хз) ![]() |
|
Создано: 29 января 2007 07:50 · Поправил: Spry · Личное сообщение · #20 |
|
Создано: 29 января 2007 07:53 · Поправил: Spry · Личное сообщение · #21 |
|
Создано: 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 ![]() |
|
Создано: 30 января 2007 10:30 · Личное сообщение · #23 ...и аттач. ![]() ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
Создано: 30 января 2007 23:23 · Поправил: Spry · Личное сообщение · #24 Chingachguk Вопрос: у тебя получилось нормально запустить эту прогу под дебагом? КАК? ![]() VMware утонул при попытке работать с сайсом, вываливался драйвер видео, такая белеберда на экране, шо труба. К сожалению хоть прога и на ВыньХрю-32 запускается и даже работает(через раз ![]() Или это я ступил.. ты ж ее не ставил ![]() ![]() |
|
Создано: 30 января 2007 23:37 · Личное сообщение · #25 Chingachguk Есть такое тупое предположение - может функции из сегмента 86 вызываются из тех участков кода которые ИДА не проаналайзила нормально, тоесть вообще не проаналайзила, там их хватает, или вызовы идут уже из кода, который гдето распаковывается (сорри если глупые предположения). Сейчас попытаюсь поставить бряки где ты говорил и на функции сегмента 86, может чего найду ![]() |
|
Создано: 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 ![]() |
|
Создано: 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 и можно патчить. Лазить по портам и драйверным штучкам конечно можно, но я не вижу смысла в этом. ![]() |
|
Создано: 31 января 2007 00:35 · Личное сообщение · #28 tundra37 Сенькс, а у тебя нет описания API для хардлокка уровня приложения (как оно там называецца - SDK?)? По поводу "лазить по портам" - это если она в них лазает, пока непонятно (мне) работает ли она с глючом напрямую, или только через драйвер. Если через драйвер - вроде бы не так страшно. Собственно, если через порты без защиты перехвата - тоже ничего страшного (в 98 к примеру есть даже сервис для виртуализации устройств). Интересна было бы найти пароль (кажется, у хардлока это слово (16)?), а также ... как их там... сиды к алго... или в 94м сидов еще не было? ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
Создано: 31 января 2007 01:52 · Поправил: Spry · Личное сообщение · #29 Chingachguk пишет: злополучный байт 45h - inc bp. А почему злополучный? Он там много где, но я както непонял зачем вначале делать inc bp а в конце dec bp. Это фича какаято? ![]() tundra37 Копал. Через меню многого не накопал - потому что нету у меня нормальной фозможности ставить бряки в сайсе на имена (через таблицу символов), а не на адреса ![]() Я шел от эбаут бокса, смотри посты выше немного tundra37 пишет: В принципе под Virtual PC работает и частота нормальная, но работать сейчас в этом Знаю... ![]() ![]() tundra37 пишет: hardlock.vxd и hlvdd.dll встроены прямо в brs.exe внутрь В принципе как я и догадывался... Но эти встроеные используются помойму в том случае если невозможно подгрузить внешние. tundra37 пишет: **CPG_HK_AK_HV_MAZ_GBS_TS_TC_HG*14-Apr-1998*V3.68** А где эты это взял? Просто интересно, можеш рассказать вкратце? Chingachguk Небольшая дока по этому апи (может и не поможет, все ровно глянь) в аттаче.. ![]() ![]() |
|
Создано: 31 января 2007 01:57 · Личное сообщение · #30 |
|
Создано: 31 января 2007 02:09 · Личное сообщение · #31 Chingachguk Либо я не туда ставлю бряк (не по тому адресу, через них же блин работаю...) либо сюда не заходит ![]() ![]() |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
![]() |
eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :) |