Copy Link
Add to Bookmark
Report
29A Issue 01 03 03
TBAV: keys
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>
Plof
TBAV itself is bullshit, but who wouldn't like to read his/her name on it
as if we'd paid for it? :) Moreover, having it registered, we can access
the exceptional virus information it offers to us }:)
This generator works with TBAV 7.04, and I'm sure it also works with pre-
vious (and future) versions, since Frans Veldman hasn't changed the en-
cryption schemes since TBAV 6.52 :) You can find the compiled executable
file in \FILES.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->8
cseg segment para public 'codigo'
assume cs:cseg,ds:cseg,es:cseg,ss:cseg
org 100h
begin:
init proc near
; Prompt for the name to be registered to
mov dx,offset pregunta
mov ah,09h
int 21h
; Name must be written by means of DOS
mov ax,0A00h
mov dx,offset registrador
int 21h
xor ch,ch
mov bx,dx
mov cl,[bx+1]
cmp cl,02h
ja principio
mov dx,offset nombrecorto
mov al,01h ; Errorlevel=1 if short name
jmp finalconmensaje
principio:
; Pop the name into what will be TBAV.KEY
; In CL we maintain no. of characters
mov si,offset registrador+2
mov di,offset nombre
moviendonombre:
lodsb
stosb
loop moviendonombre
; Modify byte 11bh
xor ax,ax
mov si,offset nombre
call sumarnombre
push ax ; Check first name
mov bh,06fh
add bh,ah
mov si,offset nombre
xor bh,[si]
mov si,offset fichero+011bh
mov byte ptr [si],bh
; Modify byte 11ch
pop ax
push ax
mov bh,0f5h
add bh,ah
ror bh,01h
mov si,offset fichero+011ch
mov byte ptr [si],bh
; Modify byte 118h
pop ax
push ax
mov bh,02bh
add bh,ah
mov si,offset fichero+0118h
mov byte ptr [si],bh
; Modify byte 119h
pop ax ; Pop name check
push ax
mov bh,0bah
add bh,ah
mov si,offset fichero+0119h
mov byte ptr [si],bh
; Modify byte 11ah
pop ax
push ax ; In case something's after it
mov bh,0f4h
add bh,ah
xor bh,03dh
mov si,offset fichero+011ah
mov byte ptr [si],bh
; Zero the registers
pop ax ; Pop AX so there are no problems
xor ax,ax
mov bx,ax
mov dx,ax
sumachequeo:
mov cx,01feh
mov si,offset fichero
chequeo:
lodsb
xor ax,0413fh
add bx,ax
loop chequeo
mov word ptr [si],bx
encriptado:
mov si,offset codigo
mov di,si
mov cx,0080h
encrp:
lodsw
xchg ah,al
xor ax,cx
add ax,081f3h
stosw
loop encrp
; Write the file
; Create and open the file
mov dx,offset nombredefichero
mov ah,3ch
int 21h
jnz fichero_bien_iniciado
; If couldn't be created
mov al,02h ; Errorlevel=2 if file couldn't be created
; tbav.key file
mov dx,offset nocreado
jmp finalconmensaje
fichero_bien_iniciado:
push ax ; Handle
; write 512d bytes
mov ah,40h
pop bx
mov dx,offset fichero
mov cx,200h
int 21h
; Close file (BX still has the handle)
mov ah,3eh
int 21h
fin:
mov al,00h ; Right, errorlevel=0
mov dx,offset finalnormal
finalconmensaje:
mov ah,09h
int 21h
mov ah,4ch
int 21h ; AL must have the errorlevel
; Subroutines
sumarnombre:
lodsb
test al,al
jz acabosenombre
xor al,0a5h
ror ah,1
add ah,al
call sumarnombre
acabosenombre:
ret
; Non executable portion
fichero db 'Created by TBAVReg by Plof (/\/\adrid, 2-feb-96)'
db 'Move your fucking ass, Franzzz',0dh,0ah
db 'This key works on TBAV '
db 'v7.04 and doesn''t expire until 2099. Look after me! ;-)',0dh,0ah
nombre db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h ;THE REGISTRATION 0a0
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h ;NAME IS PLACED 0b0
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h ;HERE (THERE'S 0c0
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h ;ROOM UNTIL LINE 0d0
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h ;0E0... HERE! :-) 0e0
db 000h, 01ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h ;................ 0f0
codigo db 0a0h, 000h, 041h, 001h, 0afh, 092h, 04ch, 001h, 08ch, 001h
db 0cch, 001h, 0b6h, 018h, 083h, 083h ;..A...L......... 100
db 006h, 001h, 0c9h, 007h, 034h, 020h, 0ffh, 0ffh, 01eh, 0adh
db 0dah, 036h, 074h, 0abh, 0d4h, 0d3h ;....4......6t... 110
db 0b7h, 0c0h, 0bbh, 054h, 058h, 072h, 02ah, 065h, 0e1h, 052h
db 025h, 0c9h, 08bh, 054h, 02bh, 02ch ;...TXr*e.R%..T+, 120
db 048h, 03fh, 044h, 0abh, 0a7h, 08dh, 0d5h, 09ah, 0ffh, 0ffh
db 000h, 000h, 02fh, 00ah, 001h, 003h ;H?D........./... 130
db 020h, 048h, 048h, 0cbh, 0f1h, 03ch, 091h, 043h, 056h, 046h
db 02eh, 085h, 0a5h, 0a5h, 0a5h, 0a5h ;.HH..<.CVF...... 140
db 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h
db 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h ;................ 150
db 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h
db 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h ;................ 160
db 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h
db 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h ;................ 170
db 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h, 0a5h
db 0a5h, 0a5h, 053h, 065h, 063h, 075h ;............Secu 180
db 072h, 069h, 074h, 079h, 020h, 076h, 069h, 06fh, 06ch, 061h
db 074h, 069h, 06fh, 06eh, 03ah, 020h ;rity.violation:. 190
db 053h, 069h, 06eh, 067h, 06ch, 065h, 020h, 075h, 073h, 065h
db 072h, 020h, 06bh, 065h, 079h, 020h ;Single.user.key. 1a0
db 06eh, 06fh, 074h, 020h, 076h, 061h, 06ch, 069h, 064h, 020h
db 06fh, 06eh, 020h, 074h, 068h, 069h ;not.valid.on.thi 1b0
db 073h, 020h, 06dh, 061h, 063h, 068h, 069h, 06eh, 065h, 021h
db 007h, 000h, 045h, 076h, 061h, 06ch ;s.machine!..Eval 1c0
db 075h, 061h, 074h, 069h, 06fh, 06eh, 007h, 020h, 06bh, 065h
db 079h, 007h, 020h, 064h, 061h, 074h ;uation..key..dat 1d0
db 065h, 007h, 020h, 06ch, 069h, 06dh, 069h, 074h, 007h, 020h
db 065h, 078h, 070h, 069h, 072h, 065h ;e..limit..expire 1e0
db 064h, 021h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h ;d!............ 1f0
suma dw ?
nombredefichero db 'tbav.key',00h
registrador db 4eh
db 50h dup (?)
nombrecorto db 13,10,10,'Name is too short'
db 13,10,10,10,'$'
nocreado db 13,10,10,'File couldn''t be created',13,10,10,10,'$'
finalnormal db 13,10,10,'Now copy TBAV.KEY into your TBAV '
db 'directory and enjoy ;)',13,10,10,'$'
pregunta db 13,10,'TBAVReg 0.9á Register key generator '
db 'for the DOS version of TBAV',13,10,10
db 'Written by Plof (9-feb-96, /\/\adrid)',13,10,10
db 'Write the name you''d like to register TBAV to: '
db 13,10,'>$'
init endp
cseg ends
end begin
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->8
Greetz,
Plof