![]() |
eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :) |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
Посл.ответ | Сообщение |
|
Создано: 23 января 2007 09:27 · Личное сообщение · #1 Есть программа, старезная, 97 года выпуска. Защищена Hardlock. В главном екзешнике по обьяснения ИДЫ есть 2 хедера - NE и для ДОСа. Кажется есть встроеная защита, в сам ехе. Для ДОСа наверное. Только наверно, сам код не нашел. И обращения к драйверу HARDLOCK.VXD для Видны. На этом мои познание в этой проге заканчиваются ![]() ![]() ![]() |
|
Создано: 02 февраля 2007 01:14 · Личное сообщение · #2 Chingachguk Да, есть ![]() ![]() глянь в экзешнике. Заприщает она сохранять файлы. Вот что нужно ![]() FAST? Етить колотить, ну я бы прогерам которые навешивали защиту руки поотрывал ![]() ![]() Chingachguk есть успехи какието? ![]() ![]() ![]() |
|
Создано: 02 февраля 2007 01:16 · Личное сообщение · #3 |
|
Создано: 02 февраля 2007 01:22 · Личное сообщение · #4 Chingachguk можеш поставить бряк на brs.exe: cseg01:1849 seems_CallOuterModule proc near ; CODE XREF: sub_5B8+17p cseg01:1849 ; sub_18D8+14Ep мне кажется так он вызывает другие модули, которые уже работаю с ключом. Проверь если не сложно, мне очень косячно бряки ставить ![]() ![]() Туда поидее передается имя ехе который надо вызвать и параметры, и в какойто регистр возвращается ретурн-код ![]() ![]() |
|
Создано: 02 февраля 2007 01:28 · Личное сообщение · #5 |
|
Создано: 02 февраля 2007 01:29 · Личное сообщение · #6 |
|
Создано: 02 февраля 2007 01:39 · Личное сообщение · #7 |
|
Создано: 02 февраля 2007 01:42 · Личное сообщение · #8 |
|
Создано: 02 февраля 2007 03:27 · Личное сообщение · #9 |
|
Создано: 02 февраля 2007 03:59 · Личное сообщение · #10 |
|
Создано: 02 февраля 2007 05:12 · Личное сообщение · #11 Ха! Да этот DXF2STG.EXE двоюродный брат IMM. Глянь-ка: ; Это у нас переход на выполнение в "GDI" cseg12:0000 sub1BDB0_CallGDI proc far ; CODE XREF: sub1BD16_PerformHaspFunc+68P cseg12:0000 push ds ; А это у нас распределитель функций: cseg11:1C96 sub1BD16_PerformHaspFunc proc far ; CODE XREF: cseg03:0D0CP cseg11:1C96 ; cseg03:0D6AP ... ... cseg11:1CC8 cmp bh, 32h ; '2' cseg11:1CCB jb short loc_1BD7D cseg11:1CCD cmp bh, 32h ; '2' cseg11:1CD0 jz short loc_1BD75 cseg11:1CD2 cmp bh, 33h ; '3' cseg11:1CD5 jz short loc_1BD75 ... Ну и при нажатии XREF на sub1BD16_PerformHaspFunc - куча ссылей. Так что если тебе удасца позвать DXF2STG via BRS, то ты должен увидеть и BPIO... ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
Создано: 02 февраля 2007 05:43 · Личное сообщение · #12 Chingachguk Весьма интересная инфа ![]() Можно просьбу? Посмотри brs.exe: cseg01:1849 seems_CallOuterModule proc near ; CODE XREF: sub_5B8+17p Там она немного раз вызывается, какие она ехе тянет кроме этого DXF2STG который прописан прямо таки так? Просто там я нашел код при анализе, но так и не могу пока что понять какие оно еще ехе тянет ![]() |
|
Создано: 02 февраля 2007 06:16 · Личное сообщение · #13 |
|
Создано: 02 февраля 2007 07:07 · Личное сообщение · #14 |
|
Создано: 02 февраля 2007 08:35 · Личное сообщение · #15 |
|
Создано: 02 февраля 2007 09:14 · Личное сообщение · #16 ![]() ![]() 1) запускаем brs.exe 2) прога инитится 3) гдето идет проверка наличия лицензии 3.1 ) по идее вызывается какойто модуль который работает с защитой 3.2 ) либо это неверное предположение 4) прога проинитилась и показала свой эбаут бокс, ну короче запустилась Так что если там и есть вызов, он должен быть гдето посередке между этими пунктами.. завтра постараюсь сам пройти в отладке ![]() |
|
Создано: 02 февраля 2007 09:43 · Личное сообщение · #17 |
|
Создано: 02 февраля 2007 10:03 · Личное сообщение · #18 Так. Итак. Давай фсе заново. 1) Какие признаки того, что прога в демо режиме? Надпись "демо" в эбауте? Если ты уже посмотрел - условно она выводицца или нет - напиши. Ты прогу знаешь лучше, напиши (если знаешь) что нажать чтобы получить отлуп; 2) Ты ищешь функи запуска модуля. Но прога скорее всего идет под DPMI, и вызов int 21h для запуска внешнего модуля скорее всего должен идти через int 31h, например: ;INT 31 P - DPMI 0.9+ - SIMULATE REAL MODE INTERRUPT ; AX = 0300h ; BL = interrupt number ; BH = flags ... То, что ты нашел - это возможно вызов пукта меню "выполнить команду DOS". Также вызов внешнего модуля (уже в DOS) может идти через: ; Example of use int 2eh - begin mov si,offset CMD ; ds:si = to Command Line ; Save all registers - stack will be lost pusha ; Save all general registers push ds ; Save ds push es ; Save es mov word ptr cs:@SS+1,ss mov word ptr cs:@SP+1,sp int 2eh ; Execute CMD - all registers will be destr. Также ты уже вроде исследовал имена модулей в brs. Что у тебя получилось? ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
Создано: 02 февраля 2007 10:25 · Личное сообщение · #19 Даффай! 1) brs.exe: - about box - пункт "Файл" - "Записать", всегда отключен, управляется флагом dseg196:28A0 wStrange1_if_noPROCTECT dw 1, если он 0 (точнее я просто менял джампы везде где он юзался, потому что просто он гдето меняется, и кроме того, там какието джампы менять не надо, какието из 17 просто приводят к тому что прога начинает слегка делать не то что раньше, если надо, расскажу подробней, там просто пропадает реакция на 1 пункт меню, хотя до изменения была) - пункт "Файл" - "Записать все", то же 2) Пасибо, еще и это посмотрю, как только пойму что он от rtm.exe хочет Chingachguk пишет: Также ты уже вроде исследовал имена модулей в brs. Что у тебя получилось? Всмысле исследовал имена? ![]() |
|
Создано: 02 февраля 2007 10:29 · Личное сообщение · #20 |
|
Создано: 02 февраля 2007 10:33 · Личное сообщение · #21 По поводу 2: Вот использование имени модуля: dseg196:1012 aDxf2stg_exe db 'dxf2stg.exe',0 Вот использование этой строки: cseg28:0368 push offset aDxf2stg_exe ; "dxf2stg.exe" cseg28:036B call sub_3087A Вызов из процедуры: cseg28:0083 sub3C8D3_UseDxf2stg proc far ; CODE XREF: sub_5D603+429P cseg28:0083 Соответственно сама процедура вызываецца 1 раз: cseg44:056B push ax cseg44:056C call sub3C8D3_UseDxf2stg cseg44:0571 add sp, 4 cseg44:0574 mov si, ax Надо посмотреть как туда попасть (что нажать). Думаю, cseg44:056C выполняется на 50% По поводу 1 - вот, теперь я уже немного понял ![]() ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
Создано: 02 февраля 2007 10:35 · Личное сообщение · #22 |
|
Создано: 02 февраля 2007 10:48 · Личное сообщение · #23 Погоди - чего именно нету? У тебя выполняецца код: cseg44:056B push ax cseg44:056C call sub3C8D3_UseDxf2stg cseg44:0571 add sp, 4 cseg44:0574 mov si, ax ? Счас попробую посмотреть "вживую". Идея такая. Допустим, мы ищем использование этго (Dxf2stg) модуля. Но он не вызываецца - значит, мы не делаем действий которые приводят к его запуску. Однако если мы попадаем при выполнении на точку типа (выше) - call sub3C8D3_UseDxf2stg - значит, нужно изучать только код этой подпрограммы... Также посмотрю еще раз твой флаг (wStrange1_if_noPROCTECT). По крайней мере - bpm. Хотя возможно его текущее дефолтное значение (1) должно быть где-то снято если кто-то где-то нашел "ключ"... ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
Создано: 02 февраля 2007 10:52 · Личное сообщение · #24 |
|
Создано: 02 февраля 2007 10:53 · Личное сообщение · #25 |
|
Создано: 02 февраля 2007 10:55 · Личное сообщение · #26 |
|
Создано: 02 февраля 2007 10:56 · Личное сообщение · #27 |
|
Создано: 02 февраля 2007 10:59 · Личное сообщение · #28 |
|
Создано: 02 февраля 2007 11:00 · Личное сообщение · #29 |
|
Создано: 02 февраля 2007 11:06 · Личное сообщение · #30 |
|
Создано: 02 февраля 2007 11:07 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
![]() |
eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :) |