[难题] 如何从二进制文件中分析并替换文本?

潇洒 2003-06-11 06:00:00

我想应该不少人试过, 用 UE 等文本编辑器把一个 exe 或其它二进制文件打开,
只要搜索其中的纯文本内容并替换成等字节的其它文本, 那么这个 exe 一般都
还可继续使用,被替换部分也可正常显示出来.

现在的问题是如何用程序来实现这个替换过程. 而实现这个功能的最难点就是
如何用程序分析出二进制文件中的纯文本内容并在对应位置进行替换(但不破
坏二进制文件本身的结构).

希望哪位大虾提供一下这方面的资料, 或告知实现的方法.谢!
...全文
200 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
潇洒 2003-06-13
  • 打赏
  • 举报
回复
hehe.. 我开始也想没有那么简单.

但我自己又不晓得如何去解决. 呵. 不知楼上这位大虾有没
用过 FastReport (Delphi 的一个报表控件)...

呵. 我现在就是想实现把那些 frf 中的 繁体换成 简体. 但又不想一个个
文件打开, 然后再人工替换.--因为报表数量太过庞大... :(
pigsanddogs 2003-06-11
  • 打赏
  • 举报
回复
不可能实现的,因为一个字符串或者一个字符属于big5的编码范围你不可能确定他就是big5,
而不是bin中别的内容(比如代码部分)恰巧就属于big5,
需要实现这个功能,必须知道2进制文件格式,比如pe执行文件, 找到其中的资源,然后进行分析替换
潇洒 2003-06-11
  • 打赏
  • 举报
回复
倒. 这就没人理了? 其中转码部分已经解决.
就差的是分析文本.. 并在原位置替换了.
潇洒 2003-06-11
  • 打赏
  • 举报
回复
是啊. 这个我也知道. 可现在关键是没办法从二进制文件里
挑出文本来替换.

呵. 说白了, 我仅仅是想实现把二进制中的[纯文本内容]从 Big5 码
替换成 GB 码. 但如果我对整个二进制文件进行转码操作的话, 就会改动其本身
结构,使得这个二进制文件不能再打开.

所以......... 各位大哥帮个忙啦!!~ 小弟急需啊!
LazyCooly 2003-06-11
  • 打赏
  • 举报
回复
最重要的是你替换的原字符串与新字符串等长

7,787

社区成员

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

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