菜鸟笔记#3.跳转破解

【实验目的】

1) 掌握利用查找字符串的方法下断点,找到关键跳转,更改跳转命令,实现软件破解。

【实验原理】

1) 利用软件登录时,提供的关键字,找到关键跳转下断点,更改跳转命令,改变程序流程。

【实验环境】

工具:OllyDBG
软件:C:\software\21.跳转破解\跳转.exe

【实验步骤】

一、了解软件验证机制

1.1 运行跳转.exe软件,在用户名和密码栏中输入任意数值,单击“登录”按钮。如图1所示


图1

1.2 弹出关键字提示对话框,记录下关键字“密码不对,请重新输入”。 如图2所示


图2

二、利用PEID查壳

2.1 进入软件目录(C:\software\21.跳转破解),选择目标软件,右键发送到PEID,进行查壳。如图3所示


图3

2.2 PEID软件提示无壳。如图4所示


图4

三、利用OllyDBG程序暴力破解软件

3.1 将跳转.exe载入OllyDBG程序,单击运行按钮(或快捷键F9)。如图5所示


图5

3.2 单击反汇编窗口,按Ctrl+G快捷键,在弹出的对话框中输入“00401000”,单击“确定”按钮。然后右键菜单选择“中文搜索引擎”->”智能搜索”。 如图6所示


图6

3.3 在弹出字符串界面,右键菜单选择”Find”(或按快捷键“Ctrl+f”),在弹出对话框中输入“密码不对,请重新输入”,进入关键字查找。如图7所示


图7

3.4 双击“密码不对,请重新输入”处,程序自动跳转到反汇编窗口” 密码不对,请重新输入”对应的那一行。向上查找关键CALL(注意关键CALL和关键跳转是对应的),一般情况下为往上数第二个或第三个CALL,即为关键CALL,在关键CALL处下断点(快捷键F2)。图中向下的三角号表示向下跳转,我们要找的就是能跳过“密码不对,请重新输入”这行的向下跳转。如图8所示


图8

3.5 向上查找到能跳过“密码不对,请重新输入”这行的关键跳,在关键跳转出下断点(即按F2)。如图9所示


图9

3.6 单击工具栏中的“运行”按钮,软件登录界面输入帐号和密码(输入值为任意,因为要观察软件在输入错误的帐号和密码的情况下,这个关键跳转是否会实现),发现跳转未实现(红色代表实现跳转)。如图10所示


图10

3.7 可见这个跳转未实现,就出现了“密码不对,请重新输入”提示,所以为关键跳转.。单击关键跳,右键菜单选择“汇编”(或按快捷键空格)。如图11所示


图11

3.8 弹出编辑对话框。如图12所示


图12

在编辑框中把“je”改成“jmp”(即把条件跳转改成无条件跳转,程序运行到“jmp”行时,直接跳过“密码错误,请重新输入”)的错误提示,然后单击“确定”按钮。如图13所示


图13

3.9 NOP填充后,选择刚才的填充代码,右键菜单选择“复制到可执行文件”->”选择” 。如图14所示


图14

3.10 在弹出的对话框中,右键菜单选择“保存到文件”。 如图15所示


图15

3.11 弹出保存对话框,起名保存即可。如图16所示


图16

3.12 双击刚才脱壳后的程序,任意输入帐号和密码,正常播放(播放一段时间后自动退出,原因不明,但破解的知识点讲道了)。如图17所示


图17


[?]Q1.最后程序莫名崩溃原因不明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真·skysys

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值