标题: vb问题(2)
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2004-12-27 13:31 资料 个人空间 短消息 看全部作者 QQ
麻烦问一下:假如将一个十六进制的文件(比如英杰传的main.exe)取文件号为#1,那么将该文件地址为0x030FBC的地方改为FF,问语句是什么?谢谢!


顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-7 13:46 资料 个人空间 短消息 看全部作者 QQ
本人调用了你们所说的语句,发现0x30FBC与0x30FBD都被改成了00(如图所示)
怪哉!Help!


图片附件: jsyx.jpg (2005-1-7 13:46, 111.08 K)



顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-8 15:47 资料 个人空间 短消息 看全部作者 QQ
Put 200636,255
Put 200637,255
Put 200637,&HFF
Put &H30FBC,&HFF
Put &H30FBD,&HFF
我就试了这几种,每试完一种后都用原来的main.exe还原改过的main.exe!可就是30FBC=00,30FBD=00!
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-9 10:17 资料 个人空间 短消息 看全部作者 QQ
哈哈,终于成功了!
[Put &H30FBD Cbyte(255)]
为表示感谢,送给van和maxwell每人10通宝。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-10 12:30 资料 个人空间 短消息 看全部作者 QQ
但是引发了下一个问题:
虽然30FBC被成功地改成了FF,但30FBD被改成了00(原值是04)!


图片附件: jsyx1.jpg (2005-1-10 12:30, 109.91 K)

顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-19 13:48 资料 个人空间 短消息 看全部作者 QQ
继续 ask for help
本人做了个实验:
在VB里执行下列语句:
Private Sub Com1_Click()
Open "d:\sgzyjz\Main.exe" For Binary As #1
Dim a As String * 1
Get #1, &H30FBD, a
Debug.Print a
End Sub
结果不是"v",而是空格!Why?
(事先确定30FBC=76)
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-20 12:15 资料 个人空间 短消息 看全部作者 QQ


QUOTE:
原帖由Maxwell于2005-01-19, 14:36:35发表

QUOTE:
原帖由阿尔法孝直于2005-01-19, 13:48:54发表
继续 ask for help
本人做了个实验:
在VB里执行下列语句:
Private Sub Com1_Click()
Open "d:\sgzyjz\Main.exe"
For Binary As #1
Dim a As String * 1
Get #1, &H30FBD, a
Debug.Print a
nd Sub
结果不是"v",而是空格!Why?
(事先确定30FBC=76)

这里有点问题吧

按照十六进制的表示方法,第一字节是0,而按照VB的表示方法,第一字节是1
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-20 12:19 资料 个人空间 短消息 看全部作者 QQ


QUOTE:
原帖由van于2005-01-19, 20:54:26发表
那你把a转成byte数组,看看首元素是多少?

将它改了一下:
Private Sub Com1_Click()
Open "d:\sgzyjz\Main.exe" For Binary As #1
Dim a As Byte
Get #1, &H30FBD, a
Debug.Print a
End Sub
结果不是118,而是0
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-20 12:35 资料 个人空间 短消息 看全部作者 QQ


QUOTE:
原帖由van于2005-01-20, 12:22:16发表
那估计是路径错了。你看看lof(1)是不是0,是0就说明没有找到文件

d:\sgzyjz\main.exe确实存在。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-20 12:44 资料 个人空间 短消息 看全部作者 QQ


QUOTE:
原帖由van于2005-01-20, 12:20:58发表
刚才copy了你的代码试了一下,是“v”啊,不应该出问题的

你瞧,一个空格!(红圈处)


图片附件: error6.jpg (2005-1-20 12:44, 99.72 K)

顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-20 12:49 资料 个人空间 短消息 看全部作者 QQ
30FBC确实等于76("v")


图片附件: jsyx2.jpg (2005-1-20 12:49, 161.34 K)

顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-20 12:54 资料 个人空间 短消息 看全部作者 QQ
简单文件可以正常读。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-21 10:50 资料 个人空间 短消息 看全部作者 QQ
防止二次打开文件产生错误。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-21 12:08 资料 个人空间 短消息 看全部作者 QQ


QUOTE:
原帖由van于2005-01-20, 13:07:04发表
你把一开始的Close移到Debug后面去。为什么一开始要close而最后反而不用呢?

我按照你的建议,改了一下:

Private Sub Com1_Click()
Open "d:\sgzyjz\main.exe" For Binary As #1
Dim a As String * 1
Get #1, &H30FBD, a
Debug.Print a
Close #1
End Sub

结果仍然是空格
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-22 10:58 资料 个人空间 短消息 看全部作者 QQ
VB测试文件包


附件: MicrosoftVisualStudio.rar (2005-1-22 10:58, 1.05 K)
该附件被下载次数 141
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-22 21:46 资料 个人空间 短消息 看全部作者 QQ
把main.exe给你吧


附件: main.exe (2005-1-22 21:46, 240.74 K)
该附件被下载次数 129
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-24 07:54 资料 个人空间 短消息 看全部作者 QQ


QUOTE:
原帖由loranrowe于2005-01-23, 9:58:23发表
上传的main.exe文件的30FBD处数据为0x00显示出来当然是0了
程序没有任何其他问题

我不是讲过了吗,金山游侠读文件第一字节编号为0(0x000000),而VB读文件第一字节编号为1。所以金山游侠读出的0x030FBC处等效于VB读出的&H030FBD处(0x30FBD)。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-1-24 07:55 资料 个人空间 短消息 看全部作者 QQ


QUOTE:
原帖由Maxwell于2005-01-23, 11:18:39发表
看他上传的图上金山游侠好像没有保存按钮,所以很怀疑是因为没存盘的问题。

用金山游侠修改文件是自动保存的。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-2-6 19:26 资料 个人空间 短消息 看全部作者 QQ
本人又编了一个程序(如图),结果运行时连续按下按钮,在窗体上连续打出N个"0",不知为什么。


图片附件: VBerror.jpg (2005-2-6 19:26, 73.38 K)

顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-2-6 19:34 资料 个人空间 短消息 看全部作者 QQ
对不起,30FBC本来就等于00
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6043
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2005-2-6 19:45 资料 个人空间 短消息 看全部作者 QQ
今天我又运行了一下那个程序(就是我写在这个主题上的第一个程序),嘿,竟然好了!难道以前是因为VB运行库出问题了?
顶部

正在浏览此帖的会员 - 共 2 人在线




当前时区 GMT+8, 现在时间是 2025-8-8 03:44
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.016383 second(s), 10 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP