能力值:
( LV2,RANK:10 )
2 楼
沙发。哦来了
能力值:
( LV2,RANK:10 )
3 楼
等等等到了
能力值:
( LV2,RANK:10 )
4 楼
楼主辛苦,新年快乐
能力值:
( LV2,RANK:10 )
5 楼
楼主辛苦了,努力学习中。
能力值:
( LV13,RANK:1760 )
6 楼
加油...
能力值:
( LV2,RANK:10 )
7 楼
新年快乐,正在学习中!
能力值:
( LV2,RANK:10 )
8 楼
呐。新年快乐
能力值:
( LV2,RANK:10 )
9 楼
谢谢楼主
能力值:
( LV2,RANK:10 )
10 楼
Happy New Year!!!
能力值:
( LV7,RANK:110 )
11 楼
上镜。。
能力值:
( LV2,RANK:10 )
12 楼
新年快乐
能力值:
( LV2,RANK:10 )
13 楼
楼主牛逼啊,请问原版地址在什么地方啊?
能力值:
( LV13,RANK:1760 )
14 楼
原地址:701K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4u0A6j5$3q4J5k6r3!0F1j5i4u0$3j5h3A6S2i4K6u0W2K9h3&6X3L8#2)9J5c8W2)9J5y4X3&6T1M7%4m8Q4x3@1t1`. 作者西班牙人
能力值:
( LV2,RANK:10 )
17 楼
补充,又过了3天,没在win7下面搞定,瞄了遍,跳过了。在win7下,快照函数,啥的,反正就是下面(前几天写的)里面提到的函数,应该不会影响到壳的异常终止。跑1遍,这些函数的调用,就跑去创建线程了,搞互斥体了,然后就终止了。过几天,再回头看吧 ----------------------------------------------------------------------------------------
关于程序在x64位下OD运行出错,这个我用OD加载,无论怎么调试,
在CreateToolHelpSnapsho后面的一个函数总是返回FFFFFFFF
参考这篇文章7dfK9s2c8@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 调用失败原因也与上面的原理类似。