saga's blog

突出重点,系统全面,不留死角

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  33 Posts :: 2 Stories :: 185 Comments :: 0 Trackbacks

公告

QQ:34O859O5

常用链接

留言簿(15)

搜索

  •  

积分与排名

  • 积分 - 196297
  • 排名 - 111

最新评论

阅读排行榜

评论排行榜

     如题,在c语言中插入汇编能提高效率,可是在其中调用api函数的压栈出栈顺序和方法我没弄明白,网上的资料难搜.感觉都没说明白.望知道的人给个帮助.详细的给我讲解一下.或者告诉我去哪找资料.万分感谢.
posted on 2006-04-17 08:37 saga.constantine 阅读(1334) 评论(7)  编辑 收藏 引用 所属分类: Help

Feedback

# re: [求助]急求关于在vc6.0中插入的汇编语句调用api函数的具体方法 2006-04-17 09:56 任我行
汇编学了些,但没有学好。略懂皮毛。
api函数的压栈出栈和一般函数的压栈出栈没有什么不同吧。这个问题找找汇编知识应该有提示。压栈就是保存现场,也就是保存现在的CPU寄存器,出栈就是恢复现场。  回复  更多评论
  

# re: [求助]急求关于在vc6.0中插入的汇编语句调用api函数的具体方法 2006-04-17 10:34 小明
最简单的方法,先用C写好调用API的代码,然后看编译器生成的代码,你抄就好了。  回复  更多评论
  

# re: [求助]急求关于在vc6.0中插入的汇编语句调用api函数的具体方法 2006-04-17 10:56 saga.constantine
谢谢任我行与小明
我就是想弄明白调用的过程实质,我知道可以用c写好了在一转就可.但是还是有形无神不知道怎么去改!!!特别是写shellcode的时候!!  回复  更多评论
  

# re: [求助]急求关于在vc6.0中插入的汇编语句调用api函数的具体方法 2006-04-17 11:40 小明
http://www.cppblog.com/sandy/archive/2005/12/14/1745.html

我写的这篇文章,希望能够帮助到你  回复  更多评论
  

# re: [求助]急求关于在vc6.0中插入的汇编语句调用api函数的具体方法 2006-04-17 11:58 任我行
你的函数中需要用到哪些寄存器就需要进栈保存这些在函数调用前的值,
比如:mov ecx 0ffff;
如果你在函数用用到ecx这个东西,那你就需要进栈保存它,
push ecx
函数调用完,然后
pop ecx
一般不用理会这些,编译器会在函数调用前帮你做这些的。
  回复  更多评论
  

# re: [求助]急求关于在vc6.0中插入的汇编语句调用api函数的具体方法 2006-04-17 13:11 沐枫
参考小文:http://ly4cn.cnblogs.com/archive/2006/04/06/368210.html
里面的MASM是6.14,不知道vc6带的是不是这个版本?(可以dos下打入ml 查看)。
如果是的话,就可以在嵌入汇编中使用文中的api定义和调用了。
这就非常方便。
  回复  更多评论
  

# re: [求助]急求关于在vc6.0中插入的汇编语句调用api函数的具体方法 2011-03-15 15:03 liyqxtu
__asm{
你所写的汇编语句
}  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理