这只是一个笔记,不是一个教程。我太菜了,自己还都不会,不配写教程。
编译
首先当然是写一个hello.c
然后用gcc最常用的flag"-o"编译,意思是把output写进一个output file
然后再用"-g" 编译,意思是生成debug的信息,最直白的意思就是用gdb调试的话可以看到一行一行的代码。(所以-g加上之后gcc会做哪些额外的操作:1.创建一个符号表,包含程序中使用变量名称的列表; 2.关闭所有的优化机制,这样一来程序执行的时候就完全按照source code来进行。---但我并不知道这里在讲什么)
下图只想告诉我:1. 加"-g"的这个command这么写; 2.execute的时候都一样,只是debug时候可以有别的作用。
反编译
这里用到的是ida pro6.2(非常老,非常非常老)。用idapro的界面,选disassemble a file,然后选刚得到的那个binary file "hello_g"。然后就得到了一个graph。
那么问题来了,我在哪跑python script呢。