首页
社区
课程
招聘
[旧帖] [求助]VC内联汇编的问题 0.00雪花
2008-1-3 19:41 3890

[旧帖] [求助]VC内联汇编的问题 0.00雪花

2008-1-3 19:41
3890
void test()
{
__asm{
}
}
没有问题

__asm{
}
void test()
{
}
报错

现在想把__asm中编译后的机器码拷另一个进程,有什么办法?

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
szdbg 5 2008-1-3 20:20
2
0
char *pAddr=(char *)test;
然后就可直接取这个函数的机器码了
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jronald 2008-1-3 20:21
3
0
那不知道取多少字节啊
而且这段汇编代码要先初始过,写作函数好像很麻烦
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
szdbg 5 2008-1-3 21:11
4
0
宁可取多,不可取少,取多一点,一般来说不会有什么问题

如果要提取嵌入汇编的机器码,可以在要取机器码的前后定义标识符,然后再提取
雪    币: 260
活跃值: (102)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
firefly 4 2008-1-3 21:38
5
0
可以试试__asm中加个标签,取两个标签的地址,然后计算长度。
char *start_address,*end_address;
__asm
{
           lea eax, dword ptr [start]
           mov start_address, eax
           lea eax, dword ptr [end]
           mov end_address, eax
  start:
           xxx
           xxx
  end:  xxx
}
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jronald 2008-1-3 22:10
6
0
楼上的方法可以的
但是现在我这段汇编代码中某些变量要用外面的代码初始化,能办到吗?
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小熊饼干 2008-1-4 00:26
7
0
call 要怎么写?
游客
登录 | 注册 方可回帖
返回