delphi获取mdb密码
function GetPasswordFromAccess(AFileName: string): string;
var
myms: TMemoryStream;
b: array of Byte;
a: array[0..33] of Byte;
mysFileName, mysPwd: string;
I: Integer;
ver: Byte;
mybyte1, mybyte2: byte;
const
ar_key: array[0..31] of Integer=($39,$59,$EC,$37,$E2,$e6,$9C,$FA,$79,$FC,$28,$E6,$AC,$14,$8A,$60,$EB,$36,$7B,$36,$4A,
$D0,$DF,$B1,$C8,$56,$13,$43,$70,$0D,$b1,$33);
flagbyte1 = $8b;
flagbyte2 = $C3;
begin
if not FileExists(AFileName) then Exit;
mysFileName := AFileName;
myms := TMemoryStream.Create;
try
myms.LoadFromFile(mysFileName);
myms.Position := 0;
myms.Seek($14, 0);
myms.Read(ver, SizeOf(Byte)); //here we get access version ,1 is 2000 and 0 is97
SetLength(b, 2);
myms.Seek($42, 0);
myms.Read(a[0], sizeof(a));
mybyte1 := a[32] xor flagbyte1;
mybyte2 := a[33] xor flagbyte2;
for I := 0 to 15 do
begin
b[0] := ar_key[i*2] xor a[i*2];
b[1] := ar_key[i*2+1] xor a[i*2+1];
if (i mod 2 = 0) and (ver = 1) then
begin
b[0] := b[0] xor mybyte1;
b[1] := b[1] xor mybyte2;
end;
mysPwd := mysPwd + Char(b[0]+b[1]);
end;
Result := mysPwd;
finally
SetLength(b, 0);
myms.Free;
end;
end;
delphi获取mdb密码的更多相关文章
- OpenSSH后门获取root密码及防范
OpenSSH后门获取root密码及防范 相对于Windows操作系统,Linux操作系统的密码较难获取.而很多Linux服务器都配置了Openssh服务,在获取root权限的情况下,可以通过修改或者 ...
- hg211g破解获取管理员密码,可以连接路由器。默认光猫来拨号。
先通过这种方式获取telecomadmin密码:1.使用useradmin用户登录设备2.在IE地址栏输入该路径”192.168.1.1/backupsettings.html”3.点击保存设备备份配 ...
- Delphi 获取进程路径及命令行参数
Delphi 获取进程路径及命令行参数, 但有的进程获取时会报错,不知为啥 type PVOID64 = UINT64; _UNICODE_STRING = packed record Length ...
- 批量扫描互联网无线路由设备telnet,并获取WIFI密码
批量扫描互联网无线路由设备telnet,并获取WIFI密码 http://lcx.cc/?i=4513
- delphi 获取硬盘序列号、cpu号、bios号、网卡号
delphi 获取硬盘 序列号 function GetIdeNum: String; type TSrbIoControl = packed record HeaderLength : ULONG; ...
- mysql5.7.16安装 初始密码获取及密码重置
在window7下面安装mysql5.7.16,出现一个问题,在初始化时,默认生成了一个密码,导致连接不了数据库.而在5.7以前,默认密码是空的,可以不用密码即可进入数据库.5.7之后的就遇到坑了,下 ...
- Delphi 获取当前鼠标下的控件内容
Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos://获取鼠标的位置 WindowFromPoint://获取制定point下的handle GetClassName:// ...
- Delphi获取本机的MAC地址
Delphi获取本机的MAC地址: uses NB30; function GetAdaPterInfo(lana: Char): string; var Adapter: TAdapterS ...
- Delphi获取其他exe程序版本号
delphi获取Exe文件版本信息的函数 Type TFileVersionInfo = Record FixedInfo:TVSFixedFileInfo; {版本信息} CompanyName:S ...
随机推荐
- 简单3d RPG游戏 之 002 生命条(二)
在游戏中,游戏人物的血条可能会因为受伤或吃血瓶而长度变化,所以需要将血条的长度单独提出来作为一个变量,方便直接修改数值. public float healthBarLength; 改变生命值函数如下 ...
- Automotive Security的一些资料和心得(1):Security Engineering
陆续更新一些最近在Automotive Security方面的资料和心得. 1. Overview 1.1. Software Engineering Process PLC-Phases: Intr ...
- springside springmvc 的一个SB问题
<form id="inputForm" modelAttribute="order" action="${ctx}/myorder/orde ...
- [Unity3D]支持的视频格式
Unity3d只支持 .mov, .mpg, .mpeg, .mp4, .avi, .asf这些格式.
- HDU4548+素数
简单题. /* */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<alg ...
- Android 获取JSP或ASP的sessionId(Cookie)
如果使用的是httpClient: try { HttpResponse response = HttpUtil.httpClient.execute(new HttpGet(url)); Heade ...
- 【前端学习】【jQuery选择器】
jQuery选择器 jQuery选择器 本文内容引自于单东林<锋利的jQuery>,未经原作者准许,禁止以商业目的转载发布! 选择器是jQuery的根基,在jQuery中,对事件处 ...
- Java Socket实战之一 单线程通信
本文地址:http://blog.csdn.net/kongxx/article/details/7259436 现在做Java直接使用Socket的情况是越来越少,因为有很多的选择可选,比如说可以用 ...
- VPN+NAT实现代理服务器功能
前话 用VPN+NAT再结合路由可以实现很方便的代理功能,适用于有一台能方便连接Internet的电脑,其他不在同一子网内的电脑能够连接到这台机器但不能完全访问Internet.比如好些学校的校园网, ...
- 安装 ArcGIS Runtime SDK for Android
ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...