吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 53674|回复: 98
收起左侧

[原创] 记一次诡异的破解过程【我是航空管制官4(ATC4)游戏盗版汉化再封装安装包】

  [复制链接]
firef0x 发表于 2018-1-15 17:58
本帖最后由 firef0x 于 2018-1-17 16:03 编辑

入伙申请区搬运至此。
最近在某论坛看到一个很狗血的东西,有人将“我是航空管制官4”这款游戏进行了破解汉化,然后重新打包,号称免费下载,但是安装的时候要个神马序列号,此序列号售价数十元不等。。。。
关键是这个论坛的人还有这种脑残言论:“XX是盗版下载基地的ATC4资源,我是自购正版并破解汉化的。XX是拿别人作品来卖钱的,仗着版权说事,性质不一样。XX流氓出名了。”


WTF。。。还有这种操作。。。。。

实在看不下去了,于是默默的摸出了很久不用的工具。。。(以前的工具在一次硬盘事故中全丢了,图方便下了个贵坛的虚拟机,一并表示感谢!)
该“盗版Plus”游戏在安装过程需要序列号,安装包只有一个exe,下载地址在此:https://pan.baidu.com/s/1qYk4Y6K,提取码4ek4

首先是分析安装包


可见是NSIS打包的安装包,游戏数据以Overlay的方式,使用7Z LZMA算法压缩保存
用通用解压工具解压报错,看来是使用修改版的NSIS制作的。
既然无法直接解压,那还是上OLLY吧

到序列号输入窗口看看,msgbox方式的提示


使用OllyDbg打开安装包,下断bpx MessageboxA,跑一圈下来风平浪静。。。。额,不是MessageboxA,经验主义还是要不得。
用C32ASM打开看看输入表,果然,MessageBoxIndirectA,再次下断开跑。


断在405477,下一步就是弹出错误信息了,此时在参考中查找错误信息,发现其内存地址7BD700,在此地址加个内存写入断点,看看是什么地方修改了它,顺藤摸瓜。




重新将程序跑起来,一路F9耐心寻找第一次写入错误信息的代码,在此过程中发现了一个有趣的现象
从7BD700这个地址看到,程序释放了一个dll到临时文件夹并加载了它:"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\nsf4.tmp\NSISdl.dll"




度娘了一下,这是NSIS的下载模块,看看堆栈,调用过程中使用了参数"download_quiet",应该是程序调用这个模块下载了什么东西,这在寄存器和堆栈里面也能看到,只是没下到,结果是"HTTP/1.1 404 Not Found"。


继续观察7BD700,出现了下载地址字符串:"http://47.89.26.137:2824/ATC4nin1/V2CN/.z",看到"ATC4nin1",应该不是什么运行所需文件,难道就是验证文件?".z"是什么鬼。。。。


准备再观察一遍,重置程序,下好内存断点,随便输一个序列号开跑。
hehe,果然是在这个地方验证,这种嘲讽性质的序列号当然是404 Not Found咯。


再看看这个地址是哪来的,从堆栈下拉往回看,第一个入栈的调用405D60炒鸡可疑,下断F9继续。


观察两次规律之后,在程序开始使用下载地址填充7BD700之前成功断下,F8跟进,看到逐字节填充7BD700的过程。


F8继续追几步,看到从7F7CBB3开始逐字节读取地址的地方,数据窗口跟随7F7CBB3,找到定义下载地址的字符串。
可以看到下面还用了个del.php删除已用key的字符串,看来这些奇葩为了防止序列号被重复使用也是煞费苦心啊。


因为是通过http协议下载的,为了继续验证,现在只能自己用绿色的服务端,随便新建一个文本文件改名叫stupid.z,内容为了好追踪,就用11223344吧,再把7F7CBB3的下载地址修改成自己的假地址,让它能下到,看程序下一步怎么操作。




当我认为还要继续追踪程序下载后,要继续计算验证码的时候,验证就这么过了。。。这么过了。。。么过了。。。过了。。。了。。。。[笑哭],破解莫名其妙完成!


既然过了也就懒得研究了,注册机神马的肿么写也懒得研究了,知道原理用一些现成的工具就可以实现破解。破解方法文字版如下:

序列号验证地址为:下载"http://47.89.26.137:2824/ATC4nin1/V2CN/"+序列号+".z"
使用cheat engine搜索字符串替换为自建服务器的文件地址即可。
不过为了保险起见,自建服务器的时候文件路径根据原始地址进行调整,保持修改前后长度一致,如:
http://47.89.26.137:2824/ATC4nin1/V2CN/ 替换为
http://192.168.0.1/charpatchxxxxxxxxxx/ 保持长度一致即可。

从路径不难猜出,该站所有的安装包应该都是用的这种弱鸡的验证手法,其他安装包搜索这个IP地址转到内存地址观察后面的路径即可。

以上。

心得:
1.经验主义实在要不得
2.有些验证手段简直匪夷所思,需要在跑调试的过程中多观察,发现异常及时跟进处理,说不定就有意外收获。

看到有人在说没有注册机,可能是我没说清楚,把回帖里面的方法搬运过来,只要他们想不出别的更好的验证方式,这个方法都能变通使用。


安装程序这边,http://47.89.26.137:2824/ATC4nin1/V2CN/只是文件路径,安装程序在这个路径下面下载 序列号.z 这个文件
上面那个字符串共39个字符
按照你的IP,如"http://192.168.163.1:80/"共24个字符,也就是说山寨服务器的路径还要填充15个字符,除开分隔符"/"还差14个
所以要在山寨服务器的物理目录里面新建一个文件夹,输入14个字符,比如,假设山寨服务器根目录是D:\wwwroot,那么新建路径可以为"D:\wwwroot\xxxxxxxxxxxxxx\"(14个x)
山寨序列号也用stupid的话,再在这个文件夹里面新建文本文档改名为stupid.z,里面随意添加至少1个字节的内容(我试过空文件会报错)


然后搜索http://47.89.26.137:2824/ATC4nin1/V2CN/  改为
http://192.168.163.1:80/xxxxxxxxxxxxxx/



安装的时候输入序列号stupid,程序自动会将下载地址填充为http://192.168.163.1:80/xxxxxxxxxxxxxx/stupid.z,验证通过。

总之就是要保证修改的山寨路径总长度为39个字符
因为验证服务器是山寨的,所以路径根据自己IP和端口自行调整到总长度39个字符
山寨服务器里面的.z文件是什么文件名序列号就是什么,不要把序列号修改到程序内存里面去了

PS:那群奇葩居然过来和我谈刑法。。。。。。我也是醉了。。。。。
QQ截图20180117155737.png

免费评分

参与人数 46威望 +1 吾爱币 +60 热心值 +43 收起 理由
m16yjq + 1 + 1 虽然没下载什么,但是把你帖子全看了遍,赞赞赞
sunqq91 + 1 + 1 我很赞同!
木头羊 + 1 + 1 用心讨论,共获提升!
gaybc + 1 + 1 用心讨论,共获提升!
shenjingqq + 1 + 1 热心回复!
XhyEax + 1 + 1 盗版软件说自己是合法的 xswl
jion + 2 我很赞同!
Dicker + 2 + 1 用心讨论,共获提升!
i_stone + 1 + 1 我很赞同!
fengshu + 1 + 1 我很赞同!
傍晚的秋 + 1 + 1 我很赞同!
MXWXZ + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gyy + 1 + 1 热心回复!
ianzsxl + 1 + 1 我早就想说这个论坛了!当时也是找不到这游戏破解版!谢谢大神!
jkl718293 + 1 + 1 用心讨论,共获提升!
Akira丶良哥 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
a81798045 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
p266 + 1 + 1 谢谢@Thanks!
nrtzz + 3 + 1 新思路get 谢谢分享 这破解思路不错
tony198911 + 1 + 1 我很赞同!
md5 + 2 + 1 为楼主点赞
腾云驾雾 + 1 + 1 我很赞同!
欠扁的悠扬 + 1 + 1 我很赞同!
Bon丶Jovi + 1 + 1 我很赞同!
Poner + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
T茎候佳阴T + 1 + 1 热心回复!
Night_月殇 + 1 热心回复!
羽月莉音 + 1 + 1 我很赞同!
可爱的小新萌 + 1 诡异...话说大神注意掩饰下那些联系方式
330377782 + 1 直接系统维护了。。。
just0351 + 1 + 1 楼主V5
傑心 + 1 + 1 用心讨论,共获提升!
朱朱你堕落了 + 1 + 1 麻烦楼主把未破解的发一下,拿来练练手。
shuiyu + 1 热心回复!
mmww0703 + 1 + 1 所以知道了对方验证服务器的IP?很多大神应该饥渴难耐了。。。。
老虎爱吃素 + 2 + 1 热心回复!
hcloveld + 1 + 1 用心讨论,共获提升!
ahmeijian + 1 + 1 谢谢@Thanks!
yhw231 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lt470615180 + 1 + 1 谢谢@Thanks!
任性不认命 + 1 + 1 热心回复!
jaffa + 1 谢谢@Thanks!
夏雨微凉 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Sonui + 1 + 1 用心讨论,共获提升!
旋木过流年 + 1 + 1 用心讨论,共获提升!
msoayu56 + 1 + 1 垃圾晨光!顶我楼主!(晨光在贴吧有号)

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| firef0x 发表于 2018-1-16 17:47
本帖最后由 firef0x 于 2018-1-16 17:50 编辑

改错了也架错了
服务器端的IP地址填自己的IP“192.168.163.1”,虚拟目录这边新建名称为"/",物理路径自己指定,比如"D:\wwwroot",其他的名称可以全部删掉。

然后安装程序这边,http://47.89.26.137:2824/ATC4nin1/V2CN/只是文件路径,安装程序在这个路径下面下载 序列号.z 这个文件
上面那个字符串共39个字符
按照你的IP,"http://192.168.163.1:80/"共24个字符,也就是说山寨服务器的路径还要填充15个字符,除开分隔符"/"还差14个
所以要在山寨服务器的物理目录里面新建一个文件夹,输入14个字符(比如14个x),比如"D:\wwwroot\xxxxxxxxxxxxxx\"
山寨序列号也用stupid的话,再在这个文件夹里面新建文本文档改名为stupid.z,里面随意添加至少1个字节的内容(我试过空文件会报错)


然后搜索http://47.89.26.137:2824/ATC4nin1/V2CN/  改为
http://192.168.163.1:80/xxxxxxxxxxxxxx/

安装的时候输入序列号stupid,程序自动会将下载地址填充为http://192.168.163.1:80/xxxxxxxxxxxxxx/stupid.z,验证通过。

总之就是要保证修改的山寨路径总长度为39个字符
因为验证服务器是山寨的,所以路径根据自己IP和端口自行调整到总长度39个字符
山寨服务器里面的.z文件是什么文件名序列号就是什么,不要把序列号修改到程序内存里面去了
791805 发表于 2018-1-17 14:28
我边看边在下游戏,等看完,最后告诉我注册机没有,我去!哭了!
zeknight 发表于 2018-1-16 16:50
旋木过流年 发表于 2018-1-15 22:17
好像有点厉害
夏雨微凉 发表于 2018-1-15 23:25
很详细,感谢楼主
wangdongchao 发表于 2018-1-16 00:50
不错不错啊,不错不错不错不错不错
OOP 发表于 2018-1-16 00:54
哈哈哈,以为大戏要开始,结果直接结束了
HMRX123 发表于 2018-1-16 01:06
感谢楼主 正想玩第四代 三代都玩烂了
kmwell 发表于 2018-1-16 08:15
学习了,楼主厉害
nl2008yx 发表于 2018-1-16 08:20
感谢发布原创作品,吾爱破解论坛因你更精彩
倚风观澜 发表于 2018-1-16 08:30
学习了,楼主分析的很细致!!!
lt470615180 发表于 2018-1-16 08:31
谢谢楼主,真心被他气的半死,有苦于不会破解,看到楼主把他给破了,真心爽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 13:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表