| 添加到收藏夹 | 返回目录页 | 上一篇:Delphi中布尔类型辨析 |
AccesS密码的打击
type
tform1 = class(tform)
button1: tbutton;
chk2000: tcheckbox;
edit1: tedit;
button2: tbutton;
edit2: tedit;
opendialog1: topendialog;
button3: tbutton;
label1: tlabel;
procedure button1click(sender: tobject);
procedure button2click(sender: tobject);
procedure button3click(sender: tobject);
procedure edit2keypress(sender: tobject; var key: char);
private
procedure wmdropfiles(var msssage: tmessage); message wm_dropfiles ;
{ private declarations }
public
{ public declarations }
end;
var
form1: tform1;
implementation
{$r *.dfm}
const
xorstring:array[0..12]of byte=
( $86, $fb, $ec, $37,
$5d, $44, $9c, $fa,
$c6, $5e, $28, $e6,$13 );
xorstring2:array[0..20]of byte=
( $d3, $ec, $08, $9c,
$93, $28, $46, $8a,
$01, $7b, $a0, $df,
$22, $13, $9a, $b1,
$61, $79, $c7, $7c,$5b);
procedure tform1.wmdropfiles(var msssage: tmessage);
begin
showmessage(hello boy);
end;
procedure tform1.button1click(sender: tobject);
var
passbuff: array[0..14]of byte;
pass: array[0..14]of char;
passbuff2: array[0..40]of byte;
pass2: array[0..20]of char;
b: byte;
f:tfilestream;
i,j:integer;
begin
file://showmessage(char($86)+ char($f8)+char($ec))
if not fileexists(edit1.text) then
begin
messagebox(handle,你是mm呀,我好种意你呀,mb_ok + mb_iconinformation);
exit;
end;
f := tfilestream.create(edit1.text,fmopenread);
if not chk2000.checked then
begin
try
f.seek($42,sofrombeginning);
f.read(passbuff,14);
for i := 0 to 13 do
begin
b := passbuff[i] xor xorstring[i];
pass[i] := char(b);
end;
pass[sizeof(pass)-1] := #0;
edit2.text := strpas(pass);
finally
f.free;
end;
end
else
begin
try
f.seek($42,sofrombeginning);
f.read(passbuff2,40);
i:=0;j:=0;
while i<40 do
begin
b := passbuff2[i] xor xorstring2[j];
pass2[j]:=char(b);
inc(i,2);inc(j);
end;
pass2[sizeof(pass2) - 1] := #0;
edit2.text:=strpas(pass2);
finally
f.free;
end;
end;
end;
procedure tform1.button2click(sender: tobject);
begin
if opendialog1.execute then
edit1.text := opendialog1.filename;
end;
procedure tform1.button3click(sender: tobject);
var
passbuff: array[0..14]of byte;
pass: array[0..14]of char;
passbuff2: array[0..40]of byte;
pass2: array[0..20]of char;
b: byte;
f:tfilestream;
i,j:integer;
s: string;
begin
file://showmessage(char($86)+ char($f8)+char($ec))
if not fileexists(edit1.text) then
begin
messagebox(handle,你是mm呀,我好种意你呀,mb_ok + mb_iconinformation);
exit;
end;
f := tfilestream.create(edit1.text,fmopenwrite);
if not chk2000.checked then
begin
try
fillchar(pass,14,#0);
s := edit2.text;
strcopy(@pass,pchar(trim(s)));
for i := 0 to 13 do
begin
b := byte(pass[i]);
passbuff[i] := xorstring[i] xor b;
end;
passbuff[13] := $b6;
f.seek($42,sofrombeginning);
f.write(passbuff,14);
finally
f.free;
end;
end
else
begin
try
f.seek($42,sofrombeginning);
f.read(passbuff2,40);
i:=0;j:=0;
while i<40 do
begin
b := passbuff2[i] xor xorstring2[j];
pass2[j]:=char(b);
inc(i,2);inc(j);
end;
pass2[sizeof(pass2) - 1] := #0;
edit2.text:=strpas(pass2);
finally
f.free;
end;
end;
end;
procedure tform1.edit2keypress(sender: tobject; var key: char);
begin
file://if length(edit1.text) >= 13 then key := #0;
end;
end.
- · Delphi嵌入式汇编一例
- · 在Delphi中实现任意形状的窗体
- · sql server 2005中的DDL触发器
- · asp.net 2.0下嵌套masterpage页的可视化编辑
- · PHP程序加速探索之缓存输出
- · 用C#代码编写的SN快速输入工具
- · (PHP)模板引擎Smarty介绍
- · 用PHP操纵Oracle的LOB类型的数据
- · C# 2.0中泛型编程初级入门教程
- · asp.net 2.0中加密web.config
- · ADO.NET操纵数据库
- · 关于asp.net c#中对cookie的操作
- · asp.net 2.0里当readonly遇上enableviewstate=false
- · C# 2.0与泛型
- · 让3721也无奈的弹出窗口(代码)
- · 玩透9种网页弹出窗口(精)
- · 网站左右两边浮动广告JS代码
- · 一个IP只提示一次设为首页的代码
- · 常用ASP脚本程序集锦*精(适合初学者)
- · 鼠标自动移动/点击
- · PHP程序加速探索之加速工具软件
- · SQLServer2000数据访问基类
- · 图解MySQL数据库的安装和操作
- · 一些ASP初学者常用的代码
- · ASP经典问答收藏之一
- · 一段防注入的通用脚本
- · 简单的防盗链(代码)
- · PHP窜红:革命尚未成功 Java仍需努力
- · 使用PHP编写基于Web的文件管理系统
- · 理解PHP中的MVC编程之控制器
- · 理解PHP中的MVC编程之MVC框架简介
- · SQL Server Express 数据库自动部署问题及解决
- · 用PHP文件上传的具体思路及实现
- · 回顾与展望PHP 5.0的变化与PHP 6.0展望
- · 一个产生中文累计数的代码片断
- · 在SQL Server 2005中解决死锁
- · 30分钟正则表达式指导
- · 不算不知道 44% 数据库开发者使用MySQL
- · 立即释放.net下的com组件
- · XHTML的目标,规则和细节
- · SQL Server 2005 提供的分页查询支持
- · ASP.NET程序中常用的三十三种代码
- · Sql server存储过程和C#分页类简化你的代码
- · SQL Server 2005新功能-TSQL
- · 在SQL Server 2005中编辑SQL Server 2000 DTS
- · .NET 连接到 Oracle的oci.dll加载错误解决方案
- · 如何在调用线程的时候传递参数
- · 专家预言:PHP将比Java更好更受欢迎
- · 在IIS6.0下ASP .NET 的版本冲突问题
- · 解决SqlTransaction用尽的问题(SQL处理超时)
- · 以前编写Like谓词被忽略的使用方法
- · 在编写存储过程时使用 Set NoCount On
- · ASP.NET 2.0运行时简要分析
- · .Net中如何操作IIS(原理篇)
- · 用.net开发不同操作系统下应用的winform的size大小问题
- · SQL Server数据库文件恢复技术
- · SQL SERVER中一些常见性能问题的总结
- · .NET下对二进制文件进行加密解密(C#)
- · 利用.NET的File控件上传文件的最终解决方案(个人版)
- · 如何把图片、声音等存储到sql中

