VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 3595|回复: 5

ASMCode的编法?

[复制链接]
 楼主| 发表于 2010-8-31 09:00:54 | 显示全部楼层 |阅读模式
今日。在网上看到了一个VB内镶嵌汇编的例子,
代码如下:

  1. ReDim AsmCode(1 to 7)
  2.       AsmCode(1) = &H58      'POP EAX
  3.       AsmCode(2) = &H59      'POP ECX
  4.       AsmCode(3) = &H59      'POP ECX
  5.       AsmCode(4) = &H59      'POP ECX
  6.       AsmCode(5) = &H59      'POP ECX
  7.       AsmCode(6) = &H50      'PUSH EAX
  8.     '中间这部分是要进行操作的机器码
  9.       AsmCode(7) = &HC3      'ret
  10. CallWindowProc ByVal VarPtr(AsmCode(1)), 0, 0, 0, 0
复制代码

其余的机器码是什么?如Nop的,Sub的,Add的?
发表于 2010-8-31 12:50:46 | 显示全部楼层
NOP 是 90H,Sub 和 Add 要看是哪条指令,根据操作数的类型的不同,同一个助记符对应不同的指令。对于 16 位,可以用 Debug 逆一下,32位的话用 IDA Pro 或 OllyDbg 吧~
回复 支持 反对

使用道具 举报

发表于 2010-8-31 14:33:24 | 显示全部楼层
我之前是在VC里写好,然后反汇编一下看看...
回复 支持 反对

使用道具 举报

发表于 2010-8-31 15:18:23 | 显示全部楼层
LZ可以用OD写一小段汇编,然后把机器码记下来就行了……
回复 支持 反对

使用道具 举报

发表于 2010-8-31 17:11:24 | 显示全部楼层
3# 仙剑魔

嗯,VC 也可以,而且应该是最直观、最方便的。
回复 支持 反对

使用道具 举报

发表于 2010-9-14 20:48:41 | 显示全部楼层
C32ASM是不错的选择,里面有个可以copy 16进制代码的小工具
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2023-3-22 04:53

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表