如何快速查看将C反汇编的代码
2015-04-01 09:55
453 查看
查看反汇编主要的思路在于将 流程,处理,算法 区分开来。
1 函数调用:
原C代码:
反汇编的函数调用主要使用bp-frame式(不懂自己去查去)的调用方式:
mmm
然后是被调用的sum:
ss
2 for循环:
基本的for循环是这样的:
然后反汇编后,for循环一般是以下的形式的:
下面看看上面的c代码反汇编后变成了什么:
3 do-while循环
例子代码为:
do-while循环的基本结构:
然后我例子代码的反汇编为:
4 while循环|
例子代码为:
while反汇编的基本结构为:
上述代码反汇编的结果为:
5 if-else分支判断:
例子代码的c语言为:
if-else分支的基本结构:
然后上述代码的反汇编结果为:
6 switch-case 判断分支:
反汇编结果很直接:
7 使用结构体:
结构体的例子代码:
结构体反汇编代码:
1 函数调用:
原C代码:
int sum(int, int); int main(){ int c = sum(1, 2); printf("c=%d", c); return 0; } int sum(int a, int b){ int c = a + b; return c; }
反汇编的函数调用主要使用bp-frame式(不懂自己去查去)的调用方式:
mmm
然后是被调用的sum:
ss
2 for循环:
基本的for循环是这样的:
int sum(int b){ int c, i=0; c = 0; for(i=0; i<4; i++){ c += b; } return c; }
然后反汇编后,for循环一般是以下的形式的:
下面看看上面的c代码反汇编后变成了什么:
3 do-while循环
例子代码为:
int sum(int b){ int c, i=0; c = 0; do{ c += b; i++; }while(i < 4); return c; }
do-while循环的基本结构:
然后我例子代码的反汇编为:
4 while循环|
例子代码为:
int sum(int b){ int c, i=0; c = 0; while(i < 4){ c += b; } return c; }
while反汇编的基本结构为:
上述代码反汇编的结果为:
5 if-else分支判断:
例子代码的c语言为:
int sum(int b){ int c, i=0; c = 0; if(i<0){ c = -1; }else if(i<1){ c = 1; }else if(i<3){ c = 3; } return c; }
if-else分支的基本结构:
然后上述代码的反汇编结果为:
6 switch-case 判断分支:
int sum(int b){ int c, i=0; c = 0; switch(i){ case 1: c = -1; break; case 2: c = 0; break; case 3: c = 1; break; default: c = 2; } return c; }
反汇编结果很直接:
7 使用结构体:
结构体的例子代码:
int sum(int b){ jack j; pjack pj = &j; j.one = 1; j.two = 2; pj->one = 3; pj->two = 4; return pj->two; }
结构体反汇编代码:
相关文章推荐
- 如何快速查看将C反汇编的代码
- 如何快速查看将C反汇编的代码
- 如何快速查看将C反汇编的代码
- 如何快速查看将C反汇编的代码
- 如何快速查看将C反汇编的代码
- 如何在Source Insight中查看ARM的汇编代码
- 在vc6.0里面如何查看汇编代码
- vs平台如何查看汇编代码
- 如何在Dev c++中查看程序生成的汇编代码
- 如何快速查看并定位网页元素代码
- Linux复习总结---如何查看汇编代码
- 如何在Delphi里面查看程序的汇编代码?
- 如何快速的查看一段代码的执行时间
- vs2010 如何快速查看 别人工程代码
- 如何最快速的找到页面某一元素所绑定的点击事件,并查看js代码
- 如何查看cl编译器生成的汇编代码
- 如何在Code::Blocks下查看程序的汇编代码
- 如何用VS2010查看汇编代码
- vs2010 如何快速查看 别人工程代码
- 如何查看JAVA程序的汇编代码