汇编代码对应的高级语言分析
来源:互联网 发布:陕西信合网络 编辑:程序博客网 时间:2024/05/22 02:52
该程序使用c++编写
0053C9C0是一个对象指针
0053C9C4也是一个对象指针
mov ecx, xxxxxxxx
call xxxxxxx 这种形式一般都是调用成员函数,没有重载的非虚函数
mov ecx,aaaaaaaaaa
mov eax,[ecx]
call [eax+xxxxx] 一般是调用重载过的函数,因为要取虚函数表
如果发现
call [reg+xxxx] 前面的那个ecx不等于对象地址,或者对象地址压栈,则极可能是调用类的静态虚函数。
cmp ?,imm
ja xxxxxxxxxx
sub ?,imm
jmp [xxxxxxxx+?*4] 顺序数的switch,xxxxxx一般在函数后面的不远处 ja 跳转的地址是default
mov [ebp-xxx],imm
jmp xxxxxxxx
zzzzzzzzzz .....calc with [ebp-xxx]
cmp [ebp-xxx],imm (reg or param or localvar )
jge/je/..... yyyyyyyyy
xxxxxxxx some codes
表示 for([ebp-xxx]=imm;条件(取决于比较和跳转);每次循环执行的操作(取决于calc)){}
后面的花括号在yyyyyyyyy的上一句,是一个jmp回zzzzzzzzzz的语句。
xxxxxxxxx cmp var,var
跳转 yyyyyyyyyy
somecode
jmp xxxxxxxxx
yyyyyyyyyy some codes
while(){}的汇编形式
cmp
跳转 a1
cmp
跳转 a2
a1:somecodes
a2:somecodes
a3:
if( s1 || s2 )a1;
如果a1结束是
jmp a3
则
if(s1||s2)a1 else a2;
如果 两个或者多个条件跳转到另外的地址,而不是最后的条件下面的地址就是 && 连接条件。
0053C9C0是一个对象指针
0053C9C4也是一个对象指针
mov ecx, xxxxxxxx
call xxxxxxx 这种形式一般都是调用成员函数,没有重载的非虚函数
mov ecx,aaaaaaaaaa
mov eax,[ecx]
call [eax+xxxxx] 一般是调用重载过的函数,因为要取虚函数表
如果发现
call [reg+xxxx] 前面的那个ecx不等于对象地址,或者对象地址压栈,则极可能是调用类的静态虚函数。
cmp ?,imm
ja xxxxxxxxxx
sub ?,imm
jmp [xxxxxxxx+?*4] 顺序数的switch,xxxxxx一般在函数后面的不远处 ja 跳转的地址是default
mov [ebp-xxx],imm
jmp xxxxxxxx
zzzzzzzzzz .....calc with [ebp-xxx]
cmp [ebp-xxx],imm (reg or param or localvar )
jge/je/..... yyyyyyyyy
xxxxxxxx some codes
表示 for([ebp-xxx]=imm;条件(取决于比较和跳转);每次循环执行的操作(取决于calc)){}
后面的花括号在yyyyyyyyy的上一句,是一个jmp回zzzzzzzzzz的语句。
xxxxxxxxx cmp var,var
跳转 yyyyyyyyyy
somecode
jmp xxxxxxxxx
yyyyyyyyyy some codes
while(){}的汇编形式
cmp
跳转 a1
cmp
跳转 a2
a1:somecodes
a2:somecodes
a3:
if( s1 || s2 )a1;
如果a1结束是
jmp a3
则
if(s1||s2)a1 else a2;
如果 两个或者多个条件跳转到另外的地址,而不是最后的条件下面的地址就是 && 连接条件。
- 汇编代码对应的高级语言分析
- 汇编代码对应的高级语言分析
- 高级语言的一段汇编代码分析
- 汇编与高级语言对应
- 从高级语言到汇编代码 《Linux内核分析》笔记
- c语言控制语句对应的汇编语句代码
- c语言控制语句对应的汇编语句代码
- 高级语言函数调用的反汇编分析
- 如何将C语言代码转换为对应的汇编代码?
- ARM下的C语言函数和对应的汇编代码
- 一段C语言和汇编的对应分析,揭示函数调用的本质
- C++普通函数对应的汇编代码
- C++继承对应的汇编代码
- 从fibonacci数列对比C语言和其对应的汇编代码
- 高级语言及汇编的数组面相
- 高级语言程序的汇编解析
- 汇编与高级语言
- 汇编与高级语言
- CEOWEN百度视频小偷 V1.0 beta
- 检查非法字符
- 得到用户的ip地址
- 检查被提交的数据来源
- 大唐集团获300亿贷款 TD资金困局缓解
- 汇编代码对应的高级语言分析
- 打印
- 用VB将ASP代码封装成DLL
- sql server 2000 导入 oracle9i 后表不能用select查询数据的解决办法
- C# 窗体间调用
- 昨天的梦
- 感恩—父亲节、母亲节由来及日期
- 企业信息化咨询的钱哪去了[转]
- Steven