我最近在学习xv6操作系统。mit的课。想要学习操作系统。操作系统的学习对汇编二进制有帮助吗?我学过java。php。前几天把c语言学了。总感觉即使是c语言上面也隔着一层操作系统api。。写代码就像调用系统api。只不过不同语言对其有封装。我听说学汇编得一句c一句汇编这样。看到c就知道他的汇编代码。逆向需要学成这样吗?哪些书籍或课程可以有这样的教学。 我还感觉是不是还得学习编译器?不同语言之间的汇编代码是不是有共通性。 然后就是安全。毕竟二进制逆向也得会二进制安全吧。那这方面需要去学什么。求指点 操作系统, 语言
操作系统和汇编关系不大,操作系统说明对电脑资源管理分配的,汇编是为实现业务流程的编程语言,只是比高级语言更底层一些,又比机器语言高级些。以前单片机都是汇编写的,后来才有了C51之类的。 汇编语言得自己算跳转地址,比较麻烦,但搞逆向,必须过这一关。 汇编跟语言关系不大,都相通的,但不同芯片的指令集有些差异。 二进制的机器码了解概念就差不多了,很少有人会记住这个的。 抛砖引玉,祝楼主学习顺利、更上一层楼。
michaelgao 发表于 2024-3-13 12:57 操作系统和汇编关系不大,操作系统说明对电脑资源管理分配的,汇编是为实现业务流程的编程语言,只是比高级 ... 谢谢解答,一般高级语言使用系统api进行实现他相关方法,那么在底层汇编指令看起来是否是不一样,据我了解不同cpu的指令集实现方式都不一样,编译器也会去在不同的cpu上编译成不同的机器玛,虽然在高级程序那里,对系统api进行了封装。但是这些实现不同是否会导致逆向上的困扰
frozenfish 发表于 2024-3-14 12:34 谢谢解答,一般高级语言使用系统api进行实现他相关方法,那么在底层汇编指令看起来是否是不一样,据我了 ... 不同的CPU指令集,会带来逆向上的困扰。一般都先熟悉x86汇编。