首页
社区
课程
招聘
[求助]怎样用VB编程实现对MASM代码单步执行并动态显示当前寄存器,标志位,IP值
2006-4-15 03:17 5264

[求助]怎样用VB编程实现对MASM代码单步执行并动态显示当前寄存器,标志位,IP值

2006-4-15 03:17
5264
  要做毕业设计,要求用VB编一个程序实现对汇编语言的单步运行功能,单步运行时要在所设计的程序的一个文本控件中动态显示当前寄存器,标志位和指令指针的值.
 本人原想用VB的Select Case将汇编代码一行行的处理,判断出操作码后用VB的相应操作符实现.如:遇到MOV AX,12H,则AX=12(当然先在VB里定义名为AX,BX,CX…CS,DS…IP这些变量),不过一想到汇编语言的操作码有100多,而且还有子程序调用,宏定义,系统中断调用,头都大了,感觉这样的虚拟运行不行呀.
  后来看到了Turbo Debuger这个程序,它完全可以在单步运行时显示当前寄存器,标志位和指令指针的值!!!于是想调用Turbo Debuger.但问题是:我怎样把Turbo Debuger中AX,BX,CX…CS,DS…IP的值取出来,放在我的VB程序的文本控件中显示?
  各位大虾,帮帮忙,您认为怎样解决我的这个问题?或者给个别的解决方法.
  本人将万分感谢!!!
 (这个问题我想了两个多星期了,不停地翻书上网寻求解决方法,到现在还没有呀)

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xuanqing 2006-4-15 09:54
2
0
不就是做个gui么?
连Turbo都不用
直接调用debug
分析返回
显示
就ok

不过我是用VC做的
不明白你为什么选VB这么难用的东西做这个事
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
torconly 2006-4-15 13:29
3
0
 用VB是老师要求的,没办法.
我这个毕业设计是在师兄做了部分的基础上做的,他做了个数据窗口和观察窗口
现在要我完成在数据窗口和观察窗口动态显示单步运行时当前寄存器,标志位和指令指针的值.
  直接调用debug我也想,只是这样做的话师兄做的程序界面就没用了,指导老师也不会允许吧.
  各位,小弟再次恳求帮帮忙.
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-4-16 21:35
4
0
在VC中可以简单的内嵌汇编,然后把积存器的值取出,再显示到界面
至于VB怎么实现就不知道了
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
torconly 2006-4-16 22:25
5
0
  VC中内嵌汇编是不是只在VC编程的时候可以嵌入,VC的编程平台有内嵌的汇编编译器,但用VC编出来的应用程序(已经没有那个平台了)里面怎么实现汇编的编译单步执行?
  用VC编程如何实现,版主可否说具体点?感激不尽.
  
  
雪    币: 1272
活跃值: (741)
能力值: ( LV13,RANK:810 )
在线值:
发帖
回帖
粉丝
Anskya 20 2006-4-16 23:12
6
0
看雪论坛出的两本书
<加密解密第二版>
<软件加密技术内幕>
两本书里面都有的~VB如何使用ASM代码
好象还包含了两个VB的控件用来执行ASM用的

去看看这两本书好了..
其实不然仁兄直接把代码写成ShellCode形式的
转换成16进制然后~直接..转换函数指针..
(导师:这是啥??我咋看不懂来着..)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
torconly 2006-4-17 01:37
7
0
谢啦Anskya,<加密解密第二版>,<软件加密技术内幕>这两本书尽力去找找. 
 "把代码写成ShellCode形式的,转换成16进制然后~直接..转换函数指针.."这句话不太懂.
  因为要做的应用程序成品之后,里面有文本控件,用来编写一般的MASM;执行菜单有编译,链接,运行,单步运行选项.点击单步运行,就会对文本控件中的MASM代码单步执行.用另一个文本控件动态显示各寄存器,标志位,IP的实时值.
  这里的"把代码写成ShellCode形式"是指VB开发时写的源码还是……?
  恕我冒昧,可否具体说说"把代码写成ShellCode形式的,转换成16进制然后~直接..转换函数指针"何解?
  导师:呵呵,就是指导老师,做毕业设计的学生都有的.
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-4-17 14:11
8
0
最初由 torconly 发布
里面怎么实现汇编的编译单步执行?
    


使用WIN32调试API,具体可以 参考MSDN
游客
登录 | 注册 方可回帖
返回