| eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :) |
| . 1 . 2 . 3 . 4 . 5 . 6 . >> |
| Посл.ответ | Сообщение |
|
|
Создано: 23 января 2007 09:27 · Личное сообщение · #1 Есть программа, старезная, 97 года выпуска. Защищена Hardlock. В главном екзешнике по обьяснения ИДЫ есть 2 хедера - NE и для ДОСа. Кажется есть встроеная защита, в сам ехе. Для ДОСа наверное. Только наверно, сам код не нашел. И обращения к драйверу HARDLOCK.VXD для Видны. На этом мои познание в этой проге заканчиваются С чего начать ее взлом? Сори за тупую постановку вопроса. Просто поиском интересных мест по коду, и копанию там не получилось ничего...
![]() |
|
|
Создано: 23 января 2007 09:43 · Личное сообщение · #2 Для начала узнать что за ключ, а потом искать по форуму. тут много подобных топиков. посмотри этот, там были ссылки на статьи по теме, вроде http://www.exelab.ru/f/action=vthread&forum=1&topic=7462 ----- Уважайте других и пишите грамотно. ![]() |
|
|
Создано: 23 января 2007 09:58 · Личное сообщение · #3 |
|
|
Создано: 24 января 2007 00:43 · Личное сообщение · #4 |
|
|
Создано: 24 января 2007 01:04 · Личное сообщение · #5 |
|
|
Создано: 24 января 2007 02:24 · Личное сообщение · #6 |
|
|
Создано: 24 января 2007 03:53 · Личное сообщение · #7 tundra37 Мне при открытии этого файла ехе ИДА говорит мол каким макаром воспринимать файл - NE или MS-DOS Ок, вынь16, просто там есть как обращения к драйверу так и (скорее всего) работа напрямую, потому что под досом прога пашет тоже Сори, если туплю.
Chingachguk вызов VxD через int 2F там есть bpio не брякается хотя я под чистый дос сайс не пробовал. Мне по идее нужно только с виндовой части снять защиту
Executioner искал, читал. Но то ли я туплю, но всеровно не знаю теперь с какого боку подойти к проблеме Там идет как - если ключ вставлен то 2 пункта меню активируются и другой месадж в about-box. Пытался х-рефы просмотреть. Все что видел - не относится к защите. Я просто не могу понять что искать
![]() |
|
|
Создано: 24 января 2007 03:58 · Личное сообщение · #8 впрос. Вот дизасм: cseg132:03BE ; --------------- S U B R O U T I N E --------------------------------------- cseg132:03BE cseg132:03BE ; Attributes: bp-based frame cseg132:03BE cseg132:03BE sub_10E94E proc far cseg132:03BE cseg132:03BE arg_0 = dword ptr 6 cseg132:03BE cseg132:03BE inc bp cseg132:03BF push bp cseg132:03C0 mov bp, sp cseg132:03C2 cmp [bp+arg_0], 0 cseg132:03C7 jz short loc_10E962 cseg132:03C9 les bx, [bp+arg_0] cseg132:03CC mov ax, word_13CAB8 cseg132:03CF mov es:[bx], ax cseg132:03D2 cseg132:03D2 loc_10E962: ; CODE XREF: sub_10E94E+9j cseg132:03D2 mov ax, word_13CAB4 cseg132:03D5 jmp short $+2 cseg132:03D7 pop bp cseg132:03D8 dec bp cseg132:03D9 retf cseg132:03D9 sub_10E94E endp cseg132:03D9 cseg132:03DA ; ---------------------------------------------------------------------- ----- cseg132:03DA mov dx, word ptr dword_13CAA4+2 cseg132:03DE mov ax, word ptr dword_13CAA4 cseg132:03E1 jmp short $+2 cseg132:03E3 retf cseg132:03E4 cseg132:03E4 ; --------------- S U B R O U T I N E --------------------------------------- Что это за конец кода такой? Вроде другой вариант конца функции но рефов на него нету? Прикол защиты или глюк компилятора? Такое очень часто в этом экзешнике встречается ![]() |
|
|
Создано: 24 января 2007 05:28 · Поправил: Chingachguk · Личное сообщение · #9 Spry Посмотри пока Create/OpenFile(.hardlock или .hasp95",...etc) и DeviceIoControl к открытым хэндлам. Если болтаюцца среди VxD вышеупомянутые ребята, попробуй поставить им на вход bpx (точка входа в айсе: vxd <имя vxd'шника>). ps damn, форум киляет "косые черточки" (0x5С) перед именем драйвера
----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
|
Создано: 24 января 2007 05:34 · Личное сообщение · #10 |
|
|
Создано: 24 января 2007 06:40 · Личное сообщение · #11 |
|
|
Создано: 24 января 2007 06:51 · Личное сообщение · #12 |
|
|
Создано: 24 января 2007 07:02 · Поправил: WolfHunter · Личное сообщение · #13 |
|
|
Создано: 24 января 2007 07:11 · Личное сообщение · #14 |
|
|
Создано: 24 января 2007 07:45 · Личное сообщение · #15 WolfHunter пишет: скорее всего, просто ф-ция к которой Ида не нашла обращений Странная какаято функция.. Просто странно. Видел такое (если найду покажу) - функция записывает в ворд1 значение1, просто. без джампов. без колов. в конце похожая на ее концовку (начиная с mov'a) и до конца, но пишет уже значение2 в тот же ворд. WolfHunter пишет: исключено (по тому коду что ты привел) А есть защита код модифит? ![]() |
|
|
Создано: 24 января 2007 07:48 · Личное сообщение · #16 Chingachguk Гммм, нет Небыло времени. Пока что только теория ;) Я просто не могу додуматся как защита влияет на код. Тоесть Если защита грит ключа нет, дизейблим меню, или чтото типа если защита есть, распаковываем функцию которая за этим пунктом меню или как то так?
Сори, если примитивно мыслю, мозги туго варят вечером ![]() |
|
|
Создано: 26 января 2007 07:35 · Личное сообщение · #17 Больше не могу
Chingachguk Строка "HARDLOCK.VXD" есть, находится в начале сегметна когда, рефов нету, хотя этот кусок кода ИДА5 меньше всего распознала. Функции в этом коде то ли странные то ли по кускам разбиты так, что по всему сегменту прыгаю Так как по идее прога должна работать под ДОС тоже, в ней самой должен быть кусок кода от защиты (читал доки, есть вариант когда весь хардлок в виде либы дается). Вот. Тоесть надо искать код с установкой хэндлеров ошибок как по твоей статье(Invalid Opcode и Page fault). Досовское задание таких хэндлеров нашел. Появился вопрос: если прога и в досе, и в винде работает, но в досе без драйверов, и есть строчка "HARDLOCK.VXD", можно сделать не знаю какой вывод.. весь день сидел, уже голова кругом
![]() |
|
|
Создано: 26 января 2007 07:57 · Личное сообщение · #18 Spry Так если есть такая строка - посмотри его используют ли (bpm). А вообще смотри открывается ли устройство (hardlock - как именно я написал выше). Оно должно получить хэндл этого драйвера (смотри OpenFile или CreateFileA) и потом работать с ним (DeviceIoControl). Можно также пойти с другой стороны - поставить bpx на вход в драйвер (также написал выше). Исключения - это да, но это второй шаг
----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
|
Создано: 27 января 2007 01:00 · Личное сообщение · #19 Ну с сайсом у меня небольшой трабл )) Символы у меня не грузятся из ИДА. Может я както коряво делаю MAP->SYM? Можеш и сдесь посоветуеш? Когда я пытаюсь загрузить прогу через DLDR.exe C:/Spry/Intear/brs
(там лежал .EXE и .SYM), прога вылетает, точнее без ошибок, ну как всегда сразу после показывает "Break due to symbol loader" потом тыцаю x; и прога выходит. Если просто DLDR.exe C:/Spry/Intear/brs.EXE все ок, но символов нема, и тогда в коде том разобраться ну както сложно даже чтото найти... ![]() |
|
|
Создано: 27 января 2007 01:02 · Личное сообщение · #20 |
|
|
Создано: 27 января 2007 03:11 · Личное сообщение · #21 Spry пишет: Ну с сайсом у меня небольшой трабл 16-битные в сайс грузятся через специальный загрузчик. Есть ли режим ДОС проверить просто - посмотри экзешник вьювером. Там будет фраза "эта прога требует Виндовс" или не будет. Конечно никто не мешает написать NE-прогу , которая и в ДОС-е работает, но что-то я таких не видел. Обычно делают 2 экзешника - это по-моему удобнее. ![]() |
|
|
Создано: 27 января 2007 03:25 · Личное сообщение · #22 Почему Create?! Я написал Open или Create, может быть даже через специальный Dos3Call ... или как там в этих NE? Посмотри, как она вообще работает с файлами (любыми). Никогда ничего не грузил в sice (кроме стандартных kernel32, etc). Накрайняк можно пойти со стороны драйвера (выше). ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
|
Создано: 27 января 2007 05:57 · Личное сообщение · #23 |
|
|
Создано: 27 января 2007 06:08 · Поправил: Spry · Личное сообщение · #24 |
|
|
Создано: 27 января 2007 08:42 · Личное сообщение · #25 upload if you wanna, может быть посмотрю... никогда не видал software для dos? ne? для этого ключа. Если dos3call == int 21h, то тогда скорее всего работа с устройствами сделана через ioctl: --------D-214400----------------------------- INT 21 - DOS 2+ - IOCTL - GET DEVICE INFORMATION AX = 4400h BX = handle ... А впрочем, как я уже грил, можно смотреть входные точки драйвера или bpm на имя "hardlock". ----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
|
|
Создано: 28 января 2007 01:53 · Поправил: Spry · Личное сообщение · #26 |
|
|
Создано: 28 января 2007 02:08 · Личное сообщение · #27 |
|
|
Создано: 28 января 2007 02:10 · Личное сообщение · #28 |
|
|
Создано: 28 января 2007 02:11 · Личное сообщение · #29 |
|
|
Создано: 28 января 2007 06:04 · Личное сообщение · #30 Когда приложение вызывает (а оно это же как-то делает, верно?) hardlock, то ему в конце-концов попадет управление. У VxD есть так называемая точка входа куда VMM (главный менеджер) будет передавать вызовы - например после DeviceIoControl. Входная точка видна по команде vxd <имя VxD> в сайсе или же открой свой хардлок в дизасме и посмотри что там написано, а потом уже - запомнив байты начала точки входа найди их в айсе командой s (search). Там должна быть обработка функций типа: ; VxD entry point 010B: 83F807 cmp eax,007 ; CREATE_VM 010E: 0F84ECFEFFFF je .000000000 ----- (1) 0114: 83F809 cmp eax,009 ; VM_INIT 0117: 0F84E5FEFFFF je .000000002 ----- (2) 011D: 83F81E cmp eax,01E ; THREAD_INIT ; Установка #6 и #14 0120: 0F84E7FEFFFF je .00000000D ----- (3) 0126: 83F802 cmp eax,002 ; INIT_COMPLETE 0129: 0F84EBFEFFFF je .00000001A ----- (4) 012F: 83F823 cmp eax,023 ; W32_DEVICEIOCONTROL 0132: 0F8466FFFFFF je .00000009E ----- (5) 0138: 83F81B cmp eax,01B ; SYS_DYNAMIC_DEVICE_INIT 013B: 74AF je .0000000EC ----- (6) 013D: 83F81C cmp eax,01C ; SYS_DYNAMIC_DEVICE_EXIT 0140: 74B9 je .0000000FB ----- (7) 0142: F8 clc 0143: C3 retn А по поводу "поставить bpm на имя" - так ты его же нашел? Если нашел, так и ставь bpm 30:<адрес> (селектор лучше 30h - это я про win98). Если не нашел, то сначала найди его командой s (селектор опять лучше 0x30), затем уже bpm. Если скачаю и посмотрю - отпишу
----- The one derivative you manage is the one I abhore (c) Slipknot ![]() |
| . 1 . 2 . 3 . 4 . 5 . 6 . >> |
| eXeL@B —› Основной форум —› Можете посоветовать? Hardlock + под dos/win95 = как убрать? :) |

С чего начать ее взлом? 





Для печати