Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Флейм > Электронный ключ


Автор: man2002ua 21.12.2002, 18:50
Субж - возможно это для ключа на LPT?
Если можно, то подскажите с какой стороны подойти? что почитать...

Автор: Chingachguk 24.12.2002, 00:15
Почитай, как с 1Це поступили. Для 98-х просто сделали "эмулирующий" vxd. Кажется, он назывался "hasp95.vxd" или что-то в этом роде.

А нафига его перебирать ?? Надо отучать прогу от него, и все.

Автор: man2002ua 24.12.2002, 00:36
отучать... Ломать долго - она в нескольких местах проверяет его и я не уверен, что в одной и той же процедуре.
Писать драйвер - самое то, но что и как ловить?
Слушать в течении времени порт и записывать ответы?

Автор: Chingachguk 24.12.2002, 01:18
Ну... Как она с ним работает ? Если под 98-ой, то должен быть vxd её. Можно его изучить.
Если она читает lpt через какую-то апи, то бряк на эту апи.

Правильно ли я понимаю, что она читает этот ключ для расшифровки своего кода ? Если да, то что она говорит, если ключ не вставлен ? Если вставлен левый ключ ?

Вообщем, какой инфой ты уже располагаешь ?

Автор: man2002ua 24.12.2002, 01:24
программа (BEST называется) под DOS, работает на W2K. Как и через что она работает - понятия не имею, на сервер меня никто не пустит, даже для благих целей (работа-то идет!), так-что исследовать ее не на чем, себе поставить не могу - нужен спец по этой проге (она Московская).
Ключ есть валидный, к-й сейчас торчит у меня из lpt  ;-)  хочу написать драйвер. Болванку написал - чем заполнить - понятия не имею...

Автор: Chingachguk 24.12.2002, 01:55
Погоди, ты хочешь сказать, что она с сервера к твоему компу за ключем лезет ??? Ух ты.

Тогда да, слушать. Раз она у тебя на компе стоит, то через какой драйвер она это делает ?

Если сделаешь, то все, что тебе надо - это повторить все ответы чтения/записи ключа вроде бы ?

Автор: man2002ua 24.12.2002, 02:01
не знаю, через какой драйвер...
у этой проги туча exe-шников и ни одного sys.
Остается только слушать порт.

Автор: Chingachguk 24.12.2002, 17:47
Это ж досовые экзешники ? Значит, в них где-то в начале есть установка вектора прерывания - обработчика прерываний от LPT (у лпт есть прерывания ? Вот у кома есть), значит, можно написать простой перехватчик int 21h с триггером на вызов ф-ций 25h и 35h (код у меня есть, могу дать). Или же в айсе бряк на доступ к портам...

Автор: man2002ua 24.12.2002, 18:28
Неплохая мысль насчет прерываний! Давай код - попробую посмотреть через какие прерывания оно работает. Код на асме ессессно?

Автор: Chingachguk 25.12.2002, 17:30
Вот, приволок из дома.
Хватает в триггер некоторые функции int 21h и выводит дебаг по регистрам ax,bx,cx,dx. Ею я влет получил номер функции pkunzip'а, которой он пароль запрашивает.

Цитата

.286                    ; Команды процессора 286+ незащищенного режима
HookedVector equ 21h    ; Перехватываем вектор 21h - DOS
SoundFreq    equ 3      ; Будем издавать звук каждые SoundFreq секунд
cseg segment byte 'code'
    assume  cs:cseg
    org     100h       ; Обычный PSP com - программы
begin:  jmp  Iniz       ; Обойдем резидентный код
messagekey proc near
 pushf           ; Сохраним флаги вызывающей программы
 cmp  ah,40h
 jz   @OurFunction
;  cmp  ah,3Dh
;  jz   @OurFunction
;  cmp  ah,3Ch
;  jz   @OurFunction
 cmp  ah,42h
 jz   @OurFunction
;  cmp  ah,3Fh
;  jz   @OurFunction
;  cmp  ah,08h
;  jnz  @NotOurFunction
 jmp  short @NotOurFunction
@OurFunction:
; Сохраним все регистры
 pusha
 push ds
 push es
; Издадим звук
 call Sound
 call Show_Info
 pop  es
 pop  ds
 popa
@NotOurFunction:
 popf            ; Восстановим флаги
 db   0eah       ; код команды jmp far
 Old_21H dd ?    ; На предидущий обработчик int 21h
messagekey endp
Show_Info proc near
 mov  word ptr cs:RegsInfo+3,ax
 mov  word ptr cs:RegsInfo+11,bx
 mov  word ptr cs:RegsInfo+19,cx
 mov  word ptr cs:RegsInfo+27,dx
 push cs
 pop  ds
 mov  cx,4
 mov  bx,offset RegsInfo+3
@@GetHexStr:
 mov  ax,word ptr [bx]
 mov  di,bx
 call HexChar
 add  bx,8
 loop @@GetHexStr
 mov  cx,8*4
 xor  di,di
 mov  si,offset RegsInfo
 push 0B800h
 pop  es
 cld
@@OutRegs:
 lodsb
 mov  ah,09
 stosw
 loop @@OutRegs
 xor  ax,ax
 int  16h
 retn
RegsInfo db 'AX=???? BX=???? CX=???? DX=???? '
; now ds:dx = point to filename
Show_Info endp
HexChar proc near
 pusha
 mov  cx,4
 mov  bx,offset TabHex
@GetHex:
 rol  ax,4
 push ax
 and  al,0fh
 xlat
 mov  [di],al
 inc  di
 pop  ax
 loop @GetHex
 popa
 retn
TabHex  db '0123456789abcdef'
HexChar endp
Sound proc near
 pusha
 mov  al,0b6h
 out  43h,al
 mov  ax,330
 out  42h,al
 mov  al,ah
 out  42h,al
 in   al,61h
 mov  ah,al
 or   al,3
 out  61h,al
 xor  cx,cx
@waitt:
 loop @waitt
 mov  al,ah
 out  61h,al
 popa
 retn
 mov  ax,400
@@pause:
 xor  cx,cx
@pause:
 loop @pause
 dec  ax
 jnz  @@pause
 retn
Sound endp
Iniz proc
 assume ds:cseg
 mov  ax,(35H shl 8) + HookedVector
 int  21h        ; Get old HookedVector to es:bx
 mov  word ptr Old_21h,bx
 mov  word ptr Old_21h+2,es
 mov  dx,offset MessageKey
 mov  ah,25h
 int  21H        ; Set new Vector
 mov  dx,offset Iniz
 int  27H        ; Terminate and Stay Rezident
Iniz endp
cseg ends
 end begin

Автор: man2002ua 25.12.2002, 17:45
Спасибки, попробуем :)
P.S.
а мне из Mansona больше нравится "Astonishing panorama of end times"  :D

Автор: Sun 25.12.2002, 19:42
А какой смысл ломать этот БЭСТ? Достаточно убогая и тормознутая система, IMHO.

Автор: man2002ua 25.12.2002, 19:46
целиком и полностью согласен :), НО на ней работает моя компания... Сам ключ стоит на моем серваке и меня это выводит из себя - чуть что - звонят "сервер в порядке или нет?", а я ведь иногда перегружаю его...

Автор: Chingachguk 25.12.2002, 21:02
Цитата

man2002ua Дата сообщения: 25.12.2002,09:45
Спасибки, попробуем
P.S.
а мне из Mansona больше нравится "Astonishing panorama of end times"


А я даже на концерт его ходил ;)
Хотя вообще-то больше люблю дэт&дум.

Автор: neutrino 26.12.2002, 02:20
Цитата(Chingachguk @ 25.12.2002, 15:02)
Хотя вообще-то больше люблю дэт&дум.

Извиняюсь за флуд и офтоп, удалите мое сообшение... но ...
2Chingachguk: Угу. Я тоже его больше люблю. Dimmu Borgir слушал?

Автор: Chingachguk 27.12.2002, 00:38
Цитата

neutrino Дата сообщения: 25.12.2002,18:20
...
2Chingachguk: Угу. Я тоже его больше люблю. Dimmu Borgir слушал?


Неа ;) Хотя что-то знакомое в названии, определенно ...

Автор: neutrino 27.12.2002, 02:00
Если встретишь, послушай. Неплохо...
А вот Мэрилин Менсона определенно не перевариваю.

Автор: Chingachguk 27.12.2002, 18:02
Цитата

neutrino Дата сообщения: 26.12.2002,18:00
Если встретишь, послушай. Неплохо...


А что хоть примерно это ? На что похоже ?
Кстати, я тут послушал недавна Cradle of Filth, альбум biller suiles to succubi. Раньше я не воспринимал их вообще, но этот ничего. Легковат тока.

Цитата

А вот Мэрилин Менсона определенно не перевариваю.


Да ? А отчего ?

Автор: Wowa 28.12.2002, 02:13
Модератор: Давайте вернёмся к теме обсуждения.

Автор: man2002ua 28.12.2002, 02:15
тема закрыта. Можно продолжать флууд  :D

Автор: Wowa 1.1.2003, 01:03
Тема закрыта, продолжайте в разделе "Флейм".

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)