好友
阅读权限25
听众
最后登录1970-1-1
|
乱码
发表于 2013-3-15 18:08
很早之前就想写这个了,但是没找到合适的对象搞,本次找了个"新英雄管家"练手,其实就简单爆破,0049AEC5处的74改75即可。
由于他的服务器很差,经常挂掉,所以我们把网络验证也retn掉,0048125C处改成retn即可。
好了,爆破就此结束,本文目的是VBS写文件补丁,而非如何爆破,所以下面才是重点。
把0049AEC5用OC之类的偏移量转换器转换为文件偏移,
0049AEC5 => 9a2c5 '此处 74 改 75 (je 改 jne)
0048125C => 8065c '此处 55 改 c3 (push ebp 改 retn)
VBS一般情况下操作文本文件,也就是ascii文件完全没问题,
但是修改16进制文件却很麻烦,常见的方法有"Microsoft.XMLDOM"实现bin与hex的相互转换,但是这样做很麻烦,而且纠结。
在去年的某日,Demon大大教我如何用"ADODB.Stream"读写16进制文件后,我觉得VBS的视野更开阔了。
下面来看看代码(都有注释):
targetFile = "新英雄管家.exe"
Set fso = CreateObject("Scripting.FileSystemObject")
fso.GetFile(targetFile).Copy fso.GetBaseName(targetFile) & "_bak." & fso.GetExtensionName(targetFile)
'备份文件
With CreateObject("ADODB.Stream")
.Charset = "iso-8859-1" '设置字符集,他的编码范围是0x00-0xFF
.Open
.LoadFromFile targetFile '载入文件
.Position = &H9a2c5 '文件偏移 0x9a2c5 处修改 74改75 (je 改 jne)
.WriteText ChrW(&H75)
.Position = &H8065c '文件偏移 0x9a2c5 处修改 55改c3 (push ebp 改 retn)
.WriteText ChrW(&Hc3)
.SaveToFile targetFile, 2 '覆盖原文件
.Close
End With
MsgBox "完成"
下面是挂的源文件 和 VBS破解补丁源码:
管家V7.60.rar
(744.35 KB, 下载次数: 90)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|