url编码与解码工具代码,做sql注入分析时会用到
代码部分:
unit unit1;
interface
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, stdctrls, httpapp;
type
tform1 = class(tform)
button1: tbutton;
memo1: tmemo;
memo2: tmemo;
button2: tbutton;
procedure button1click(sender: tobject);
procedure button2click(sender: tobject);
private
{ private declarations }
function urlencode(const msg : string) : string;
function getmemotext(memo:tmemo):string;
public
{ public declarations }
end;
var
form1: tform1;
implementation
{$r *.dfm}
procedure tform1.button1click(sender: tobject);
var
i: integer;
ss: string;
begin
ss := getmemotext(memo1);
memo1.text :=ss;
memo2.clear;
for i := 1 to length(ss) do
begin
memo2.text := memo2.text + '%' + inttohex(ord(ss), 2);
end;
end;
function tform1.urlencode(const msg: string): string;
var
i : integer;
begin
result := '';
for i := 1 to length(msg) do begin
if msg[i] = ' ' then
result := result + '+'
else if msg[i] in ['a'..'z', 'a'..'z', '0'..'9'] then
result := result + msg[i]
else
result := result + '%' + inttohex(ord(msg[i]), 2);
end;
end;
procedure tform1.button2click(sender: tobject);
var ss:string;
begin
memo2.clear;
ss :=getmemotext(memo1);
memo1.text :=ss;
memo2.text :=httpdecode(trim(ss));
end;
function tform1.getmemotext(memo: tmemo): string;
var i:integer;
begin
for i:=0 to memo.lines.count-1 do
begin
result :=result + trim(memo.lines);
end;
end;
end.
url编码与解码工具附代码
url编码与解码工具附代码,代码很简单,做sql注入分析时经常用到,但一时又找不到,就写了一个
代码部分:
unit unit1;
interface
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, stdctrls, httpapp;
type
tform1 = class(tform)
button1: tbutton;
memo1: tmemo;
memo2: tmemo;
button2: tbutton;
procedure button1click(sender: tobject);
procedure button2click(sender: tobject);
private
{ private declarations }
function urlencode(const msg : string) : string;
function getmemotext(memo:tmemo):string;
public
{ public declarations }
end;
var
form1: tform1;
implementation
{$r *.dfm}
procedure tform1.button1click(sender: tobject);
var
i: integer;
ss: string;
begin
ss := getmemotext(memo1);
memo1.text :=ss;
memo2.clear;
for i := 1 to length(ss) do
begin
memo2.text := memo2.text + '%' + inttohex(ord(ss), 2);
end;
end;
function tform1.urlencode(const msg: string): string;
var
i : integer;
begin
result := '';
for i := 1 to length(msg) do begin
if msg[i] = ' ' then
result := result + '+'
else if msg[i] in ['a'..'z', 'a'..'z', '0'..'9'] then
result := result + msg[i]
else
result := result + '%' + inttohex(ord(msg[i]), 2);
end;
end;
procedure tform1.button2click(sender: tobject);
var ss:string;
begin
memo2.clear;
ss :=getmemotext(memo1);
memo1.text :=ss;
memo2.text :=httpdecode(trim(ss));
end;
function tform1.getmemotext(memo: tmemo): string;
var i:integer;
begin
for i:=0 to memo.lines.count-1 do
begin
result :=result + trim(memo.lines);
end;
end;
end.