当前位置: 代码迷 >> 汇编语言 >> 汇编 自己用C语言(TC)编写程序 然后再用debug看汇编代码 跟自己写的汇编差了好多 多了很多代码解决思路
  详细解决方案

汇编 自己用C语言(TC)编写程序 然后再用debug看汇编代码 跟自己写的汇编差了好多 多了很多代码解决思路

热度:6602   发布时间:2013-02-26 00:00:00.0
汇编 自己用C语言(TC)编写程序 然后再用debug看汇编代码 跟自己写的汇编差了好多 多了很多代码
类似push bp mov bp, sp add sp, 4之类的 作为一个函数要处理形参和局部变量
这些东西放在堆栈里,有谁能帮忙讲讲清楚么 还有怎么能比较快的找到核心程序(汇编中)

------解决方案--------------------------------------------------------
不要用 debug 看。可用直接生成 asm 文件的吧,然后打开 asm 看,里面应该是有 c 语句进行对应的,这样看就很明了。或者是在编译链接时启用调试信息,然后用 TDebug 之类的来看,也会将 c 调入的,然后可用在汇编和 c 模式间切换查看。
------解决方案--------------------------------------------------------
类似push bp mov bp, sp add sp, 4之类的 作为一个函数要处理形参和局部变量
这些东西放在堆栈里,有谁能帮忙讲讲清楚么 还有怎么能比较快的找到核心程序(汇编中)

是用來初始化局部變量的,即使你沒用到局部變量,這幾句也會出現.
------解决方案--------------------------------------------------------
自己写的程序经过编译优化后肯定是基本上是没有办法与原代码对应起来的,及理论上能完全反向出源码是不可能的 ---- 因此,即使比较好的反向工具的机器反向反出的C/C++代码也几乎没有什么可读性。早期我有个文章(http://topic.csdn.net/u/20120304/12/093f69f8-ce0a-4995-a818-796aa5dbe719?seed=296359141&r=78428092#r_78428092)为什么会被很多人嗤之以鼻也是如此,但是真正的算法工程师,通过反向出的汇编代码是可以“猜出”源代码,之前我们作反向就是这样,基本与源码一致性能达到75% ---- 从算法研究的角度应该是足够了
  相关解决方案