编译再反编译一个C

这只是一个笔记,不是一个教程。我太菜了,自己还都不会,不配写教程。

编译

首先当然是写一个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呢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值