c语言sscanf函数的用法是什么
267
2022-09-01
从汇编语言翻译到c语言中应该注意的问题
我们在写注册机的时候,经常会从汇编语言翻译到c语言代码。
我们先看看一个比较短和简单的函数
反编译如下: (热键F5):
可以看到产生的c代码比较合理,但是不完美。看上去有点乱,这是应为反编译不能执行类型恢复。显然,a1参数是指向一个结构体的指针。让我们增加一些数据类型看看发生什么。我们打开Structure windows(Shift-F9),增加一个结构体。
我们切换到pseudocode window指定a1的类型。我们把光标放在a1出现的地方,按Y
当我们按回车后,反编译器输出开始变得更容易阅读。
但是,这里还有一些改进。我们把这个结构体重新命名,并且指定它的类型。例如,fileld_6B1看上去像是一个计数器Fileld_6B5显而易见是一个函数指针。我们不需要切换窗口就可以做这些。只有初始化结构定义才需要切换到structure window窗口。这里我们指定函数指针的字段。
最终结果看上去像是这样。
这里没有强制类型转换,看上去比最初的代码好看了更多。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~