saber
August 11th, 2005, 00:03
Hi guys,
I am trying to write a hasp 3 emulator. The software works absolutely fine with glasha's hasp emulator still i would love to learn to write my own emulator.
The services called are
service 1 (two times)
Service 5 ( Once)
Service 32 (twice with diffrent para)
Service 6
Service 33 ( once)
Service 6 (again)
This is my first attempt to write emulator. please help
//Service 1 is called
CMP BH,01
JNZ @service 5
MOV EAX,00000001
RET
//service 5:
cmp BH, 05h
jnz @service 32
mov ax, 0001
mov bx, 0001
mov cx, 0066
mov dx, 1F4A
//service 32 (Read):
cmp BH, 32h
jnz @service ?
mov ax, 000D
mov bx, 0007
mov cx, 0000
mov dx, 6000
//Service 32 called again with seprate para (Why i have no idea)
cmp BH, 32h
jnz @service ?
mov ax, 0000
mov bx, 0014
mov cx, 0000
mov dx, 6000
//Then service 6 is called
cmp BH, 6h
jnz @service 33
mov ax, 0DFC
mov bx, 393C
mov cx, 0000
mov dx, 012C
//Then service 33 is called
cmp BH, 33
jnz @service ??
mov ax, 0000
mov bx, 0033
mov cx, 0000
mov dx, 6000
//Then service 6 is called again
cmp BH, 6h
jnz @service 33
mov ax, 0DFC
mov bx, 393C
mov cx, 0000
mov dx, 012C
I am trying to write a hasp 3 emulator. The software works absolutely fine with glasha's hasp emulator still i would love to learn to write my own emulator.
The services called are
service 1 (two times)
Service 5 ( Once)
Service 32 (twice with diffrent para)
Service 6
Service 33 ( once)
Service 6 (again)
This is my first attempt to write emulator. please help
//Service 1 is called
CMP BH,01
JNZ @service 5
MOV EAX,00000001
RET
//service 5:
cmp BH, 05h
jnz @service 32
mov ax, 0001
mov bx, 0001
mov cx, 0066
mov dx, 1F4A
//service 32 (Read):
cmp BH, 32h
jnz @service ?
mov ax, 000D
mov bx, 0007
mov cx, 0000
mov dx, 6000
//Service 32 called again with seprate para (Why i have no idea)
cmp BH, 32h
jnz @service ?
mov ax, 0000
mov bx, 0014
mov cx, 0000
mov dx, 6000
//Then service 6 is called
cmp BH, 6h
jnz @service 33
mov ax, 0DFC
mov bx, 393C
mov cx, 0000
mov dx, 012C
//Then service 33 is called
cmp BH, 33
jnz @service ??
mov ax, 0000
mov bx, 0033
mov cx, 0000
mov dx, 6000
//Then service 6 is called again
cmp BH, 6h
jnz @service 33
mov ax, 0DFC
mov bx, 393C
mov cx, 0000
mov dx, 012C