如何将16进制数写入二进制打开的文件?

allboy 2004-08-16 02:25:52
比如我有一个16进制的数"E4" 我想写入到2进制的exe文件中 替换到位置为23452345 的 "A3"
应该怎么写
...全文
242 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-08-16
  • 打赏
  • 举报
回复
呵呵,粗心了,too.
laisiwei 2004-08-16
  • 打赏
  • 举报
回复
呵呵,粗心了
BlueBeer 2004-08-16
  • 打赏
  • 举报
回复
Put #1, 23452345, "E4"???

Put #1, 23452345, "&HE4"???

Put #1, 23452345, &HE4'^_^

rainstormmaster 2004-08-16
  • 打赏
  • 举报
回复
//后面直接用"E4"也可以啊?

//我以为要用
Put #1, 23452345, "&HE4"


呵呵,不能加引号
应该是:
Put #1, 23452345, &HE4
laisiwei 2004-08-16
  • 打赏
  • 举报
回复
Put #1, 23452345, "E4"

后面直接用"E4"也可以啊?

我以为要用
Put #1, 23452345, "&HE4"
northwolves 2004-08-16
  • 打赏
  • 举报
回复
直接写:
Private Sub Command1_Click()
Open "E:\temp.exe" For Binary As #1
Put #1, 23452345, "E4"
Close #1
End Sub
hongbo163 2004-08-16
  • 打赏
  • 举报
回复
呵呵,应该是of123写错了把
应该是LOF函数才对把

redim mydata(lof(1))
laisiwei 2004-08-16
  • 打赏
  • 举报
回复
To hongbo163(虫子)
tmp.exe是临时的EXE文件
先放到临时文件里,在改名字


To allboy(allboy)

redim mydata(lef(1))的作用是重新定义mydata()数组的长度
长度为#1文件的长度


allboy 2004-08-16
  • 打赏
  • 举报
回复
redim mydata(lef(1))
请问这句是什么意思
hongbo163 2004-08-16
  • 打赏
  • 举报
回复
后面打开tmp.exe那几句程序是做什么的??
of123 2004-08-16
  • 打赏
  • 举报
回复
dim mydata() as byte

open "yourfie.exe" for binary as #1
redim mydata(lef(1))
get #1,,mydata
close #1

mydata(23452345) = &HE4
open "tmp.exe" for binary as #1
put #1,,mydata
close #1

if dir("tmp.exe")>"" then
kill "yourfie.exe"
rename "tmp.exe","yourfie.exe"
End if

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧