首页
社区
课程
招聘
[旧帖] 常见的一些反汇编代码形式[原创] 0.00雪花
发表于: 2007-2-28 08:51 3376

[旧帖] 常见的一些反汇编代码形式[原创] 0.00雪花

2007-2-28 08:51
3376
======================================================================
KERNEL32.DLL系统服务功能,包括内存管理、任务管理和动态链接等。
GDI32.DLL图形设备接口。利用VGA与DRV之类的显示设备驱动程序完成显示文本和矩形等功能。
USER32.DLL用户接口服务。建设窗口和传送消息等。
======================================================================
调用MessageBox函数的方法:
Push uType
Push lpCaption
Push lpText
Push hWnd
Call MessageBox
======================================================================
     Mov cx,1234h
     Cmp flag,1
     Jz @F //本条指令后的第一个@@
     Mov cx,1000h
@@:
     …
     Loop @B//本条指令前的第一个@@
======================================================================
变量类型
名称        表示方式       缩写      长度(字节)
字节        Byte            db         1
字          word            dw        2
双字        dword           dd         4
三字        fword            df         6
四字        qword           dq         8
十字节(BCD)tbyte           dt        10
有符号字节    sbyte                     1
有符号双字    sword                    2
有符号双字    sdword                    4
单精度浮点数  Real4                     4
双精度浮点数  Real8                     8
10字节浮点数  Real10                    10
======================================================================
“HELLO,World!”和”HELLO AGAIN”
szText db ‘Hello,world’,0dh,0ah,’Hello again’,odh,oah,0
TestProc proc
        Local @loc1:dword,@loc2:word
        Local @loc3:byte
        
        Mov eax,@loc1
        Mov ax,@loc2
        Mov al.@loc3
        Ret
TestProc endp
编译后
Push ebp
Mov ebp,esp
Add esp ,FFFFFFF8   //-8
Mov eax,dowrd ptr[ebp-04]
Mov ax,word ptr[ebp-06]
Mov al,byte ptr[ebp-07]
Leave
Ret
======================================================================
Mov esi,offset stWndClass
Mov eax,[esi+WNDCLASS.lpfnWndProc]
存取数据结构
Movzx ax,bTest1
把单字节变量扩展到16位放入AX中。
定义局部变量
Invoke Test ecx,addr szHello
编译后:
Lea eax,[ebp-4]
Push ecx
Push eax
Call Test
=====================================================================
堆栈平衡
Push Var3
Push var2
Push var3
Call SubRouting
Add esp,12
ESP是上加,下减的一个表
从下边入栈,从下边出栈。
ADD ESP,12
这里相当于
POP Var3
POP var2
POP var3
=====================================================================

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
I服了YOU真是搞不懂了!
2007-2-28 15:06
0
游客
登录 | 注册 方可回帖
返回
//