Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
69
MAIN/PROT/ASMYT.ASM
Normal file
69
MAIN/PROT/ASMYT.ASM
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
IDEAL
|
||||
MODEL large
|
||||
P386
|
||||
|
||||
CODESEG
|
||||
|
||||
PUBLIC C randtau
|
||||
LABEL randtau WORD
|
||||
|
||||
db 1024 dup(0)
|
||||
|
||||
rptr dw 0
|
||||
eino dd 22a53341h
|
||||
|
||||
PUBLIC C arand
|
||||
PROC C arand
|
||||
ARG buu:word
|
||||
|
||||
mov bx, [cs:rptr]
|
||||
|
||||
mov eax, [cs:eino]
|
||||
add eax, 0a753cd3dh
|
||||
add bx, 2*4
|
||||
and bx, 3ffh
|
||||
add eax, [dword cs:bx+randtau]
|
||||
add bx, 23*4
|
||||
and bx, 3ffh
|
||||
add eax, [dword cs:bx+randtau]
|
||||
sub bx, 24*4
|
||||
and bx, 3ffh
|
||||
mov [dword cs:bx+randtau], eax
|
||||
mov [cs:eino], eax
|
||||
mov [cs:rptr],bx
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PUBLIC C arsetkey
|
||||
|
||||
PROC C arsetkey
|
||||
ARG ckey:dword
|
||||
|
||||
push ds si di
|
||||
|
||||
mov ax, cs
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov si, OFFSET randtau
|
||||
mov di, si
|
||||
cld
|
||||
lfs bx, [ckey]
|
||||
mov cx, 100h
|
||||
mov dl, [fs:bx]
|
||||
@@l1:
|
||||
lodsb
|
||||
xor al, dl
|
||||
stosb
|
||||
inc bx
|
||||
cmp [BYTE PTR fs:bx], 0d
|
||||
jnz @@l2
|
||||
lfs bx, [ckey]
|
||||
@@l2:
|
||||
rol dl, 1d
|
||||
add dl, [fs:bx]
|
||||
loop @@l1
|
||||
|
||||
pop di si ds
|
||||
ret
|
||||
ENDP
|
||||
END
|
||||
2
MAIN/PROT/CLEAN.BAT
Normal file
2
MAIN/PROT/CLEAN.BAT
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
del *.obj *.bak *.map *.lst *.bin *.dat *.inc
|
||||
|
||||
83
MAIN/PROT/CRYPT.C
Normal file
83
MAIN/PROT/CRYPT.C
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
#include <io.h>
|
||||
#include <fcntl.h>
|
||||
#include <dos.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
extern int far arand();
|
||||
extern char far randtau[1024];
|
||||
char far buf[64000];
|
||||
|
||||
main() {
|
||||
int p1, p2, p3, p4;
|
||||
long l,sl,w;
|
||||
int a,b,r;
|
||||
int f1;
|
||||
|
||||
if(_argc!=2) return(1);
|
||||
|
||||
f1=open(_argv[1],O_RDWR|O_BINARY);
|
||||
if(f1==-1) return(1);
|
||||
l=read(f1,buf,64000);
|
||||
lseek(f1,0,SEEK_SET);
|
||||
|
||||
p1=0;
|
||||
do do do while(buf[p1++]!=0x12); while(buf[p1++]!=0x34); while(buf[p1++]!=0x56); while(buf[p1++]!=0x78);
|
||||
p2=p1; // p2=cstart
|
||||
|
||||
do do do while(buf[p1++]!=0x12); while(buf[p1++]!=0x34); while(buf[p1++]!=0x56); while(buf[p1++]!=0x78);
|
||||
for(a=p1-4;a<p2+768;a++) buf[a]=rand();
|
||||
p3=p1-4; // p3=randtau
|
||||
|
||||
p1=p2+768;
|
||||
do do do while(buf[p1++]!=0x12); while(buf[p1++]!=0x34); while(buf[p1++]!=0x56); while(buf[p1++]!=0x78);
|
||||
p4=p1-4; // randtau code end
|
||||
for(a=p4;a<p3+1024;a++) buf[a]=rand();
|
||||
|
||||
do do do while(buf[p1++]!=0x12); while(buf[p1++]!=0x34); while(buf[p1++]!=0x56); while(buf[p1++]!=0x78);
|
||||
sl=p1-4; // p1=crypt_start
|
||||
|
||||
asm {
|
||||
mov ax, p1
|
||||
add ax, 29787d
|
||||
mov cx, 15553d
|
||||
mul cx
|
||||
and ax, 511d
|
||||
mov a, ax
|
||||
}
|
||||
|
||||
for(;p1<l;p1++,a=(a+15553U)&511)
|
||||
buf[a+p2+256]=buf[p1]^0x77;
|
||||
|
||||
memcpy(&randtau[0],&buf[p3],1024);
|
||||
for(a=0;a<p2-4;a++) buf[a]=buf[a]^arand();
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
for(a=0,r=0;a<256*3;a++)
|
||||
{
|
||||
if(a<256) { r+=0x7a33; r*=0x2345; }
|
||||
else if(a<256*2) { r+=0x455c; r*=0x825d; }
|
||||
else { r+=0xaa4b; } // r*=0xde88; }
|
||||
buf[p2+(a&255)]^=r;
|
||||
}
|
||||
|
||||
for(a=0,r=0;a<256*2;a++)
|
||||
{
|
||||
if(a<256) { r+=0x455c; r*=0x825d; }
|
||||
else { r+=0xaa4b; } // r*=0xde88; }
|
||||
buf[p2+(a&255)]^=r;
|
||||
}
|
||||
|
||||
for(a=0,r=0;a<256;a++)
|
||||
{
|
||||
r+=0xaa4b; // r*=0xde88;
|
||||
buf[p2+(a&255)]^=r;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
write(f1,buf,sl);
|
||||
chsize(f1,sl);
|
||||
close(f1);
|
||||
return(0);
|
||||
}
|
||||
BIN
MAIN/PROT/CRYPT.DSK
Normal file
BIN
MAIN/PROT/CRYPT.DSK
Normal file
Binary file not shown.
BIN
MAIN/PROT/CRYPT.EXE
Normal file
BIN
MAIN/PROT/CRYPT.EXE
Normal file
Binary file not shown.
BIN
MAIN/PROT/CRYPT.PRJ
Normal file
BIN
MAIN/PROT/CRYPT.PRJ
Normal file
Binary file not shown.
BIN
MAIN/PROT/EXEBODY.DAT
Normal file
BIN
MAIN/PROT/EXEBODY.DAT
Normal file
Binary file not shown.
1351
MAIN/PROT/EXEBODY.INC
Normal file
1351
MAIN/PROT/EXEBODY.INC
Normal file
File diff suppressed because it is too large
Load diff
BIN
MAIN/PROT/EXEHEAD.DAT
Normal file
BIN
MAIN/PROT/EXEHEAD.DAT
Normal file
Binary file not shown.
3
MAIN/PROT/EXEHEAD.INC
Normal file
3
MAIN/PROT/EXEHEAD.INC
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
db 77,90,113,0,43,0,0,0,2,0,209,5,209,5,252
|
||||
db 4,116,0,0,0,6,0,252,4,28,0,0,0
|
||||
BIN
MAIN/PROT/INCBIN.EXE
Normal file
BIN
MAIN/PROT/INCBIN.EXE
Normal file
Binary file not shown.
36
MAIN/PROT/MAKEFILE
Normal file
36
MAIN/PROT/MAKEFILE
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
prot.exe: run3.obj
|
||||
tlink run3.obj,prot.exe
|
||||
|
||||
run3.obj: run3.asm run2.inc
|
||||
tasm run3.asm
|
||||
|
||||
run2.inc: run2.obj crypt.exe
|
||||
tlink /t run2.obj,run2.bin
|
||||
-crypt run2.bin
|
||||
-incbin run2.bin run2.inc
|
||||
|
||||
run2.obj: run2.asm run1.inc
|
||||
tasm /m9 /l run2.asm
|
||||
|
||||
run1.inc: run1.obj
|
||||
tlink /t run1.obj,run1.bin
|
||||
-incbin run1.bin run1.inc
|
||||
|
||||
run1.obj: run1.asm exebody.inc exehead.inc
|
||||
tasm /m9 run1.asm
|
||||
|
||||
exebody.inc exehead.inc: test.exe split.exe
|
||||
-split test.exe
|
||||
-incbin exebody.dat exebody.inc
|
||||
-incbin exehead.dat exehead.inc
|
||||
|
||||
test.exe: test.asm
|
||||
tasm test
|
||||
tlink test
|
||||
|
||||
crypt.exe: crypt.c asmyt.asm
|
||||
bcc crypt.c asmyt.asm
|
||||
|
||||
split.exe: split.c
|
||||
bcc split.c
|
||||
|
||||
BIN
MAIN/PROT/PROT.EXE
Normal file
BIN
MAIN/PROT/PROT.EXE
Normal file
Binary file not shown.
7
MAIN/PROT/PROT.MAP
Normal file
7
MAIN/PROT/PROT.MAP
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
|
||||
Start Stop Length Name Class
|
||||
|
||||
00000H 069ECH 069EDH KOODI STACK
|
||||
|
||||
Program entry point at 0000:59E2
|
||||
|
||||
29
MAIN/PROT/RUN1.ASM
Normal file
29
MAIN/PROT/RUN1.ASM
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
IDEAL
|
||||
P386
|
||||
|
||||
SEGMENT lerssicode
|
||||
|
||||
ASSUME cs:lerssicode,ds:nothing,es:nothing
|
||||
|
||||
LABEL body BYTE
|
||||
INCLUDE 'exebody.inc'
|
||||
LABEL header BYTE
|
||||
INCLUDE 'exehead.inc'
|
||||
|
||||
PROC start NEAR
|
||||
|
||||
mov ax, cs
|
||||
add [word cs:header+0eh], ax
|
||||
add [word cs:header+16h], ax
|
||||
sub ax, 10h
|
||||
mov es, ax
|
||||
mov ds, ax
|
||||
|
||||
mov ss, [word cs:header+0eh]
|
||||
mov sp, [word cs:header+10h]
|
||||
jmp [dword cs:header+14h]
|
||||
ENDP
|
||||
|
||||
jmp start
|
||||
ENDS
|
||||
END body
|
||||
BIN
MAIN/PROT/RUN1.BIN
Normal file
BIN
MAIN/PROT/RUN1.BIN
Normal file
Binary file not shown.
1355
MAIN/PROT/RUN1.INC
Normal file
1355
MAIN/PROT/RUN1.INC
Normal file
File diff suppressed because it is too large
Load diff
6
MAIN/PROT/RUN1.MAP
Normal file
6
MAIN/PROT/RUN1.MAP
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
Start Stop Length Name Class
|
||||
|
||||
00000H 05491H 05492H LERSSICODE
|
||||
|
||||
|
||||
BIN
MAIN/PROT/RUN1.OBJ
Normal file
BIN
MAIN/PROT/RUN1.OBJ
Normal file
Binary file not shown.
366
MAIN/PROT/RUN2.ASM
Normal file
366
MAIN/PROT/RUN2.ASM
Normal file
|
|
@ -0,0 +1,366 @@
|
|||
P386
|
||||
IDEAL
|
||||
|
||||
no_debug = 1
|
||||
|
||||
SEGMENT koodi para public
|
||||
ASSUME cs:koodi, ds:nothing
|
||||
INCLUDE 'run1.inc'
|
||||
run1start=$-2
|
||||
|
||||
db 12h,34h,56h,78h
|
||||
|
||||
PROC cstart
|
||||
|
||||
mov bx, 0d
|
||||
xor si,si
|
||||
mov cx, OFFSET cstart
|
||||
mov eax, 22a53341h
|
||||
@@l1:
|
||||
add eax, 0a753cd3dh
|
||||
add bx, 2*4
|
||||
and bx, 3ffh
|
||||
add eax, [dword cs:bx+randtau]
|
||||
add bx, 23*4
|
||||
and bx, 3ffh
|
||||
add eax, [dword cs:bx+randtau]
|
||||
sub bx, 24*4
|
||||
and bx, 3ffh
|
||||
xor [cs:si],al
|
||||
mov [dword cs:bx+randtau], eax
|
||||
inc si
|
||||
loop @@l1
|
||||
jmp run1start
|
||||
ENDP
|
||||
rptr dw 0
|
||||
|
||||
LABEL randtau WORD
|
||||
db 12h,34h,56h,78h
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
|
||||
ORG OFFSET cstart+768d
|
||||
mdd dw 55a2h
|
||||
|
||||
start:
|
||||
cli
|
||||
xor ax, ax
|
||||
mov ds, ax
|
||||
mov [word ds:4], OFFSET int01
|
||||
mov [word ds:4+2], cs
|
||||
|
||||
mov [word ds:4*3], OFFSET int03
|
||||
mov [word ds:4*3+2], cs
|
||||
|
||||
mov ax, cs
|
||||
mov ss, ax
|
||||
mov sp, OFFSET apino
|
||||
|
||||
PROC int01
|
||||
pop [r_ip] ; remove ip
|
||||
add sp, 2d ; remove cs
|
||||
pusha ; = 8*2 bytes
|
||||
push ds es ; + 2*2 bytes = total 20 bytes
|
||||
|
||||
ASSUME ds:koodi
|
||||
|
||||
mov ax, cs
|
||||
mov ds, ax
|
||||
|
||||
mov bx, [pptr]
|
||||
mov [sptau+bx], sp ; save SP
|
||||
mov ax, [r_ip]
|
||||
sub ax, OFFSET runrun
|
||||
add [iptau+bx], ax ; save IP
|
||||
add bx, 2d
|
||||
cmp bx, 8d
|
||||
jbe @@l1
|
||||
mov bx, 0d
|
||||
@@l1: mov [pptr], bx
|
||||
mov sp, [sptau+bx] ; get SP
|
||||
mov ax, [iptau+bx] ; get IP
|
||||
|
||||
add ax, 29787d
|
||||
mov bp, 15553d
|
||||
mul bp
|
||||
lea si, [runrun]
|
||||
mov cx, 8d
|
||||
@@l2:
|
||||
mov bx, ax
|
||||
and bx, 511d
|
||||
mov dl, [BYTE bx+cstart+256]
|
||||
xor dl, 77h
|
||||
mov [si], dl
|
||||
inc bx
|
||||
inc si
|
||||
add ax, bp
|
||||
loop @@l2
|
||||
|
||||
ASSUME ds:NOTHING
|
||||
|
||||
pop es ds
|
||||
popa
|
||||
push cs
|
||||
push OFFSET runrun
|
||||
int03:
|
||||
iret
|
||||
ENDP
|
||||
db 12h,34h,56h,78h ; end of randtau
|
||||
;----------------------------------------------------------------------------
|
||||
|
||||
IF randtau+1024 LT $
|
||||
ERR
|
||||
ENDIF
|
||||
|
||||
ORG OFFSET randtau+1024
|
||||
|
||||
r_cnt dw 1
|
||||
r_ip dw ?
|
||||
pptr dw 7*2
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
sptau dw OFFSET pino1, OFFSET pino2, OFFSET pino5, OFFSET pino3, OFFSET pino4
|
||||
|
||||
ORG sptau+8*2
|
||||
iptau dw OFFSET rout1, OFFSET rout2, OFFSET rout5, OFFSET rout3, OFFSET rout4
|
||||
ORG iptau+8*2
|
||||
|
||||
|
||||
; dw 10 dup(?) ; free space
|
||||
pino1: dw 2 dup(?) ; es, ds
|
||||
dw 8 dup(?) ; di si bp sp bx dx cx ax
|
||||
dw 0100h
|
||||
|
||||
; dw 10 dup(?) ; free space
|
||||
pino2: dw 2 dup(?) ; es, ds
|
||||
dw 8 dup(?) ; di si bp sp bx dx cx ax
|
||||
dw 0100h
|
||||
|
||||
; dw 10 dup(?) ; free space
|
||||
pino3: dw 2 dup(?) ; es, ds
|
||||
dw 8 dup(?) ; di si bp sp bx dx cx ax
|
||||
dw 0100h
|
||||
|
||||
; dw 10 dup(?) ; free space
|
||||
pino4: dw 2 dup(?) ; es, ds
|
||||
dw 8 dup(?) ; di si bp sp bx dx cx ax
|
||||
dw 0100h
|
||||
|
||||
; dw 10 dup(?) ; free space
|
||||
pino5: dw 2 dup(?) ; es, ds
|
||||
dw 8 dup(?) ; di si bp sp bx dx cx ax
|
||||
dw 0100h
|
||||
|
||||
|
||||
dw 10h dup(?) ; reserved
|
||||
apino: dw OFFSET runrun
|
||||
dw 0
|
||||
dw 0
|
||||
|
||||
|
||||
PROC runrun
|
||||
REPT 4
|
||||
nop
|
||||
ENDM
|
||||
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov ax, 13h
|
||||
int 10h
|
||||
mov si, OFFSET runrun
|
||||
mov di, 0d
|
||||
rep movsb
|
||||
mov si, bx
|
||||
|
||||
and si, 8191
|
||||
mov eax, [cs:bx]
|
||||
xor eax, [cs:si]
|
||||
mov [cs:(dword runrun)], eax
|
||||
mov eax, [cs:bx+4]
|
||||
xor eax, [cs:si+4]
|
||||
mov [cs:(dword runrun+4)], eax
|
||||
|
||||
int 1
|
||||
|
||||
loop runrun
|
||||
ENDP
|
||||
|
||||
;---------------
|
||||
|
||||
cmp_dt db 12 dup(?)
|
||||
doexit dw 4
|
||||
nnull dd 0
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
jmp start
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
|
||||
MACRO scall l1
|
||||
LOCAL l2
|
||||
push OFFSET l2
|
||||
jmp l1
|
||||
l2:
|
||||
ENDM
|
||||
|
||||
MACRO sret
|
||||
LOCAL l2
|
||||
pop bx
|
||||
sub bx, OFFSET l2 - OFFSET runrun
|
||||
l2: jmp bx
|
||||
ENDM
|
||||
|
||||
|
||||
; This code is crypted at randtau of crypter.
|
||||
; maximum length 1024 bytes.
|
||||
;
|
||||
|
||||
db 12h,34h,56h,78h
|
||||
crypt_start:
|
||||
|
||||
PROC rout1
|
||||
mov bx, OFFSET cstart
|
||||
mov cx, 256d
|
||||
@@l1: add ax, 7a33h
|
||||
imul ax, 2345h
|
||||
xor [cs:bx], al
|
||||
inc bx
|
||||
IFDEF no_debug
|
||||
int 1
|
||||
ENDIF
|
||||
loop @@l1
|
||||
ENDP
|
||||
|
||||
PROC rout2
|
||||
mov bx, OFFSET cstart
|
||||
mov cx, 256d
|
||||
@@l1: add ax, 455ch
|
||||
imul ax, 825dh
|
||||
xor [cs:bx], al
|
||||
inc bx
|
||||
IFDEF no_debug
|
||||
int 1
|
||||
ENDIF
|
||||
loop @@l1
|
||||
ENDP
|
||||
|
||||
PROC kill_sice
|
||||
|
||||
REPT 8
|
||||
xor si, si
|
||||
ENDM
|
||||
|
||||
sgdt [pword cs:cmp_dt]
|
||||
REPT 8
|
||||
xor si, si
|
||||
ENDM
|
||||
add eax, 23f50000h
|
||||
lea ebp, [ebx+esi+0001fffah]
|
||||
REPT 7
|
||||
nop
|
||||
ENDM
|
||||
sidt [pword cs:cmp_dt+6]
|
||||
|
||||
mov cl, [cs:cmp_dt+6]
|
||||
sub [cs:cmp_dt], cl
|
||||
mov cl, [cs:cmp_dt+6+1]
|
||||
sbb [cs:cmp_dt+1], cl
|
||||
REPT 8
|
||||
xor si, si
|
||||
ENDM
|
||||
mov cl, [cs:cmp_dt+6+2]
|
||||
sbb [cs:cmp_dt+2], cl
|
||||
mov cl, [cs:cmp_dt+6+3]
|
||||
sbb [cs:cmp_dt+3], cl
|
||||
mov cl, [cs:cmp_dt+6+4]
|
||||
sbb [cs:cmp_dt+4], cl
|
||||
mov cl, [cs:cmp_dt+6+5]
|
||||
sbb [cs:cmp_dt+5], cl
|
||||
|
||||
cmp [word cs:cmp_dt+4], 0000h
|
||||
jne rout3
|
||||
mov edx, 0805f8c9h
|
||||
cmp [dword cs:cmp_dt], edx
|
||||
je @@dumpsice
|
||||
mov edx, 0805f899h ; 99f80508 0000
|
||||
cmp [dword cs:cmp_dt], edx
|
||||
jne @@skip
|
||||
REPT 8
|
||||
xor si, si
|
||||
ENDM
|
||||
@@dumpsice:
|
||||
IFDEF no_debug
|
||||
add [cs:mdd],0a54dh
|
||||
add ax, [cs:mdd]
|
||||
ENDIF
|
||||
@@skip:
|
||||
|
||||
ENDP
|
||||
|
||||
PROC rout3
|
||||
mov bx, OFFSET cstart
|
||||
mov cx, 256d
|
||||
@@l1: add ax, 0aa4bh
|
||||
; imul ax, 0de88h
|
||||
xor [cs:bx], al
|
||||
inc bx
|
||||
IFDEF no_debug
|
||||
int 1
|
||||
ENDIF
|
||||
loop @@l1
|
||||
ENDP
|
||||
|
||||
PROC rout4
|
||||
dec [doexit]
|
||||
jz @@l2
|
||||
@@l3:
|
||||
xor ax, ax
|
||||
dw 10 dup(0)
|
||||
@@l4: dw 10 dup(0)
|
||||
mov si, 'FG'
|
||||
mov di, 'JM'
|
||||
dw 5 dup(0)
|
||||
mov ax, 0911h
|
||||
IFDEF no_debug
|
||||
int 3h
|
||||
ENDIF
|
||||
jmp @@l3
|
||||
|
||||
@@l2:
|
||||
REPT 20
|
||||
xor si, si
|
||||
ENDM
|
||||
mov [word ds:3*4+0], OFFSET cstart
|
||||
mov [word ds:3*4+2], cs
|
||||
IFNDEF no_debug
|
||||
int 3
|
||||
ENDIF
|
||||
jmp rout5
|
||||
|
||||
mov ax, 4c00h
|
||||
int 21h
|
||||
ENDP
|
||||
|
||||
|
||||
PROC rout5
|
||||
|
||||
IFDEF no_debug
|
||||
int 01
|
||||
ENDIF
|
||||
dw 5 dup(0)
|
||||
add [byte es:bx], 0d
|
||||
inc bx
|
||||
dw 50 dup(0)
|
||||
jmp rout5
|
||||
ENDP
|
||||
|
||||
IF ($-crypt_start) GT 1000d
|
||||
ERR
|
||||
ENDIF
|
||||
|
||||
ENDS
|
||||
END
|
||||
|
||||
|
||||
|
||||
BIN
MAIN/PROT/RUN2.BIN
Normal file
BIN
MAIN/PROT/RUN2.BIN
Normal file
Binary file not shown.
1440
MAIN/PROT/RUN2.INC
Normal file
1440
MAIN/PROT/RUN2.INC
Normal file
File diff suppressed because it is too large
Load diff
4938
MAIN/PROT/RUN2.LST
Normal file
4938
MAIN/PROT/RUN2.LST
Normal file
File diff suppressed because it is too large
Load diff
6
MAIN/PROT/RUN2.MAP
Normal file
6
MAIN/PROT/RUN2.MAP
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
Start Stop Length Name Class
|
||||
|
||||
00000H 05BE8H 05BE9H KOODI
|
||||
|
||||
|
||||
BIN
MAIN/PROT/RUN2.OBJ
Normal file
BIN
MAIN/PROT/RUN2.OBJ
Normal file
Binary file not shown.
16
MAIN/PROT/RUN3.ASM
Normal file
16
MAIN/PROT/RUN3.ASM
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
IDEAL
|
||||
P386
|
||||
|
||||
SEGMENT koodi stack 'STACK'
|
||||
INCLUDE 'run2.inc'
|
||||
run2end:
|
||||
|
||||
dw 0
|
||||
dw 0
|
||||
dw 0
|
||||
dw 0
|
||||
db 4096 dup(0)
|
||||
ENDS
|
||||
|
||||
END run2end-3
|
||||
|
||||
BIN
MAIN/PROT/RUN3.OBJ
Normal file
BIN
MAIN/PROT/RUN3.OBJ
Normal file
Binary file not shown.
36
MAIN/PROT/SPLIT.C
Normal file
36
MAIN/PROT/SPLIT.C
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <dos.h>
|
||||
|
||||
char buf[16384];
|
||||
|
||||
main() {
|
||||
int a,b;
|
||||
FILE *f1,*f2,*f3;
|
||||
|
||||
if(_argc!=2)
|
||||
{
|
||||
printf("usage: %s <file.exe>\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
f1=fopen(_argv[1],"rb");
|
||||
if(f1==0) exit(1);
|
||||
f2=fopen("exebody.dat","wb");
|
||||
if(f2==0) exit(1);
|
||||
f3=fopen("exehead.dat","wb");
|
||||
if(f3==0) exit(1);
|
||||
|
||||
fread(buf,1,0x1c,f1);
|
||||
fwrite(buf,1,0x1c,f3);
|
||||
|
||||
fseek(f1,0x08,SEEK_SET);
|
||||
fseek(f1,a=getw(f1)*16,SEEK_SET);
|
||||
|
||||
while(!feof(f1))
|
||||
{
|
||||
a=fread(buf,1,16384,f1);
|
||||
if(a==0) break;
|
||||
fwrite(buf,1,a,f2);
|
||||
}
|
||||
}
|
||||
BIN
MAIN/PROT/SPLIT.EXE
Normal file
BIN
MAIN/PROT/SPLIT.EXE
Normal file
Binary file not shown.
45
MAIN/PROT/TEST.ASM
Normal file
45
MAIN/PROT/TEST.ASM
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
IDEAL
|
||||
|
||||
SEGMENT lerssicode para private
|
||||
|
||||
string db 'Aja t„m„ eri booteilla!',10,13,'$'
|
||||
dw 10000 dup(?)
|
||||
|
||||
start:
|
||||
mov dx, 3c8h
|
||||
xor al, al
|
||||
out dx, al
|
||||
inc dx
|
||||
dec al
|
||||
out dx, al
|
||||
out dx, al
|
||||
out dx, al
|
||||
|
||||
mov ah, 2
|
||||
mov dl, 7
|
||||
int 21h
|
||||
|
||||
mov dx, 3c8h
|
||||
xor al, al
|
||||
out dx, al
|
||||
inc dx
|
||||
out dx, al
|
||||
out dx, al
|
||||
out dx, al
|
||||
|
||||
mov ah, 9h
|
||||
mov dx, OFFSET string
|
||||
push cs
|
||||
pop ds
|
||||
int 21h
|
||||
|
||||
mov ax, 1
|
||||
int 16h
|
||||
|
||||
mov ax, 4c00h
|
||||
int 21h
|
||||
|
||||
dw 1
|
||||
ENDS
|
||||
|
||||
END start
|
||||
BIN
MAIN/PROT/TEST.EXE
Normal file
BIN
MAIN/PROT/TEST.EXE
Normal file
Binary file not shown.
8
MAIN/PROT/TEST.MAP
Normal file
8
MAIN/PROT/TEST.MAP
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
Start Stop Length Name Class
|
||||
|
||||
00000H 04E6AH 04E6BH LERSSICODE
|
||||
|
||||
Program entry point at 0000:4E3A
|
||||
Warning: No stack
|
||||
|
||||
BIN
MAIN/PROT/TEST.OBJ
Normal file
BIN
MAIN/PROT/TEST.OBJ
Normal file
Binary file not shown.
BIN
MAIN/PROT/TEST.OLD
Normal file
BIN
MAIN/PROT/TEST.OLD
Normal file
Binary file not shown.
34
MAIN/PROT/TGIDT.ASM
Normal file
34
MAIN/PROT/TGIDT.ASM
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
IDEAL
|
||||
P386
|
||||
|
||||
SEGMENT koodi
|
||||
ASSUME cs:koodi
|
||||
|
||||
ORG 100h
|
||||
|
||||
start:
|
||||
sgdt [pword cs:erkki]
|
||||
sidt [pword cs:erkki+6]
|
||||
|
||||
mov al, [cs:erkki+6]
|
||||
sub [cs:erkki], al
|
||||
mov al, [cs:erkki+6+1]
|
||||
sbb [cs:erkki+1], al
|
||||
mov al, [cs:erkki+6+2]
|
||||
sbb [cs:erkki+2], al
|
||||
mov al, [cs:erkki+6+3]
|
||||
sbb [cs:erkki+3], al
|
||||
mov al, [cs:erkki+6+4]
|
||||
sbb [cs:erkki+4], al
|
||||
mov al, [cs:erkki+6+5]
|
||||
sbb [cs:erkki+5], al
|
||||
|
||||
int 3
|
||||
|
||||
ret
|
||||
|
||||
erkki db 16 dup (0)
|
||||
|
||||
|
||||
ENDS
|
||||
END start
|
||||
BIN
MAIN/PROT/TGIDT.COM
Normal file
BIN
MAIN/PROT/TGIDT.COM
Normal file
Binary file not shown.
Loading…
Reference in a new issue