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

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

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

__asm{
}
void test()
{
}
报错

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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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

如果要提取嵌入汇编的机器码,可以在要取机器码的前后定义标识符,然后再提取
2008-1-3 21:11
0
雪    币: 260
活跃值: (102)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
可以试试__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
}
2008-1-3 21:38
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼上的方法可以的
但是现在我这段汇编代码中某些变量要用外面的代码初始化,能办到吗?
2008-1-3 22:10
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
call 要怎么写?
2008-1-4 00:26
0
游客
登录 | 注册 方可回帖
返回
//