已经看过了王爽老师的《汇编语言》,讲的很好,但是是用 8086 入门的。想进一步学习,有没有推荐的教材,现在在看《从实模式到保护模式》,这本怎么样?
1
sjkdsfkkfd 2023-05-16 16:54:29 +08:00
https://stackoverflow.com/tags/x86/info
直接从比较现代的东西看吧,熟悉语法直接去 compiler 上看编译器编译的结果也行 从头写汇编程序已经没啥用处了,能读懂编译器输出的汇编片段,能写一点 inline assembly 做优化就可以了 |
2
sjkdsfkkfd 2023-05-16 16:55:59 +08:00
@sjkdsfkkfd compiler explorer ,手快没打出来
|
3
secondwtq 2023-05-16 19:39:50 +08:00
学习任何东西最好的办法是实践,就好像学英语要坚持有效的输入输出
当然怎么实践有学问,比如学 C#,可以先拿 C# 刷几道 LeetCode 熟悉基本用法,写几个小工具之类的,但是到后面取决于你要做什么,搞 Web 服务,做 Windows 程序开发,做游戏等涉及到的库和知识体系是有很大不同的 汇编也一样,如果你是想操作硬件那就试着写个 bootloader ,研究开源 OS 中一些 Arch-specific 的设计和实现,做安全就去解 crackme 我一开始学汇编是想着搞点逆向,后来是研究编程语言语义的实现,再后来是做程序优化,结果都搞了个半吊子,现在 jl je jnz 都分不清楚,但是干活勉强够用 |
4
secondwtq 2023-05-16 19:46:00 +08:00
另外就是建议不要仅仅停留在 x86 上,可以看看 ARM 之类的,现在资源也丰富起来了,以及一些资料较少,但是也很有意思的较新的架构比如 RISC-V ,甚至是已经淡出主流的架构比如 Alpha ,很多设计上的选择很有启发性(也包括传统 CPU 和其他处理器比如 GPU 的架构设计也有很有趣的区别)
|
5
wafm 2023-05-16 19:46:07 +08:00
扫雷,植物大战僵尸
去逆向分析一下基本也就没问题了 |
6
vangjing 2023-05-16 19:52:19 +08:00
可以参考滴水的逆向课程,B 站搜就有,也可以看这个博客,算是课程的文字版 https://www.cnblogs.com/iBinary/?page=20
单纯的学汇编意义好像不大,单纯学习汇编的结果大概率能看懂每条汇编干了什么,但是给一段汇编就不知道干啥了,可以结合其他内容,比如操作系统、编程语言之类的。 |
7
zeze0556 2023-05-18 08:56:19 +08:00
学汇编最快的方式就是破解,逆向
|