首页
社区
课程
招聘
[翻译]使用OllyDbg从零开始Cracking 第四十六章-Patrick的CrackMe-Part1
发表于: 2015-1-2 09:35 10716

[翻译]使用OllyDbg从零开始Cracking 第四十六章-Patrick的CrackMe-Part1

2015-1-2 09:35
10716
收藏
免费 3
支持
分享
最新回复 (14)
雪    币: 283
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
沙发。哦来了
2015-1-2 10:11
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
等等等到了
2015-1-2 11:21
0
雪    币: 217
活跃值: (2578)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼主辛苦,新年快乐
2015-1-2 14:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主辛苦了,努力学习中。
2015-1-2 20:01
0
雪    币: 2673
活跃值: (3560)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
6
加油...
2015-1-2 20:13
0
雪    币: 8719
活跃值: (2085)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
新年快乐,正在学习中!
2015-1-2 20:21
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呐。新年快乐
2015-1-2 20:32
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢楼主
2015-1-2 21:15
0
雪    币: 155
活跃值: (3321)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
Happy New Year!!!
2015-1-4 12:51
0
雪    币: 341
活跃值: (153)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
11
上镜。。
2015-1-5 08:29
0
雪    币: 36
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
新年快乐
2015-1-6 08:13
0
雪    币: 47
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼主牛逼啊,请问原版地址在什么地方啊?
2015-1-6 23:01
0
雪    币: 2673
活跃值: (3560)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
14
原地址:528K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4u0A6j5$3q4J5k6r3!0F1j5i4u0$3j5h3A6S2i4K6u0W2K9h3&6X3L8#2)9J5c8W2)9J5y4X3&6T1M7%4m8Q4x3@1t1`.  作者西班牙人
2015-1-6 23:03
0
雪    币: 160
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
补充,又过了3天,没在win7下面搞定,瞄了遍,跳过了。在win7下,快照函数,啥的,反正就是下面(前几天写的)里面提到的函数,应该不会影响到壳的异常终止。跑1遍,这些函数的调用,就跑去创建线程了,搞互斥体了,然后就终止了。过几天,再回头看吧

----------------------------------------------------------------------------------------
关于程序在x64位下OD运行出错,这个我用OD加载,无论怎么调试,

在CreateToolHelpSnapsho后面的一个函数总是返回FFFFFFFF

参考这篇文章d9cK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3j5h3&6&6j5$3g2D9L8q4)9J5c8X3q4J5N6r3W2U0L8r3g2Q4x3V1k6V1k6i4c8S2K9h3I4K6i4K6u0r3x3K6f1H3y4e0R3$3y4l9`.`.

其中PEB的地址被设置在PebBaseAddress中。但是64位进程的PEB头地址是保存在64位长度的地址中的(比如上面说道的系统进程Services.exe),而32位进程的PEB头地址只有32位长度。运行在64位系统上32位应用程序是如何将64位的PEB地址转换成32位地址的呢?如果64位PEB地址的高32位为0,则转换不会出现任何问题。但如果高32位也包含地址信息,那么WOW64(Windows 32-bit on Windows 64-bit,windows 64位系统上兼容32位应用程序的技术,作为由32位向64位程序的过渡方案)只是简单的将低32位的PEB地址赋给32位应用程序中的PebBaseAddress变量,当然就会发生错误了!于是Windows就会出发error 299并返回失败。

   出了GetModuleFileNameEx之外,还有EnumProcessModule和EnumProcessModuleEx 也会出现这样的问题,都是因为访问64位进程的PEB头的原因。CreateToolHelpSnapshot调用失败原因也与上面的原理类似。
2015-7-10 20:47
0
游客
登录 | 注册 方可回帖
返回