能力值:
(RANK:260 )
|
-
-
2 楼
你说的这个修改资源就可以做到。
VB程序用能用的资源修改工具有可能遇到无法正确解析资源的问题,可以试一下专用工具GetVBRes
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
GetVBRes 我有用过,但并无法将 String 增加长度.
我之前在 VB 程序以外的方法,如 C,Delphi ....
我是在程序找 00 的空间,再重新修正原 String 的 RVA 及 Raw Address 就可解决,
但是我在 VB 的程序上找不到 VB Form.Caption 所对应的 RVA,
找到 String 所在的 Raw Address 但转换成 RVA 却找不到,
不知是不是 VB 程序的 RVA 跟 Raw Address 算法跟 C,Delphi ... 不同.
|
能力值:
(RANK:260 )
|
-
-
4 楼
说实话,VB的东西有它自己的一套结构,并不采用标准的对话框资源等。
如果GetVBRes不行,我记得不有一个VBLocalize的工具,不过这个没用过。
另外,我想起一个可能有用的事,VB里的字符串可不是C风格的以0结尾的字节数组
首先,VB用的是宽字符
其次,VB是弱类型的语言,所有数据类型都被转化为Variable类型(是叫这个名吧,记不清了,可以看看COM的书),所以直接修改字符串的方式是行不通的。
至于VB资源格式的解析,我没有找到公开的文章,但从VBExplorer等工具可以说明一定有人掌握了VB的资源解析。用VBExplorer甚至可以像VB开发环境那样有属性框等,不过我试了后发现不能保存。
如果能找到该软件的作者就好了。
|
能力值:
(RANK:260 )
|
-
-
5 楼
看下这篇文件有没有用。
我这里网页打不开,这是谷歌的缓存的。
http://203.208.39.99/search?q=cache:5DfNle4uPZ4J:tim37021.wordpress.com/2008/01/29/%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9-vb-%E7%A8%8B%E5%BC%8F%E5%AD%97%E4%B8%B2/+%E4%BF%AE%E6%94%B9VB&hl=zh-CN&ct=clnk&cd=7&gl=cn&st_usg=ALhdy28lwLAZl65yMxjWc-rZFim43vUqOA
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
您给的网页我也打不开.
您说的 VBExplorer 我也有用过,
不过 VBExplorer 也只能多几个 String 而以,也是有 String 个数的限制.
我是有研究出 VB String 的格式
VB Form.Caption 用 Ascii String,找得到 Raw Address 但反算成 RVA 却找不到.
VB 其它的 String 用 Unicode String,格式是 "String长度,String内容,00 00"
但 VB Form.Caption 后面的 00 空间不足无法容纳自定义的 String 长度,
所以若能找一个新的 00 大空间,再更改相对应的 RVA 及 Raw Address,
就可以乾坤大挪移的自定义 String 的长度.
不是要对单一 VB 软件处理,想改任何 VB 软件的 Form.Caption String 长度.
假如 OD 能断在 VB Form.Caption 处,
那么将 VB Form.Caption 所指的 RVA 地址更改到新的很多 00 空间的 RVA 再反转成 Raw Address.
|
|
|