破解工具: 请到这里下载
1518占卜大师:请到这里下载
进入正题,开始破解1518占卜。
首先将下载下来的apk,拷贝到apk508目录下,如下图:
运行crack.bat,输入字符c并回车,输入要破解的文件名并回车,输入字符d并回车开始反编译,如下图:
可以在apk508目录下的cracked目录下看到反编译的结果。
输入字符a并回车,进行重编译、签名、对齐。最后,输入字符i并回车,安装到虚拟机或手机。如下图:
之后运行程序,发现有如下提示:
怎么办?没关系,既然是破解嘛,就搞定它先。记住上面的字符“如果您看到本提示”,在反编译后的目录里面找到res\values\strings.xml,打开并搜索刚才看到的字符,如下图:
使用notepad++的在文件中查找功能,查找verApkSign1, 如下图:
会找到public.xml,如下图:
双击打开public.xml,在反编译目录中,搜索0x7f0700c7,如下图:
搜索结果如下图:
会发现,找不到其他的smali文件,那么就搜索verApkSign_title的值0x7f0700c6,会找到如下的结果:
可以看到找到了MainActivity.smali,真好呀。双击打开吧。
可以看到,当v0中的值不等于0时,会跳到cond_4执行。那么如果v0中的值为0,就执行下面的代码段,于是对话框就出现了。怎么办呢?不管什么条件,直接跳到cond_4执行就行了,修改后如下:
修改后,保存。重新进行编译、对齐、签名,之后安装。运行,是不是没有那个“非官方版本”的提示了!
不过,在使用时,你会发现每当用一次,就提示消耗了几只香,是吧?在strings.xml中找找这个字符串。可以找到如下的东东:
<string name="jifen_spendToast">已消耗%1$d枝香数,您目前香数为:%2$d</string>
<string name="jifen_addToast">已增加%1$d枝香数,您目前香数为:%2$d</string>
那么好了,首先找到这些字符串的ID,在public.xml中,然后搜索其在smali文件中的位置。会找到:
<public type="string" name="jifen_spendToast" id="0x7f070050" />
<public type="string" name="jifen_addToast" id="0x7f070051" />
然后,搜索0x7f070050,会找到:
打开f.smali,往下看,你会看到:
是整数的减法,那么改成加法就得了呗。
保存之后,编译、安装。是不是发现每用一次,香数就增加了!!!
下面是去广告了,先用第一种方法,就是改变广告条的高度和宽度。在xml文件中搜索adview发现没有找到,于是搜索ad,发现了。
重新搜索uyun_ad_view,结果如下:
剩下的我就不多说了。
另一种方法是更改smali文件。在smali文件中搜索connectivity,结果如下:
上面的几个文件是正常的访问,最后的几个是广告需要的连接。依次打开,当广告要了解是否联网时,返回无连接就OK了。
将其注释就Ok了。
将其直接使用goto跳到cond_0就ok了。如下图:
直接将其注释掉。
将其直接使用goto跳到cond_3就oK了。
更改完成之后,保存,编译,安装。安装周后还是有广告,看来直接跳过是不行了,那么在上述文件中,直接返回0就ok了。
当然了,你可以用菜单中的去除广告选项,这样不是减了100支香,而是加了100枝香,呵呵。
使用之后,会发现有每日的生日提醒,怎么办?搜索
Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
找到与广告相关的nofiticationmanager,然后改为Landroid/app/NotificationManager;->cancel(I)V就OK了。
OK,打完收工。