OD破解Crackme1.exe密码
2016-04-25 15:03
369 查看
以前做的一个小练习,单步运行了好多遍才捋清楚
OD打开crackme,在跳转地址00401060设置断点输入口令单步运行(每次输入不同长度的口令)
经过多次尝试发现EDX中存放的数据为输入口令的长度,而ECX始终为14,应该是正确口令的长度。所以输入长度为14的字符串12345678901234继续单步运行,情况如下:
输入口令存入ESI中,将ESI+EDX的值存入AL,ESI存入EDI,从第一位“1”开始,AL与0x20异或存放ascii码,循环14次。代码段如下:
BL中存EDX+ESP+0xC,CL存EAX+ESI,比较BL与CL,有字符不相等就跳转结束。代码段如下:
输入口令A与0x20异或为M则为正确口令,系统值D+0xFB为M’正确,
因此将M’与0x20异或可得出正确口令A。即CL=BL异或0x20。因此做如下计算:
(“68 57 19 48 50 6E 58 78 54 6A 19 58 5E 06”+0xFB)异或0x20
计算可得“43 72 34 63 6B 49 73 53 6F 45 34 73 79 21”
转换成字符为:Cr4ckIsSoE4sy!
Can you Guess the Code:Cr4ckIsSoE4sy!
OD打开crackme,在跳转地址00401060设置断点输入口令单步运行(每次输入不同长度的口令)
经过多次尝试发现EDX中存放的数据为输入口令的长度,而ECX始终为14,应该是正确口令的长度。所以输入长度为14的字符串12345678901234继续单步运行,情况如下:
输入口令存入ESI中,将ESI+EDX的值存入AL,ESI存入EDI,从第一位“1”开始,AL与0x20异或存放ascii码,循环14次。代码段如下:
BL中存EDX+ESP+0xC,CL存EAX+ESI,比较BL与CL,有字符不相等就跳转结束。代码段如下:
输入口令A与0x20异或为M则为正确口令,系统值D+0xFB为M’正确,
因此将M’与0x20异或可得出正确口令A。即CL=BL异或0x20。因此做如下计算:
(“68 57 19 48 50 6E 58 78 54 6A 19 58 5E 06”+0xFB)异或0x20
计算可得“43 72 34 63 6B 49 73 53 6F 45 34 73 79 21”
转换成字符为:Cr4ckIsSoE4sy!
Can you Guess the Code:Cr4ckIsSoE4sy!
相关文章推荐
- 新御剑1.5注入版(11.29)
- 80sec被黑原因分析
- 网络安全助手 - 御剑
- 突破”子网隔离”***C段
- 网上说是"最标准的SQL注入语句"
- 转自CISPS《十年安全售前的经验与大家分享》
- 2007年世界顶级杀毒软件排名
- 玩转几大***测试系统
- 如何借助Sniffer来诊断Linux网络故障?
- 常用Linux网络安全工具
- CIO的网络安全“三大纪律”
- 国际网络信息安全认证中心
- ***常用***手段揭秘及其预防措施介绍
- netfilter/iptables全攻略
- [转]网络安全设备Bypass功能介绍及分析 - [网络编程]
- 互联网企业网络安全架构摘录(转)
- 互联网企业网络安全架构(摘录)
- SSH:加密传输 远程管理的安全通道
- 新手该如何对服务器安全维护
- 网络安全的底线