美丽心灵公益论坛

查看: 912|回复: 4

梦想成为安全研究员

[复制链接]
累计签到:1 天
连续签到:1 天

2

主题

9

回帖

84

积分

新手上路

Rank: 1

积分
84
发表于 2025-5-15 18:14:44| 字数 494 | 显示全部楼层 |阅读模式
安全研究员就是那些专找操作系统漏洞的黑客,我觉得逆向编译也很有趣,想加入他们的大家庭。

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

4个空值在x86架构,其实就是一条CPU指令,什么指令呢?
  1. ADD     BYTE PTR DS:[EAX], 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会运行完空值之后的所有代码,不会报错。


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
累计签到:1164 天
连续签到:2 天

156

主题

2135

回帖

9万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
96443

活跃会员最佳新人发帖达人

活跃会员
发表于 2025-5-17 21:41:18| 字数 10 来自手机 | 显示全部楼层
加油,祝你梦想成真!

点评

谢谢渡者!  发表于 2025-7-27 17:48
累计签到:1496 天
连续签到:7 天

530

主题

6387

回帖

520万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5200600

活跃会员热心会员发帖达人最佳新人

活跃会员
发表于 2025-5-18 10:27:31| 字数 3 | 显示全部楼层
加油~

点评

谢谢站长!  发表于 2025-7-27 17:49
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|免责及版权声明|关于|美丽心灵公益论坛

GMT+8, 2025-9-21 05:13 , Processed in 0.077293 second(s), 34 queries .

Powered by Discuz! X3.4

!copyright!

快速回复 返回顶部 返回列表