首页
社区
课程
招聘
WIN7旗舰版与WINDOWS XP SP2下断点问题
发表于: 2010-1-11 10:28 4639

WIN7旗舰版与WINDOWS XP SP2下断点问题

2010-1-11 10:28
4639
各位大大你们好,我是初学脱壳的,近日脱壳过程中发现了一个问题,请各位大大指点。
脱壳文件名称:Hiddukel VII
检测壳类型:什么也没找到
使用脱壳工具:ODbyDYK v1.10 12.06
脱壳平台:WIN7旗舰版
软件编写语言:脱壳后发现是C++

问题描述:
小弟经过两天琢磨,把壳给脱掉了,但是发现程序有自校验的功能,于是下bp CreateFileA断点进行调试,但是在WIN7旗舰版下这个断点调试,程序就跑飞了。

解决思路:
对于下BP CreateFileA断点无效,以为是打错字母,最后查询MSDN证实没有错误,最后下BP GetFileSize断点仍然无效,这个时候我分析是程序内没有使用到这些API,那它如何进行的自校验呢?后来进从软件的IAT中找了几个它本身运行时使用的API,下断点BP GetVersion再进行调试,程序断点成功,这个时候我就奇怪了。第二天,我用虚拟机装了WINDOWS XP SP2系统,再次使用BP CreateFileA,在WINDOWS XP SP2系统下断点生效了。这个时候我就想不明白了,都是系统API,难道是WIN7的API名称改变了吗?

想咨询的问题:
问题一、对于软件本身重启自校验,除了CreateFileA    GetVersion这些系统API还有哪些技术是可以进行软件自校验?

问题二、对于WIN7旗舰版,我的看法是如果bp CreateFileA在WIN7下没有成功的原因是不是由于WIN7的默认权限的问题呢?但是我使用OD的时候,是右键,用管理员权限运行的啊?至少OD的执行权限不会有问题吧?还是WIN7的UAC搞的鬼呢?小弟不才,还请各位知道的大大解释下。

问题三、我分析,如果是在虚拟机里边的WINDOWS XP SP2下 BP CreateFileA断点成功,那么最大的可能就是当权用户权限的问题造成的了。如果不是当前用户权限造成的,那很可能就是微软的那个鬼重定向导致的。不知道我理解的对不对,希望各位大大帮忙测试下。

最后小弟谢谢各位大大在百忙之中看下小弟的帖子。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 55
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Win7下试试,载入exe之后按Ctrl+G,然后输入CreateFileW,在找到的语句处按F2,因为CreateFileA也是调用CreateFileW的。不过我也想不通为什么一个断得下来而另一个不行。
自校验的话,一般都是要打开原始文件,也就是CreateFile的,但是调用API的方法也比较多,比如可以直接通过int 2eh进入内核……
2010-1-11 11:03
0
雪    币: 183
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
AmaranthF
你好,我用了你说的办法直接查找CreateFileW下断点是可以成功的,非常感谢你。不过还是希望各位知道的解释下是什么原因。
2010-1-11 12:14
0
雪    币: 183
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我重新再次调试过程中发现了,WIN7的调试出现这样一个现象,KERNELBA.CreateFileW的调用,如果是XP系统里边就是KERNEL32.CreateFileW吧,我这样设想的。是不是这个API函数为止变动了。
2010-1-11 12:18
0
雪    币: 105
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
不是,CreateFileW表示宽字节,看看win 7 是不是64位就行了
2010-1-11 13:33
0
雪    币: 183
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
win7旗舰版系统是32位的操作系统
2010-1-11 14:56
0
游客
登录 | 注册 方可回帖
返回
//