发新帖

愤怒的小鸟2破解思路...(求转正)

[复制链接]
3995 1
本帖最后由 wang857198309 于 2015-10-12 23:03 编辑

破解思路:1.首先是签名验证,在Lcom/kunlun/spark/SparkTools;下有GetPackageSignature()Ljava/lang/String;方法,该方法作用获取签名值得md5,思路强行赋值:

return-object v2

改为

const-string v2,”0240bc48ece8dd1dd4367205ebf500a5″ #签名md5 使用原签名log输出
return-object v2

2.文件验证,暂时没找到好的方法,提供个不太好的方法,也是我这次采用的方法,游戏运行时会对apk包做校检
修改验证文件指向路径,获取apk安装路径方法有很多,他这里采用Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;方法来获取路径,

我们把正版的包放到assets目录系并且命为“_data”下面提供在程序运行的时候将_data文件写入到sd卡下面(我提供的压缩文件中默认是data,因为此游戏assets中存在一个data的文件夹,所以命名为_data)

将原来的

iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;

修改为:iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;

new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "/xxxx.apk"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
然后在:Lcom/unity3d/player/UnityPlayerNativeActivity;的oncraet方法的开始添加
invoke-virtual {p0, p0}, Lcom/unity3d/player/UnityPlayerNativeActivity;->outapk(Landroid/content/Context;)V


再在我提供文件中的有个 out.txtt 文件打开复制全部内容,粘贴到这个文件的,的尾部


最后就是,把我提供文件中smali文件夹,复制合并到 反编译目录下的smali文件夹下即可


举报 使用道具

回复

精彩评论2

听鬼哥说故事    发表于 2015-10-13 13:25:43 | 显示全部楼层
转正啦,多多看论坛的资料,好好学习噢,期待学习后新的文章~~

点评

感谢分享,我会努力的  发表于 2015-10-13 18:16

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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