易码技术论坛

 找回密码
 加入易码
搜索
查看: 4468|回复: 44

[工具] VB6编的GVM1简易解释器 [源码] 6/25更新 新增GVM1/2简易反汇编

[复制链接]
发表于 2008-5-11 19:22:15 | 显示全部楼层 |阅读模式
用VB6编了一个GVM1的简易解释器,支持大部分P-Code(可能有bug!!),附带简易反P-Code功能(不会侵权吧!?)现在能玩魔塔、DQM2、Magic、SRW、大富翁等,玩凤凰战斗机有bug,图片都是花的,玩仙境奇缘发现图片偏了8像素,玩着玩着就下标越界(编译后就非法操作)了……

附带源代码,大家看看有什么Bug,给改改……

写好FileList后发现越改Bug越多,现在ChDir有严重Bug,文件读写有隐藏Bug(其他的都行,就GSmaker不正常)……

已经在VB6里面内嵌了汇编,实现了移位和rand算法……
已实现GVM1/2的P-Code识别,GVM2的资源察看/导出/修改(GVM-IDE里面转换为256色竟然没有抖动算法!我这个有……),GVM1的反编译功能仍在测试中……

PS:截图没更新!

[ 本帖最后由 acme142857 于 2008-6-25 11:18 编辑 ]

GVM1 DisP-Code

GVM1 DisP-Code

解释器测试

解释器测试

GVM2资源察看

GVM2资源察看

GVM2 DisP-Code

GVM2 DisP-Code

反编译!!(Beta)

反编译!!(Beta)

WQXdecomp.part1.rar

478.52 KB, 下载次数: 682

WQXdecomp.part2.rar

448.63 KB, 下载次数: 648

发表于 2008-5-11 19:24:57 | 显示全部楼层
厉害,LZ是隐藏高手?
 楼主| 发表于 2008-5-11 19:39:39 | 显示全部楼层
刚来的,以前在VB论坛逛,最近玩了玩NC3000(NC528),手痒想调Lava的游戏,就编了一个……
发表于 2008-5-11 19:43:12 | 显示全部楼层
厉害,真是厉害

[ 本帖最后由 TYCY 于 2008-6-14 10:50 编辑 ]
 楼主| 发表于 2008-5-11 19:55:17 | 显示全部楼层
遗憾的是,我不用QQ……你可以去www.VBGood.com转转,我在那里叫acme_pjz……
发表于 2008-5-11 20:11:19 | 显示全部楼层
高手果然隐姓埋名····而且不用QQ
 楼主| 发表于 2008-5-11 20:21:44 | 显示全部楼层

回复 6# 的帖子

我没空用啊 :=/  ……

还有哪个知道rand的算法?我看到还有其他人也发过解释器的……
发表于 2008-5-11 21:02:38 | 显示全部楼层
厉害,支持,能不能给源码加上注释,我刚学VB,有些不太懂,尤其有API的话给说明白些,没有最好
 楼主| 发表于 2008-5-11 21:25:56 | 显示全部楼层
注释的话,主要就是GVM指令了,好像也没什么好注释的,就是按着那个文件编的……想没有API几乎是不可能事件,因为VB6默认不支持指针,所以要疯狂调用API,而且还很慢……有几个类是图形支持的,不用仔细看……
发表于 2008-5-11 21:40:38 | 显示全部楼层
深藏不露啊~~
发表于 2008-5-12 16:49:36 | 显示全部楼层
太强了。支持啊
 楼主| 发表于 2008-6-14 09:32:12 | 显示全部楼层
大家帮看看源代码,现在我找不出哪些语句有Bug了,可能是算法不对……
发表于 2008-6-14 10:51:11 | 显示全部楼层
支持,更新了
发表于 2008-6-14 12:26:51 | 显示全部楼层
很厉害啊~
发表于 2008-6-14 20:26:12 | 显示全部楼层
厉害,原来VB这么厉害
发表于 2008-6-15 02:05:05 | 显示全部楼层
支持~
不过似乎有bug:

  1. char []s="一二";
  2. void main()
  3. {
  4. prinntf("%s",s+2);
  5. //可以显示
  6. prinntf("%c%c",s+2,s+3);
  7. //无显示
  8. getchar();
  9. //在LVM和WQX上显示效果是一样的
  10. }
复制代码

[ 本帖最后由 FrankHB 于 2008-6-15 02:07 编辑 ]
发表于 2008-6-15 02:09:21 | 显示全部楼层
:SetDate和SetTime。。。貌似什么也没干。。
 楼主| 发表于 2008-6-15 10:32:27 | 显示全部楼层
#16的程序我试了,确实……不过好像是字库的问题……Chr(2)和Chr(3)在VB里面竟然显示得出来……

SetDate和SetTime是我把这两个函数给屏蔽了,免得电脑时间被调乱……不过我偷懒没在解释器里面加一个内部时间……
 楼主| 发表于 2008-6-21 22:37:52 | 显示全部楼层
又更新了!添加反编译功能供测试用……现在有个问题就是怎么识别流程控制结构呢?还有非char的数组识别问题……
发表于 2008-6-21 23:15:00 | 显示全部楼层
若是编译器能转到其它移动设备上就好了,论坛里另一个java的好多手机都不支持
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-27 02:37 , Processed in 0.012733 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表