Сейчас на форуме: 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 для Видны. На этом мои познание в этой проге заканчиваются С чего начать ее взлом? Сори за тупую постановку вопроса. Просто поиском интересных мест по коду, и копанию там не получилось ничего...



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

Создано: 02 февраля 2007 01:14
· Личное сообщение · #2

Chingachguk
Да, есть ) Там в моем дизасме все есть тама если все места где юзается этот флаг переделать по обратные (тоесть с джампами поколдовать) тоесть если wStrange1_if_noPROCTECT == 0 (походу) то вместо фразы "демо" будет строка "!!! noPROTECT !!!"
глянь в экзешнике. Заприщает она сохранять файлы. Вот что нужно ))

FAST? Етить колотить, ну я бы прогерам которые навешивали защиту руки поотрывал )) Столько фигни и ничего интересного

Chingachguk есть успехи какието? У меня пока 0 на массу



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

Создано: 02 февраля 2007 01:16
· Личное сообщение · #3

Но так как у тебя там как бы 32битный флаг то у меня закрались подозрения о какомто битовом поле, чтото вроде "это разрешено это запрещено", но както мало верится



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

Создано: 02 февраля 2007 01:22
· Личное сообщение · #4

Chingachguk
можеш поставить бряк на
brs.exe:
cseg01:1849 seems_CallOuterModule proc near ; CODE XREF: sub_5B8+17p
cseg01:1849 ; sub_18D8+14Ep

мне кажется так он вызывает другие модули, которые уже работаю с ключом. Проверь если не сложно, мне очень косячно бряки ставить сайс слетел с вмкой вместе

Туда поидее передается имя ехе который надо вызвать и параметры, и в какойто регистр возвращается ретурн-код Щас покопаюсь, скажу точней



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

Создано: 02 февраля 2007 01:28
· Личное сообщение · #5

еще эта..
cseg01:05B8 caller_CallOuterModule proc near




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

Создано: 02 февраля 2007 01:29
· Личное сообщение · #6

> сайс слетел с вмкой вместе

Ставь на отдельный раздел win98 и будет все элегантно!

Попробую посмотреть...

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




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

Создано: 02 февраля 2007 01:39
· Личное сообщение · #7

Работает, гад, он, с другими ехе
cseg28:0368 push offset file ; "dxf2stg.exe"
cseg28:036B call somecall_to_outer_module2



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

Создано: 02 февраля 2007 01:42
· Личное сообщение · #8

Chingachguk
У меня вин98 не ставится ( AMD x64 винда98 виснет при установке даже




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

Создано: 02 февраля 2007 03:27
· Личное сообщение · #9

DXF2STG.EXE (еще не досмотрел до конца) обладает последовательностью байт:

Data=B8,0A,00,8C,CB,CD,31

Вроде бы так же организован вызов "GDI" в imm.exe.

ОФФ: вроде прикольно:http://www.youtube.com/watch?v=2ZebndiGd1M&eurl

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




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

Создано: 02 февраля 2007 03:59
· Личное сообщение · #10

Там не только dxf2stg.exe вызывается, но и еще чтото.. но там откудато с дугого места берется название ехе

ОФФ: Chingachguk жжош! ржали всей конторой




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

Создано: 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




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

Создано: 02 февраля 2007 05:43
· Личное сообщение · #12

Chingachguk Весьма интересная инфа ))
Можно просьбу? Посмотри
brs.exe:
cseg01:1849 seems_CallOuterModule proc near ; CODE XREF: sub_5B8+17p

Там она немного раз вызывается, какие она ехе тянет кроме этого DXF2STG который прописан прямо таки так? Просто там я нашел код при анализе, но так и не могу пока что понять какие оно еще ехе тянет




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

Создано: 02 февраля 2007 06:16
· Личное сообщение · #13

У меня не вызываецца. Попробовал что-то нарисовать и что-то применить - не вызываецца. Хотя ход верный - выполнить внешний модуль.

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




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

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

Ок, а при запуске он что-то вызывает? Или опять ничего?? Тогда вообще непонятно как он с защитой работает..




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

Создано: 02 февраля 2007 08:35
· Личное сообщение · #15

Надо найти такую последовательность действий - чтобы она вызвала модуль> только ты программу лучше ведь знаешь - что делать надо?

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




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

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

) Я об этих модулях начал копать только после того как ты узнал что там код вроде в другом ехе который реально работает с защитой Ну если рассуждать логичски, имеем:
1) запускаем brs.exe
2) прога инитится
3) гдето идет проверка наличия лицензии
3.1 ) по идее вызывается какойто модуль который работает с защитой
3.2 ) либо это неверное предположение
4) прога проинитилась и показала свой эбаут бокс, ну короче запустилась

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



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

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

Хех, даже при запуске просто он уже лоадит какойто ехе, ща посмотрю какой..

rtm.exe

И ФФСЕ Ща еще попітаюсь посмотреть какие он ему параметры бросает. После вызова этого ехе - уже показывается главное окошко




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

Создано: 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




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

Создано: 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. Что у тебя получилось?

Всмысле исследовал имена?



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

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

Понятно, рано я обрадывался ) в RTM.exe есть строка
seg000:0096 aRtmLoaderVersi db 'RTM loader version 1.5 Copyright (c) 1990-94 Borland Interna'
seg000:0096 db 'tional',0Dh,0Ah
seg000:0096 db 'This loader is invoked and required by Borland tools',0Dh,0Ah
seg000:0096 db '$'

Блин




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

Создано: 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




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

Создано: 02 февраля 2007 10:35
· Личное сообщение · #22

Chingachguk
То что ты говорил, вроде такого нету. Опять в тупике




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

Создано: 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




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

Создано: 02 февраля 2007 10:52
· Личное сообщение · #24

Chingachguk
Сори, предыдущий пост по поводу методов запуска так вот таких я не нашел, а aDxf2stg скорее всегоо... когда ты либо открываеш файл *.STG или сохраняеш.. а так сам не знаю



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

Создано: 02 февраля 2007 10:53
· Личное сообщение · #25

Chingachguk пишет:
Также посмотрю еще раз твой флаг (wStrange1_if_noPROCTECT). По крайней мере - bpm. Хотя возможно его текущее дефолтное значение (1) должно быть где-то снято если кто-то где-то нашел "ключ"...

Согласен

Chingachguk пишет:
call sub3C8D3_UseDxf2stg

Буду изучать сейчас



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

Создано: 02 февраля 2007 10:55
· Личное сообщение · #26

еще может надо просмотреть отсюда
dseg196:07E9 a_exe_0 db '.exe',0 ; DATA XREF: somecall_to_outer_module2+43Ao
просто у проги есть ключ запуска "/APP" но я не знаю зачем он



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

Создано: 02 февраля 2007 10:56
· Личное сообщение · #27

Dxf2stg.exe = STG to DXF(3D) files conv
не думаю что там чтото будет.. но ща смотрю



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

Создано: 02 февраля 2007 10:59
· Личное сообщение · #28

ааа.. дошло. Dxf2stg.exe вызывается когда надо конвернуть файлы, потому что с *.DXF прога не работает напрямую, сек, ща скрин сделаю просто из иды, для истории
(для наглядности перешел в Граф-Вью)



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

Создано: 02 февраля 2007 11:00
· Личное сообщение · #29

блин, атач забыл

51a3_02.02.2007_CRACKLAB.rU.tgz - shot.JPG



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

Создано: 02 февраля 2007 11:06
· Личное сообщение · #30

Дурень я Если в файле поменять этот флаг на 0, то и не надо джампы менять, только что перепроверил вот, но поведение проги становится весьма глюкавым



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

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

Может попробовать искать хэндлер нажатия пункта меню? правда как - не знаю НАчну с мышки..


<< . 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 » Выход » ЛС
   Для печати Для печати