Initial commit
This commit is contained in:
130
HACKING/CC.PAS
Normal file
130
HACKING/CC.PAS
Normal file
@ -0,0 +1,130 @@
|
||||
program CCMast;
|
||||
|
||||
uses Crt, DOS;
|
||||
|
||||
var c: record
|
||||
len: integer;
|
||||
str: string;
|
||||
dig: array[1..16] of byte;
|
||||
chk: integer;
|
||||
typ: string;
|
||||
val: string;
|
||||
end;
|
||||
|
||||
procedure InputCC;
|
||||
begin
|
||||
Write('Enter CC#: ');
|
||||
ReadLn(c.str);
|
||||
end;
|
||||
|
||||
procedure CheckType(nam,pres,lens: string);
|
||||
var clen: string;
|
||||
i,oldidx: integer;
|
||||
prechk, lenchk: boolean;
|
||||
begin
|
||||
oldidx := 1;
|
||||
prechk := false;
|
||||
for i:=1 to Length(pres) do begin
|
||||
if pres[i]=',' then begin
|
||||
if Copy(pres,oldidx,i-oldidx)=Copy(c.str,1,i-oldidx) then prechk := true;
|
||||
oldidx := i+1;
|
||||
end;
|
||||
end;
|
||||
oldidx := 1;
|
||||
lenchk := false;
|
||||
Str(c.len,clen);
|
||||
for i:=1 to Length(lens) do begin
|
||||
if lens[i]=',' then begin
|
||||
if Copy(lens,oldidx,i-oldidx)=Copy(clen,1,i-oldidx) then lenchk := true;
|
||||
oldidx := i+1;
|
||||
end;
|
||||
end;
|
||||
{ WriteLn(nam:16,' -prechk: ',prechk:5,' -lenchk: ',lenchk:5); }
|
||||
if prechk AND lenchk then c.typ := nam;
|
||||
end;
|
||||
|
||||
procedure CheckCC;
|
||||
var i,a,co: integer;
|
||||
begin
|
||||
c.len := Length(c.str);
|
||||
for i:=1 to c.len do begin
|
||||
Val(c.str[i],c.dig[i],co);
|
||||
end;
|
||||
c.chk := 0;
|
||||
for i:=c.len downto 1 do begin
|
||||
if (c.len-i) MOD 2=0 then a:=c.dig[i] else a:=c.dig[i]*2;
|
||||
if a>9 then a := a-9;
|
||||
{ WriteLn(i:2,': [',c[i],']: ',a:2); }
|
||||
c.chk := c.chk + a;
|
||||
end;
|
||||
|
||||
c.typ := 'unknown';
|
||||
CheckType('MasterCard', '51,52,53,54,55,', '16,');
|
||||
CheckType('VISA', '4,', '13,16,');
|
||||
CheckType('American Express', '34,37,', '15,');
|
||||
CheckType('Diner''s Club', '30,36,38,', '14,');
|
||||
CheckType('Discover', '6011,', '16,');
|
||||
CheckType('enRoute', '2014,2149,', '15,');
|
||||
CheckType('JCB','3088,3096,3112,3158,3337,3528,','16,');
|
||||
|
||||
WriteLn('Type: ', c.typ);
|
||||
Write('Checksum: ', c.chk);
|
||||
if (c.chk MOD 10=0) AND (c.len>12) AND (c.len<17) then c.val:='VALID' else c.val:='INVALID';
|
||||
WriteLn(' ',c.val);
|
||||
end;
|
||||
|
||||
function Checksum(x: string): integer;
|
||||
var ch, i, co, j: integer;
|
||||
begin
|
||||
ch := 0;
|
||||
for i:=1 to Length(x) do begin
|
||||
val(x[i],j,co);
|
||||
if (Length(x)-i) MOD 2<>0 then j:=j*2;
|
||||
if j>9 then j := j - 9;
|
||||
ch := ch + j;
|
||||
end;
|
||||
Checksum := ch;
|
||||
end;
|
||||
|
||||
function Valid(x: string): boolean;
|
||||
begin
|
||||
if Checksum(x) MOD 10=0 then Valid := true else Valid := false;
|
||||
end;
|
||||
|
||||
procedure Interpolate;
|
||||
var f: text;
|
||||
i: integer;
|
||||
n,o: string;
|
||||
begin
|
||||
Assign(f,'CC.out');
|
||||
{$I-}
|
||||
Append(f);
|
||||
if IOResult<>0 then Rewrite(f);
|
||||
{$I+}
|
||||
WriteLn(f,'---- ---- ---- ----');
|
||||
Write(f,'New Interpolation from ',c.typ,' card ');
|
||||
for i:=1 to c.len do begin
|
||||
Write(f,c.dig[i]:1);
|
||||
if (i MOD 4 = 0) AND (i<>16) then Write(f,' ');
|
||||
end;
|
||||
WriteLn(f,' (Checksum: ',c.chk,' [',c.val,'])');
|
||||
WriteLn(f,'');
|
||||
for i:=0 to 9999 do begin
|
||||
n := Copy(c.str,1,c.len-4);
|
||||
if i<1000 then n := n + '0';
|
||||
if i<100 then n := n + '0';
|
||||
if i<10 then n := n + '0';
|
||||
Str(i:0,o);
|
||||
n := n + o;
|
||||
if (Valid(n)) AND (n<>c.str) then
|
||||
WriteLn(f, Copy(n,1,4),' ',Copy(n,5,4),' ',Copy(n,9,4),' ',Copy(n,13,Length(n)-12),' [',Checksum(n),']');
|
||||
end;
|
||||
Close(f);
|
||||
end;
|
||||
|
||||
|
||||
begin
|
||||
InputCC;
|
||||
CheckCC;
|
||||
Interpolate;
|
||||
end.
|
124
HACKING/DECODE.PAS
Normal file
124
HACKING/DECODE.PAS
Normal file
@ -0,0 +1,124 @@
|
||||
program DecodeSubraum;
|
||||
|
||||
uses Logo, Crt, VFx, Numbers;
|
||||
|
||||
var KeyF,DecF: text;
|
||||
|
||||
|
||||
procedure Init;
|
||||
begin
|
||||
ClrScr;
|
||||
CursorOff;
|
||||
TextColor(14);
|
||||
WriteCLn('-=<3D><> Subraum Decoder <20><>=-');
|
||||
WriteLn;
|
||||
TextColor(8);
|
||||
WriteLn('Decodiert KEYFILES vom Programm HRECORD.EXE.');
|
||||
WriteLn;
|
||||
TextColor(7);
|
||||
window(1,5,80,25);
|
||||
end;
|
||||
|
||||
procedure OpenInOut(InFile,OutFile: string);
|
||||
begin
|
||||
WStat('<27>ffne '+InFile+' f<>r Eingabeoperationen');
|
||||
Assign(KeyF,InFile);
|
||||
{$I-}
|
||||
Reset(KeyF);
|
||||
if IOResult<>0 then begin
|
||||
Wcheck('%%140#FAIL');
|
||||
CWriteLn('%%12#FEHLER!! Datei "'+InFile+'" konnte nicht ge<67>ffnet werden.');
|
||||
Halt;
|
||||
end;
|
||||
{$I+}
|
||||
Wcheck('%%10# OK ');
|
||||
|
||||
WStat('<27>ffne '+OutFile+' f<>r Ausgabeoperationen');
|
||||
Assign(DecF,OutFile);
|
||||
{$I-}
|
||||
Rewrite(DecF);
|
||||
if IOResult<>0 then begin
|
||||
Wcheck('%%140#FAIL');
|
||||
CWriteLn('%%10#FEHLER!! Datei "'+OutFile+'" konnte nicht ge<67>ffnet werden.');
|
||||
Halt;
|
||||
end;
|
||||
{$I+}
|
||||
Wcheck('%%10# OK ');
|
||||
end;
|
||||
|
||||
procedure Decode;
|
||||
var tmp: string;
|
||||
key: byte;
|
||||
dat: string;
|
||||
begin
|
||||
WStat('Decodierung');
|
||||
dat := '';
|
||||
while NOT Eof(KeyF) do begin
|
||||
ReadLn(KeyF,tmp);
|
||||
if Copy(tmp,1,3)='KEY' then begin
|
||||
key := Hex2Dec(Copy(tmp,9,2));
|
||||
case key of
|
||||
008: dat := Copy(dat,1,Length(dat)-1);
|
||||
013: begin WriteLn(DecF,dat); dat := ''; end;
|
||||
else
|
||||
dat:=dat+Chr(key);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
Wcheck('%%10# OK ');
|
||||
end;
|
||||
|
||||
procedure CloseInOut;
|
||||
begin
|
||||
WStat('Schlie<69>e Eingabedatei');
|
||||
Close(KeyF);
|
||||
Wcheck('%%10# OK ');
|
||||
WStat('Schlie<69>e Ausgabedatei');
|
||||
Close(DecF);
|
||||
Wcheck('%%10# OK ');
|
||||
end;
|
||||
|
||||
procedure OutIt;
|
||||
begin
|
||||
WriteLn;
|
||||
window(1,1,80,25);
|
||||
GotoXY(1,24);
|
||||
WriteLn('Programm beendet.');
|
||||
CursorOn;
|
||||
end;
|
||||
|
||||
begin
|
||||
Init;
|
||||
if ((ParamStr(1)='/?') OR (ParamStr(1)='-?') OR (ParamStr(1)='?') OR ((ParamStr(1)='') AND (ParamStr(2)=''))) then begin
|
||||
WriteLogo;
|
||||
TextColor(14);
|
||||
WriteCLn('+ + + Taste dr<64>cken + + +');
|
||||
ReadKey;
|
||||
GotoXY(1,WhereY-1);
|
||||
Write(Space(80));
|
||||
GotoXY(1,WhereY-1);
|
||||
TextColor(7);
|
||||
WriteLn('Die DAT-Dateien sind nach folgendem Schema aufgebaut:');
|
||||
WriteLn('Die erste Zeile ist eine Leerzeile, in der 2. Zeile steht die Gesamtzahl der');
|
||||
WriteLn('enthaltenen Zeichen. Danach folgen die einzelnen Zeichen in folgender Form:');
|
||||
WriteLn;
|
||||
WriteLn('KEY: xx yy zz aa');
|
||||
WriteLn('(xx,yy,zz und aa sind Hexadezimalwerte)');
|
||||
WriteLn;
|
||||
WriteLn('xx ist dabei der SCANCODE des eingelesenen Zeichens, yy der <20>quivalente');
|
||||
WriteLn('ASCII-Code und zz ein STATUS-Code. aa hat scheinbar keine Bedeutung.');
|
||||
WriteLn;
|
||||
WriteLn('Dieses Programm wandelt die ASCII-Codes wieder in ASCII-Zeichen um und');
|
||||
WriteLn('erstellt eine Datei mit dem "dechiffrierten" Text.');
|
||||
WriteLn;
|
||||
WriteLn('Syntax: ',ParamStr(0),' <Eingabedatei> <Ausgabedatei>');
|
||||
WriteLn;
|
||||
OutIt;
|
||||
Halt;
|
||||
end;
|
||||
OpenInOut(ParamStr(1),ParamStr(2));
|
||||
Decode;
|
||||
CloseInOut;
|
||||
OutIt;
|
||||
end.
|
13
HACKING/EXECTEST.PAS
Normal file
13
HACKING/EXECTEST.PAS
Normal file
@ -0,0 +1,13 @@
|
||||
{ $M $4000,0,0 }
|
||||
|
||||
program ExecTest;
|
||||
|
||||
uses Dos;
|
||||
|
||||
begin
|
||||
SwapVectors;
|
||||
Exec('c:\command.com','');
|
||||
SwapVectors;
|
||||
if DosError<>0 then WriteLn('Dos-Error: ',DosError);
|
||||
WriteLn('Exitcode: ',DosExitCode);
|
||||
end.
|
BIN
HACKING/HACKING.OVL
Normal file
BIN
HACKING/HACKING.OVL
Normal file
Binary file not shown.
55
HACKING/HACKING.PAS
Normal file
55
HACKING/HACKING.PAS
Normal file
@ -0,0 +1,55 @@
|
||||
{ $M $4000,0,0 }
|
||||
|
||||
program Hacking_and_Phreaking;
|
||||
|
||||
uses Crt, Logo, Dos, RC_Disk;
|
||||
|
||||
var s: string;
|
||||
f: file;
|
||||
TempFile: string;
|
||||
|
||||
procedure Init;
|
||||
var f2c: string;
|
||||
begin
|
||||
GetDir(0,s);
|
||||
f2c:=s+'\HACKING.OVL';
|
||||
WriteLn(f2c);
|
||||
WriteLn(TempFile);
|
||||
FileCopy(f2c, TempFile);
|
||||
WriteLn('Temp-Datei angelegt!');
|
||||
Assign(f,TempFile);
|
||||
end;
|
||||
|
||||
procedure Outit;
|
||||
begin
|
||||
{ Erase(f); }
|
||||
end;
|
||||
|
||||
procedure Extract(what: string);
|
||||
var Password, Params: string;
|
||||
i: integer;
|
||||
begin
|
||||
Password := '_r';
|
||||
Password := 'op' + Password + 'ul';
|
||||
Password := 'boC' + Password + 'ez';
|
||||
Password := 'Ro' + Password;
|
||||
Params := '-s'+Password+' '+what;
|
||||
SwapVectors;
|
||||
WriteLn('Vectors swapped out');
|
||||
Exec(TempFile, Params);
|
||||
WriteLn('EXEC command performed ('+tempfile+' '+Params+')');
|
||||
SwapVectors;
|
||||
WriteLn('Vectors swapped in');
|
||||
end;
|
||||
|
||||
begin
|
||||
TempFile := GetEnv('TEMP')+'\~1234567.EXE';
|
||||
ClrScr;
|
||||
Init;
|
||||
delay(100);
|
||||
Extract('MADMAN.TXT');
|
||||
SwapVectors;
|
||||
Exec('c:\termin.exe','');
|
||||
SwapVectors;
|
||||
Outit;
|
||||
end.
|
32
HACKING/RC_DISK.PAS
Normal file
32
HACKING/RC_DISK.PAS
Normal file
@ -0,0 +1,32 @@
|
||||
unit RC_Disk; { BLEA01.PAS }
|
||||
|
||||
interface
|
||||
procedure FileCopy(src: string; tar: string);
|
||||
|
||||
implementation
|
||||
|
||||
procedure FileCopy(src: string; tar: string);
|
||||
const
|
||||
bytezahl=16384;
|
||||
|
||||
var
|
||||
Quelle, Ziel: file ;
|
||||
Puffer: array [1..bytezahl] of byte;
|
||||
Recordzahl, Rest: integer;
|
||||
|
||||
begin
|
||||
Assign(Quelle, src);
|
||||
Reset(Quelle,1);
|
||||
Assign(Ziel, tar);
|
||||
Rewrite(Ziel,1);
|
||||
Rest := FileSize(Quelle);
|
||||
while Rest>0 do begin
|
||||
if Bytezahl<=Rest then Recordzahl := Bytezahl else Recordzahl := Rest;
|
||||
BlockRead(Quelle, Puffer, Recordzahl);
|
||||
BlockWrite(Ziel, Puffer, Recordzahl);
|
||||
Rest := Rest-Recordzahl;
|
||||
end;
|
||||
Close(Quelle);
|
||||
Close(Ziel);
|
||||
end;
|
||||
end.
|
54
HACKING/smsar.pas
Normal file
54
HACKING/smsar.pas
Normal file
@ -0,0 +1,54 @@
|
||||
program SMSArchiverDecode;
|
||||
|
||||
uses Crt, DOS;
|
||||
|
||||
const ifile='smsar.dat';
|
||||
|
||||
var data: array[1..10] of string;
|
||||
i,coe: integer;
|
||||
f: text;
|
||||
k: char;
|
||||
cx,cy: integer;
|
||||
|
||||
function Decode(x: string): string;
|
||||
var i,y: integer;
|
||||
tmp: string;
|
||||
begin
|
||||
tmp := '';
|
||||
for i:=1 to Length(x) do begin
|
||||
y := Ord(x[i]);
|
||||
tmp := tmp + Chr(y+coe);
|
||||
end;
|
||||
Decode := tmp;
|
||||
end;
|
||||
|
||||
procedure Get10Lines;
|
||||
var i: integer;
|
||||
begin
|
||||
for i:=1 to 10 do ReadLn(f,data[i]);
|
||||
end;
|
||||
|
||||
|
||||
begin
|
||||
ClrScr;
|
||||
Write('Opening ',ifile,' ... ');
|
||||
Assign(f,ifile);
|
||||
Reset(f);
|
||||
WriteLn('OK.');
|
||||
Write('Getting 10 lines ... ');
|
||||
Get10Lines;
|
||||
WriteLn('OK.');
|
||||
cx := WhereX;
|
||||
cy := WhereY;
|
||||
repeat
|
||||
ClrScr;
|
||||
for i:=1 to 10 do WriteLn(Decode(data[i]));
|
||||
WriteLn('Coefficient: ',coe);
|
||||
k := ReadKey;
|
||||
if k='+' then coe:=coe+1;
|
||||
if k='-' then coe:=coe-1;
|
||||
until k=#27;
|
||||
Write('Closing file ... ');
|
||||
Close(f);
|
||||
WriteLn('OK.');
|
||||
end.
|
Reference in New Issue
Block a user