Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:assembler:ms_visual_c_6.0_autoren_edition_lizenvertragpopupkiller

MS Visual C++ 6.0 Autoren Edition Lizenvertragpopupkiller

Habe irgendwann mal ein Buch gekauft, bei dem die Microsoft Visual C++ 6.0 Autoren Edition dabei war. Immer wenn man damit eine ausführbare Datei erstellt hat, wurde man von einem nervigen Popup daran erinnert, das das erstellte Programm nicht weitergeben werden darf. Mit diesem kleine Hack konnte man bei jeder erstellten Datei das Popup entfernen.

Witzig sind die Statusnachrichten von mir … :)

msvcpp60aepk.asm
;MS Visual C++ 6.0 Autoren Edition Lizenvertragpopupkiller
;asm Source für Tasm 5
;Copyright by Andreas Giemza
;Email	: webmaster@andreasgiemza.de
;Website: www.andreasgiemza.de
 
;Das Programm bzw. Der Quellcode darf nicht compiliert werden oder verändert.
;Das Programm bzw. Der Quellcode darf nicht für illegale Zwecke missbraucht werden.
;Das Programm bzw. Der Quellcode ist ausschlieslich für Lern- oder Forschungschungszwecke da und soll zeigen wie einfach es ist das Copyrightfenster in "MS Visual C++ 6.0 Autoren Edition" zu entfernen.
 
;Bei Verbesserungsvorschlägen oder Korrekturen bitte eine Mail an mich!
 
;-----Compiler Anweisungen-----
.model tiny
 
jumps
 
;-----Code-----
.code
 
;-----COM-Datei-----
org 100h
 
start:	jmp start2
 
;-----Daten-----
 
;-----Einleitung-----
einleitung	db 10, 13
		db 201, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,  205,  205,  205,  205,  205,  205,  205,  205,  205,  205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 187          
		db 186, 218, 196, 196, 196, 196, 196, 196, 196, 196, 196,  196,  196, 196,  196,  196,  196,  196,  196,  196,  196,  196,  196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 191, 186
		db 186, 179, 'MS Visual C++ 6.0 Autoren Edition Lizenvertragpopupkiller von Andreas Giemza', 179, 186
		db 186, 192, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,  196,  196,  196, 194,  196,  196,  196,  196,  196,  196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 194, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 217,  186
		db 186, '----------------', 179, 'Email------------>webmaster@andreasgiemza.de', 179, '----------------', 186
		db 186, '----------------', 179, 'ICQ-------------------------------->50438507', 179, '----------------', 186
		db 186, '----------------', 179, 'Website---------------->www.andreasgiemza.de', 179, '----------------', 186
		db 186, '----------------', 192, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,196,196, 196,  196,  196,  196,  196,  196,  196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 217, '----------------', 186
		db 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 188
		db 10, 13
		db '                                   Dateiname:                                   '
		db 10, 13
		db '    (mit ".exe" und die Datei darf h',148 , 'stens 12 Zeichen lang sein, mit ".exe")    '
		db 10, 13
		db '                                  ', '$'
 
;-----Fehlermeldungen-----
fehler1		db 10, 13, 'Fehler 1: Der angegebene Dateiname ist l', 132, 'nger als 12 Zeichen!', '$'
fehler2		db 10, 13, 'Fehler 2: Die angegebene Datei existiert nicht!', '$'
fehler3		db 10, 13, 'Fehler 3: Die angegebene Datei ist schreibgesch', 129,'tzt!', '$'
fehler4		db 10, 13, 'Fehler 4: Beim schliesen der Datei ist ein Fehler aufgetretten!', '$'
fehler5		db 10, 13, 'Fehler 5: Beim lesen der Datei ist ein Fehler aufgetretten!', '$'
fehler6		db 10, 13, 'Fehler 6: Die Funktion die das Lizenvertragpopup aufruft wurde nicht gefunden!','$'
fehler7		db 10, 13, 'Fehler 7: Fehler beim Berechnen der Dateilänge!','$'
fehler8		db 10, 13, 'Fehler 8: Es wurde nix eingegeben!','$'
fehler9		db 10, 13, 'Fehler 9: Fehler beim schreiben in die Datei!','$'
 
;-----Satusmeldungen-----
statusmel1	db 10, 13, 'Die Datei wurde ge', 148, 'ffnet und das Lizenzvertragpopup wird gesucht.','$'
statusmel2	db 10, 13, 'Das Lizenzvertragpopup wurde gefunden.','$'
statusmel3	db 10, 13, 'Das Lizenzvertragpopup wurde gefickt.','$'
statusmel4	db 10, 13, 'Die Datei wurde geschlossen.','$'
 
;-----Erfolgsmeldung-----
erfolg		db 10, 13, 'Geschafft! Das verfickte Lizenzvertragpopup wurde gekillt. Viel Spass! Mailt mirbei Verbesserungvorschl', 132, 'gen, Problemen, Meinungen .......','$'
 
;-----Überschreib Zeug-----
nops		db 90h, 90h, 90h, 90h, 90h
 
;-----Variablen-----
dateiname	db 20 dup ( ), 0
dateihandle	dw ?
dateilaenge	dw 0
kbuffer		db 20 dup ( )
lbuffer		db ?
readbytes	dw 0
 
;-----Code Fortsetzung-----
start2:	lea dx, einleitung
	call ausgabe
 
	call eingabe
 
	call öffnen
 
	lea dx, statusmel1
	call ausgabe
 
	call dateilänge
 
lesen:	mov ah, 3fh
	mov bx, dateihandle
	mov cx, 1
	lea dx, lbuffer
	int 21h
	jc feh5
 
	inc readbytes
	dec dateilaenge
 
	cmp dateilaenge, 0
	je feh6
 
	cmp lbuffer, 232
	jne lesen
 
	mov cx, 4
 
call2ge:	push cx
	mov ah, 3fh		;Zeile 100
	mov bx, dateihandle
	mov cx, 1
	lea dx, lbuffer
	int 21h
	jc feh5
 
	pop cx
 
	inc readbytes
	dec dateilaenge
 
	cmp dateilaenge, 0
	je feh6
 
	loop call2ge
 
	mov ah, 3fh
	mov bx, dateihandle
	mov cx, 1
	lea dx, lbuffer
	int 21h
	jc feh5
 
	inc readbytes
	dec dateilaenge
 
	cmp dateilaenge, 0
	je feh6
 
	cmp lbuffer, 232
	jne lesen
 
	mov cx, 4
 
call3ge:	push cx
	mov ah, 3fh
	mov bx, dateihandle
	mov cx, 1
	lea dx, lbuffer
	int 21h
	jc feh5
 
	pop cx
 
	inc readbytes
	dec dateilaenge
 
	cmp dateilaenge, 0
	je feh6
 
	loop call3ge
 
	mov ah, 3fh
	mov bx, dateihandle
	mov cx, 1
	lea dx, lbuffer
	int 21h
	jc feh5
 
	inc readbytes
	dec dateilaenge
 
	cmp dateilaenge, 0
	je feh6
 
	cmp lbuffer, 232
	jne lesen
 
	lea dx, statusmel2
	call ausgabe
 
über:	dec readbytes
 
	mov bx, dateihandle
	mov cx, 0000h
	mov dx, readbytes
	mov ax, 4200h
	int 21h
 
	mov cx, 5
	lea dx, nops
	mov ah, 40h
	int 21h
	jc feh8
 
	call schliessen
 
;-----Programm beenden-----
ende:	lea dx, erfolg
	call ausgabe
 
endef:	int 20h
 
;-----Fehlermeldungen-----
feh1:	lea dx, fehler1
	call ausgabe
	jmp endef
 
feh2:	cmp ax, 5
	je feh3
	lea dx, fehler2
	call ausgabe
	jmp endef
 
feh3:	lea dx, fehler3
	call ausgabe
	jmp endef
 
feh4:	lea dx, fehler4
	call ausgabe
	jmp endef
 
feh5:	lea dx, fehler5
	call ausgabe
	jmp endef
 
feh6:	lea dx, fehler6
	call ausgabe
	call schliessen
	jmp endef
 
feh7:	lea dx, fehler7
	call ausgabe
	jmp endef
 
feh8:	lea dx, fehler8
	call ausgabe
	jmp endef
 
feh9:	lea dx, fehler9
	call ausgabe
	jmp endef
 
;-----Funktionen-----
 
;-----Ausgabe von Zeichen-----
ausgabe	:	mov ah, 9h
		int 21h
		ret
 
;-----Öffnen der Datei-----
öffnen	:	mov ah, 3Dh
		mov al, 2
		lea dx, dateiname
		int 21h
		jc feh2
		mov dateihandle, ax
		ret
 
;-----Eingabe der zu öffnenden Datei-----
eingabe	:	xor bx, bx
		mov cx, 20
		mov ah, 3Fh
		lea dx, kbuffer
		int 21h
		sub ax, 2
		cmp ax, 12
		ja feh1
		cmp ax, 4
		jl feh8
		cld
		mov cx, ax
		lea si, kbuffer
		lea di, dateiname
	copy:	movsb
		loop copy
		ret
 
;-----Datei schliessen-----
schliessen:	mov ah, 3Eh
		mov bx, dateihandle
		int 21h
		jc feh4
		lea dx, statusmel4
		call ausgabe
		ret
 
;-----Länger der Datei in Bytes-----
dateilänge:	mov bx, dateihandle	;berechne Dateilänge
		mov ax, 4202h
		xor cx, cx
		xor dx, dx
		int 21h
		jc feh7		;300
		mov dateilaenge, ax		
 
		mov ax, 4200h		;gehe zum Anfang der Datei
		xor cx, cx
		xor dx, dx
		int 21h
		ret
 
end start
programmieren/assembler/ms_visual_c_6.0_autoren_edition_lizenvertragpopupkiller.txt · Zuletzt geändert: 2016/11/15 00:45 von andreas