首页
社区
课程
招聘
数据段写代码
发表于: 2010-4-17 19:29 2788

数据段写代码

2010-4-17 19:29
2788
请问在数据段里面写代码,怎样正常编译,用ML编译。
如:
.data
mov edi,eax
call next                         \\想把后面的数据入栈
db "thisismyfirsttime",0
next:
pop esi
mov ecx,18

怎么样让这段代码用ML编译通过。或者有没有可能。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 17
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
用ML /C /COFF 编译时产生错误,想知道怎么写才没有错误
2010-4-17 19:33
0
雪    币: 2523
活跃值: (520)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
sub esp,xxxx
mov [esp],yyyyyyyy
……

或push yyyyyyyy
……
2010-4-17 20:45
0
雪    币: 594
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你可以这样做:
.386
.model flat, stdcall

extrn MessageBoxA : PROC
extrn ExitProcess : PROC

.data
szMsg      db "thisismyfirsttime",0
szDlgTitle db "Title",0

.code

start:

push MB_OK
push offset szDlgTitle
push offset szMsg
push 0
call MessageBoxA

push 0
call ExitProcess

end start


或者这样:

.386
.model flat, stdcall

extrn MessageBoxA : PROC
extrn ExitProcess : PROC

.code

start:

jmp @f
szMsg      db "thisismyfirsttime",0
szDlgTitle db "Title",0

@@:
push MB_OK
push offset szDlgTitle
push offset szMsg
push 0
call MessageBoxA

push 0
call ExitProcess

end start
2010-4-18 13:33
0
雪    币: 17
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
请大家看清楚点,代码写在数据段里,不是写着代码段了啊,代码写在数据段才能顺利编译通过啊。或者是怎么写啊。
2010-4-18 14:57
0
雪    币: 594
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
昏,.....

代码写在数据段里是不能顺利编译通过的!

代码只能写在代码段.code里.

数据可以在数据段.data里 (看我写的第一个代码),或者是藏在代码段里 (看我写的第二个代码)...
2010-4-18 15:14
0
游客
登录 | 注册 方可回帖
返回
//