褐眼睛1 发表于 2025-5-15 18:14:44

梦想成为安全研究员

安全研究员就是那些专找操作系统漏洞的黑客,我觉得逆向编译也很有趣,想加入他们的大家庭。

我在今年年初,就发现了一个Windows的秘密,原来当代码段有4个或8个空值时,在不同版本的Window时结果会不一样。

4个空值在x86架构,其实就是一条CPU指令,什么指令呢?
ADD   BYTE PTR DS:, AL

因此,在不同版本的Windows,EAX的初始值也不一样,譬如:
1) 0x755A33B8 - Windows 7
2) 0xDFFCC - Windows 10
3) 0x0 - Windows XP(虚拟机)

只有在可以写入的内存区域,可执行文件里的代码段有空值才能继续运行,换言之,Windows XP(虚拟机)的0:0是不能写入的,而在Windows 7的0x755A33B8也一样不能写入,系统会报错。

大家可以看一看以下这个截图,当代码段0x401000开始是空值时,CPU指令是ADD,EAX初始值是0xDFFCC,是可以写入的,因此Windows会运行完空值之后的所有代码,不会报错。


这是我准备踏入安全研究员行列的第一个发现和成果,但是我还不具备他们的专业水准和能力,只能利用空档开发些小程序。

误伤渡者 发表于 2025-5-17 21:41:18

加油,祝你梦想成真!

simonzhd 发表于 2025-5-18 10:27:31

加油~
页: [1]
查看完整版本: 梦想成为安全研究员