稳定盈利的期货交易方法-量化趋势交易

alantop's blog

量化趋势交易
随笔 - 595, 文章 - 0, 评论 - 921, 引用 - 0
数据加载中……

从汇编语言翻译到c语言中应该注意的问题

我们在写注册机的时候,经常会从汇编语言翻译到c语言代码。

我们先看看一个比较短和简单的函数

反编译如下: (热键F5):

可以看到产生的c代码比较合理,但是不完美。看上去有点乱,这是应为反编译不能执行类型恢复。显然,a1参数是指向一个结构体的指针。让我们增加一些数据类型看看发生什么。我们打开Structure windows(Shift-F9),增加一个结构体。

我们切换到pseudocode window指定a1的类型。我们把光标放在a1出现的地方,按Y

当我们按回车后,反编译器输出开始变得更容易阅读。

但是,这里还有一些改进。我们把这个结构体重新命名,并且指定它的类型。例如,fileld_6B1看上去像是一个计数器Fileld_6B5显而易见是一个函数指针。我们不需要切换窗口就可以做这些。只有初始化结构定义才需要切换到structure window窗口。这里我们指定函数指针的字段。

最终结果看上去像是这样。

这里没有强制类型转换,看上去比最初的代码好看了更多。

posted on 2008-07-01 23:01 AlanTop 阅读(2163) 评论(3)  编辑 收藏 引用 所属分类: 汇编语言教程

评论

# re: 从汇编语言翻译到c语言中应该注意的问题  回复  更多评论   

还不如汇编容易懂吧……
2008-07-02 11:59 | yafare

# re: 从汇编语言翻译到c语言中应该注意的问题  回复  更多评论   

请问你用的是什么工具?IDA?
2008-07-02 14:22 | OldCastle

# re: 从汇编语言翻译到c语言中应该注意的问题  回复  更多评论   

是IDA
2008-07-03 04:24 | AlanTop

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理