部分函数相同的C语言代码,编译出来的汇编语言会相同吗?

[复制链接]
1930|5
 楼主| liersong001 发表于 2014-8-3 10:25 | 显示全部楼层 |阅读模式
两套函数的有绝大部分代码是不同的,少部分C语言函数是相同的,编译出来的汇编语言会有相同的部分吗?
如果在目标MCU和编译开发环境都相同的情况下相同的部分多吗?如果在MCU和编译开发环境不同的情况下呢?这个相同是完全相同还是部分类似呢。
能不能从两个hex文件反汇编的结果,汇编语言中去判定这两个C语言的源代码有没有相同的部分,要怎么判定呢?
哪位高手有这种经验?
aozima 发表于 2014-8-3 13:53 | 显示全部楼层
可以评估个大概,但无法确认。

比如实现同样的,不同的人分别写了一套,最后可能汇编是一样的,你能认定他们的C语言代码也一样吗?
匿名  发表于 2014-8-3 15:01
若是目标MCU和编译开发环境还有操作系统都相同的情况下,一般来说肯定会有相同的部分,不过有许多因素会影响,比如开发环境中你选了其他的编译方式,那编译出来的汇编代码会有所不同,而且你在编译开发环境下调试的程序的汇编代码与真正编译出来的发布版程序的汇编代码是会有所不同的,因为编译器会对你的程序代码进行优化.


如何判定?反汇编自然是可以的,这要靠你的逆向分析了哦..
 楼主| liersong001 发表于 2014-8-4 09:04 | 显示全部楼层
aozima 发表于 2014-8-3 13:53
可以评估个大概,但无法确认。

比如实现同样的,不同的人分别写了一套,最后可能汇编是一样的,你能认定他 ...

也就是说不同的源代码,如果处理流程有一定的相似之处,也可以编译出基本类似的汇编语言?
 楼主| liersong001 发表于 2014-8-4 09:06 | 显示全部楼层
匿名者 发表于 2014-8-3 15:01
若是目标MCU和编译开发环境还有操作系统都相同的情况下,一般来说肯定会有相同的部分,不过有许多因素会影响, ...

反汇编做逆向分析能保证和原来的C语言代码的基本一致吗?
 楼主| liersong001 发表于 2014-8-5 14:16 | 显示全部楼层
现在都很少人研究汇编了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:

74

主题

342

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部