-
-
[求助]求助,内存写入断点为啥不起作用!
-
发表于: 2013-12-17 17:59 2480
-
有个网络的客户端,其网络通信的逻辑已经知道,使用了一个类似MD5的KEY做加密。
对那KEY地址设置 硬件写入断点,重载程序能断在置0的位置,随后对其地址设置 内存写入断点。能够断在初始化的代码处,而这个初始值是按用户信息的某几个属性生成的MD5,每次固定。但发现在登陆成功后,通信时是使用生成的另外一条KEY,这个KEY会经常不一样,但有时会重复。
所以就在初始化的代码时进行如下操作:
对KEY的内存处设置 内存写入断点,程序一直提示连接错误,无法连接,且经常断点断在设置初始值的代码处(脚本运行)。
对KEY的内存处设置 硬件写入断点,程序完全没有断下来,直接登陆和连接。
有什么办法能在这程序写入第二条KEY时断下来呢???想找到其算法。
补充问题:
1.硬件断点是不是与线程相关,好像跨线程时没法断下来?就是我这程序如果其他线程进行更新,所以没法断下来而直接运行?
2.内存断点,这个好像记得是不是对那段内存地址的访问权限做修改?我设置写入断点,则OD设置那段地址为只读?所以导致另外一个线程一更新则抛出异常?所以导致一直连接错误?
3.如果2是成立,那是不是捕获到另一个线程的异常则能找到更新的位置?我把OD的忽略所有异常选项去掉,但还是没法断下来。有什么办法捕获呢?
PS:程序VMP壳。痛苦啊,求助。。无限感激。。!!
对那KEY地址设置 硬件写入断点,重载程序能断在置0的位置,随后对其地址设置 内存写入断点。能够断在初始化的代码处,而这个初始值是按用户信息的某几个属性生成的MD5,每次固定。但发现在登陆成功后,通信时是使用生成的另外一条KEY,这个KEY会经常不一样,但有时会重复。
所以就在初始化的代码时进行如下操作:
对KEY的内存处设置 内存写入断点,程序一直提示连接错误,无法连接,且经常断点断在设置初始值的代码处(脚本运行)。
对KEY的内存处设置 硬件写入断点,程序完全没有断下来,直接登陆和连接。
有什么办法能在这程序写入第二条KEY时断下来呢???想找到其算法。
补充问题:
1.硬件断点是不是与线程相关,好像跨线程时没法断下来?就是我这程序如果其他线程进行更新,所以没法断下来而直接运行?
2.内存断点,这个好像记得是不是对那段内存地址的访问权限做修改?我设置写入断点,则OD设置那段地址为只读?所以导致另外一个线程一更新则抛出异常?所以导致一直连接错误?
3.如果2是成立,那是不是捕获到另一个线程的异常则能找到更新的位置?我把OD的忽略所有异常选项去掉,但还是没法断下来。有什么办法捕获呢?
PS:程序VMP壳。痛苦啊,求助。。无限感激。。!!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
- [求助]求助,内存写入断点为啥不起作用! 2481
- [求助]VMP脱壳+跨平台后 1377
- [求助]IDA6.1 出现 unknown_libname_1 1827
- [求助]C++与C反编译 1797
看原图
赞赏
雪币:
留言: