Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt,sysutils,strutils;
- var
- fi,fo:text;
- fin,fout:string;
- luachon:byte;
- Sin,Sout:ansistring;
- function CONVERTHEX(a,b:char):byte;
- var
- ar:array [1..2] of byte;
- begin
- case a of
- '0':ar[1]:=0;
- '1':ar[1]:=1;
- '2':ar[1]:=2;
- '3':ar[1]:=3;
- '4':ar[1]:=4;
- '5':ar[1]:=5;
- '6':ar[1]:=6;
- '7':ar[1]:=7;
- '8':ar[1]:=8;
- '9':ar[1]:=9;
- 'A':ar[1]:=10;
- 'B':ar[1]:=11;
- 'C':ar[1]:=12;
- 'D':ar[1]:=13;
- 'E':ar[1]:=14;
- 'F':ar[1]:=15;
- end;
- case b of
- '0':ar[2]:=0;
- '1':ar[2]:=1;
- '2':ar[2]:=2;
- '3':ar[2]:=3;
- '4':ar[2]:=4;
- '5':ar[2]:=5;
- '6':ar[2]:=6;
- '7':ar[2]:=7;
- '8':ar[2]:=8;
- '9':ar[2]:=9;
- 'A':ar[2]:=10;
- 'B':ar[2]:=11;
- 'C':ar[2]:=12;
- 'D':ar[2]:=13;
- 'E':ar[2]:=14;
- 'F':ar[2]:=15;
- end;
- converthex:=ar[1]*16 + ar[2];
- end;
- procedure HEXDECODER;
- var
- t1,t2,t3,t4:char;
- begin
- while not eof(fi) do
- begin
- while not eoln(fi) do
- begin
- read(fi,t1);
- if t1 ='\' then
- begin
- read(fi,t2);
- if t2 <> 'x' then write(fo,t1,t2) else
- begin
- read(fi,t3,t4);
- t3:=upcase(t3);
- t4:=upcase(t4);
- write(fo,chr(converthex(t3,t4)));
- end;
- end
- else write(fo,t1);
- end;
- writeln(fo);
- readln(fi);
- end;
- end;
- procedure RANDOMVAR;
- var
- S:Ansistring;
- ft:text;
- Sinp:Ansistring;
- Sout:ansistring;
- St:ansistring;
- l:qword;
- max:qword;
- count:qword;
- begin
- assign(ft,'temp');
- rewrite(ft);
- max:=0;
- while not eof(fi) do
- begin
- readln(fi,S);l:=length(S);
- if (S[1] ='$') and (S[l] =';') and (S[l-1] ='"') and (pos('{',S)=0) and (pos('}',S)=0) then
- begin
- Sin:=copy(S,1,pos('=',S)-1);
- Sout:=copy(s,pos('=',S)+1,length(S)-pos('=',S)-1);
- max:=max+2;
- end;
- end;
- count:=0;
- reset(fi);
- while count <max-2 do
- begin
- readln(fi,S);l:=length(S);
- if (S[1] ='$') and (S[l] =';') and (S[l-1] ='"') and (pos('{',S)=0) and (pos('}',S)=0) then
- begin
- Sin:=copy(S,1,pos('=',S)-1);
- Sout:=copy(s,pos('=',S)+1,length(S)-pos('=',S)-1);
- writeln(ft,sin);
- writeln(ft,sout);
- count:=count+2;
- end;
- end;
- readln(fi,S);
- l:=length(S);
- if (S[1] ='$') and (S[l] =';') and (S[l-1] ='"') and (pos('{',S)=0) and (pos('}',S)=0) then
- begin
- Sin:=copy(S,1,pos('=',S)-1);
- Sout:=copy(s,pos('=',S)+1,length(S)-pos('=',S)-1);
- writeln(ft,sin);
- write(ft,sout);
- end;
- reset(fi);
- reset(ft);
- rewrite(fo);
- while not eof(fi) do
- begin
- reset(ft);
- readln(fi,S);
- while not eof(ft) do
- begin
- readln(ft,sin);
- readln(ft,sout);
- S:=AnsiReplaceStr(S,sin,sout);
- writeln(fo,S);
- end;
- end;
- count:=0;
- rewrite(ft);
- reset(fo);
- l:=0;
- while not eof(fo) do
- begin
- count:=count+1;
- l:=max div 2;
- readln(fo,s);
- if (count =l) then
- begin
- count:=0;
- writeln(ft,S);
- end;
- end;
- reset(ft);
- rewrite(fo);
- while not eof(ft) do
- begin
- readln(ft,S);
- St:=S;
- if S[length(S)]=';' then delete(St,length(St),1);
- l:=length(St);
- Sin:=Copy(St,1,l div 2);
- sout:=copy(st,(l div 2) +2,l div 2);
- if not ((odd(l)) and (sin=sout) and (St[(l div 2) +1] = '=')) then writeln(fo,S);
- end;
- close(ft);
- erase(ft);
- end;
- procedure ENDLINE;
- var
- ch,ch1:char;
- check:boolean;
- begin
- while not eof(fi) do
- begin
- while not eoln(fi) do
- begin
- read(fi,Ch);write(fo,Ch);
- if Ch=';' then
- begin
- writeln(fo);
- read(Fi,ch1);
- if ch1 <> ' ' then write(fo,ch1)
- else while ch1 <> ' ' do read(fi,ch1);
- end;
- end;
- readln(fi);
- end;
- end;
- begin
- clrscr;
- clrscr;
- writeln('********************************************************************************');
- writeln('************************** PHP DECODER by SK THELIGHT **************************');
- writeln('********************************************************************************');
- Writeln('1.)Hex \x decoder.');
- Writeln('2.)Random Variable decoder.');
- Writeln('3.)Endline after ; .');
- write('Nhap Lua Chon Cua Ban: ');readln(luachon);
- write('Nhap Ten File INPUT: ');readln(fin);
- write('Nhap Ten File OUTPUT: ');readln(fout);
- assign(fi,fin);
- assign(fo,fout);
- reset(fi);
- rewrite(fo);
- case luachon of
- 1:HEXDECODER;
- 2:RANDOMVAR;
- 3:ENDLINE;
- end;
- close(fi);
- close(fo);
- clrscr;
- writeln('********************************************************************************');
- writeln('************************** PHP DECODER by SK THELIGHT **************************');
- writeln('********************************************************************************');
- writeln('Qua trinh DECODE da hoan tat, ban vui long kiem tra file: ',fout,'.');
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement