OD学习笔记(BC++假自效验)

我使用的是teltel超速拨号器,看样子是一款很老的软件了,我们可以看到它是未注册版。

要破解这样一款软件,我们还是按照套路来查壳脱壳:

一、用PEID查壳

从图中我们可以发现他是ASPack 2.12的壳,但奈何PEID中并未显示它是由什么语言编写的,所以我们还得进行下一步。

二、用Die查软件的编写语言

由图可以看出这是一个BC++[Borland C++]开发的软件(不知道Borland C++的可以看看这个https://baike.baidu.com/item/Borland%20C++/4620812?fr=aladdin),至于为什么要查看语言,我会在后面的步骤中进行阐述。

三、载入OD

在此我们终于进入正题开始破解软件了,这里使用的是OllyDBG(至于为什么不用IDAPro,原因很简单——我不会);载入OD后我们来到pushad这个地方,F8运行一步后发现寄存器窗口ESP寄存器变红,所以直接用ESP定律即可(不知道什么是ESP定律的可以看这里https://baike.baidu.com/item/esp%E5%AE%9A%E5%BE%8B),鼠标右键点击ESP寄存器,选择HW break[ESP],按F9运行,再按F8来到如下图所在的地方,右键选择分析-从模块中删除分析便可恢复成汇编代码。

 

在这里我们可以看到ESP寄存器还是变成红色,那我们是否继续使用ESP定律呢? 答案是根据不同软件的OEP来判定是否到达程序的入口点,可以根据下图来判定。

 

四、脱壳

右键选择使用Ollydump脱壳调试进程,复制修正后的入口地址,打开LoadPE找到该进程,右键选择修正镜像大小然后完整转存,这时会出现一个dump.exe的文件; 

再打开ImpREC,找到该进程输入OEP偏移量点击IAT自动搜索-->获取导入表-->修正转存(修正刚才的dump.exe文件)这时会出现一个dump_.exe的文件,这就是修正后的文件;但点击后会发现这个文件根本打不开,这时就要想想这个软件是不是有自效验。

五、手动查找偏移量

同样载入OD重复第三步操作,来到程序入口处,向下找到第一个call并按Enter键跟随进入call里面看看,可以看到这个call是引用函数部分。

我们找到第一个jmp,右键选择数据窗口中跟随--内存地址,将数据窗口中的地址变为jmp的地址而数据窗口中的地址则为真实的地址,这时我们进行手动修正,将EVA改为0016E114(这里为什么是16E114而不是56E114,这是因为我们要减掉段地址,而段地址大小为40000),大小为1000(表示向下搜索范围为1000),点击获取导入表--显示无效的--右键选择剪切指针(或删除指针)--修正转存,这时点击dump_.exe便可以运行了,证明脱壳成功!!!

六、总结

1、在用ESP定律脱壳时一定的用Die查一下使用什么语言编译的,再查找OEP以免错过程序入口。

2、BC++程序在脱壳后需要手动修复IAT(仅限于BC++程序,其他程序按照正常的脱壳流程来),自动搜索的结果为错误的,这造成了脱壳后程序打不开的现象,当初怀疑是程序自效验,现在就可以否定这一说法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小甲鱼教程合集(基础篇+工具篇+系统篇+OD使用教程) 压缩包文件列表:小甲鱼_加密解密教程基础视频 基础篇_第一讲_概述.rar 基础篇_第二讲_一些必备的常识(1).rar 基础篇_第六讲_初步认识PE格式.rar 基础篇_第三讲_一些必备的常识(2).rar 基础篇_第四讲_Windows消息机制.rar 基础篇_第五讲_Windows保护模式.rar 小甲鱼_加密解密教程之工具篇 PEInfo编程思路讲解01-工具篇-解密系列.zip PEInfo编程思路讲解02-工具篇-解密系列.zip PEInfo编程思路讲解03-工具篇-解密系列.zip PEInfo编程思路讲解04-工具篇-解密系列.zip 小甲鱼_加密解密教程之系统篇 PE结构详解1-系统篇-第一讲-解密系列.rar PE结构详解3-系统篇-第三讲-解密系列.rar PE结构详解4-系统篇-第四讲-解密系列.rar PE结构详解5-系统篇-第五讲-解密系列.rar PE结构详解6-系统篇-第六讲(1)-解密系列.rar PE结构详解6-系统篇-第六讲(2)-解密系列.rar PE结构详解7-系统篇-第七讲-解密系列.rar PE结构详解8-系统篇-第八讲-解密系列.zip PE结构详解9-系统篇-第九讲-解密系列.zip PE结构详解10-系统篇-第十讲-解密系列.zip PE结构详解11-系统篇-第十一讲(2)-解密系列.zip PE结构详解11-系统篇-第十一讲-解密系列.zip 小甲鱼_解密调试之OD使用系列教程 OD使用教程1.zip OD使用教程2.zip OD使用教程3(上).zip OD使用教程3(下).zip OD使用教程3(中).zip OD使用教程4.zip OD使用教程5.zip OD使用教程6.zip OD使用教程7(上).zip OD使用教程7(下).zip OD使用教程8(下).zip OD使用教程8.zip OD使用教程9.zip OD使用教程10.zip OD使用教程11.zip OD使用教程12.zip OD使用教程13.zip OD使用教程14.zip OD使用教程15.zip OD使用教程16.zip OD使用教程17.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值