旅行青蛙逆向破解的自我实践之旅
作者:CQITer小编 时间:2018-03-08 16:46
下面就开始了此次的心路历程:
首先是看到了https://paper.seebug.org/519/,参照其中
1.下载游戏安装包修改后缀为zip可用解压工具打开,发现存在 assets\bin\Data\Managed 目录(判断游戏应该为Unity游戏的一个特征)。据说此类游戏主要逻辑代码在 Assembly-Csharp.dll 中,所以主要分析的就是这个。


得知此类游戏为unity3d开发后(好像和传统的安卓逆向有些不同),在代码未混淆加密的情况下可以用.net的逆向工具dnspy分析其中的dll文件。 很幸运这里没有加密。工具自行百度吧,从官网还是挺好下的。这里稍稍拯救下伸手党:点此下载。
打开Assembly-Csharp.dll后大概长这样。 如果为英文看着比较费劲,可以在视图中切换成中文。

第一眼还是有点不知所措,现在参考前面的教程可发现,他的思路是从抽奖券开始的,首先发现在抽奖券不足时会提示一串文字,看不懂没关系,能看到其中有个“足”字就ok。

这时如果没有更改界面,可以在旁边看到搜索框,选中当前的dll文件,再选择搜索字符串,搜索“足”即可发现找到了两个匹配项。

这里可猜测第一个是和抽奖券有关(字都一样好嘛),

第二个猜测和三叶草的数量有关(别问我咋猜的)

可看到这里有和抽奖券类似的判断


所以这里参照各种大佬的教程先从抽奖券开始吧
由于这里可以看到是对TicketStock()进行的判断,

点击即可跳转到相关方法,猜测这里表示奖券的库存,

可看到是返回的
return SuperGameMaster.saveData.ticket; 再点击



