申请会员ID:Vnchow【申请通过】
1、申 请 I D:wwc1370002、个人邮箱:wangwenchaosishen@163.com
3、原创技术文章:手机游戏、软件内购、支付破解教程,功能破解教程、VIP破解教程等
功能破解
拿一个很很多人知道的葫芦侠3楼示范吧,破解其下载电影、游戏前需要分享的功能。
首先我们要使用辅助软件MT管理器
首先用mt管理器选中软件,点查看
由于选择class.dex,由于我们需要破解代码,所以选择编辑代码。
然后选择搜索类,搜索软件出现的关键字关键字:需要分享 搜索方式选择字符串
然后会出现两个(这个软件是这样,其他的软件可能更多)的类,每一个再进行字符串需要分享的搜索,就会出方法名(绝大多数是一个)
咱们打开看看,找到需要分享所在的位置
需要分享的代码属于label_228
那么label_228肯定有成功失败及返回代码(其他的软件或者更多)
通过菜单键搜索可以发现,确实有3个label_228
那么那个是成功代码呢?观察失败代码可以发现
最后有个跳转goto :label_18
而最下面的最后也有个goto :label_18跳转
所以最上面没有跳转的就是成功代码
而且还有一个判断成功失败代码的方法
失败所属的label_228前面的判断是
if-nez 而成功代码前面是if-le所以就知道上面那个是成功代码
(if-nez与if-le判断条件相反)
然后就简单了,复制成功代码覆盖失败代码
返回保存
刚刚搜索有两个类,再去另一个类进行修改
原理一样
最后返回保存,返回再保存
再选择修改后的文件,点签名进行重新签名
这样,软件就破解成功了,不会提示分享了,而是直接进行下载
示例软件http://pan.baidu.com/share/link?shareid=3286399238&uk=1933221637
好了。希望能够通过审核
如果通过审核,会为大家带来更高难度的登录破解、vip破解,方法名(如onResult)、代码如(switch)等破解方法希望大家多多支持
图片有些重复,见谅
图和文字分开看不懂了,能详细用代码说明下过程吗? Hmily 发表于 2015-2-27 15:11
图和文字分开看不懂了,能详细用代码说明下过程吗?
#其他代码
if-eqz v0 :label_228
invoke-virtual {v6} Lcom/huati/gametools/api/data/crack/GameItem;->getShareUrl()Ljava/lang/String;
move-result-object v0
if-eqz v0 :label_228
invoke-virtual {v6} Lcom/huati/gametools/api/data/crack/GameItem;->getShareUrl()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0} Ljava/lang/String;->length()I
move-result v0
const/4 v1 7
if-le v0 v1 :label_228(判断)
#成功代码
invoke-virtual {v6} Lcom/huati/gametools/api/data/crack/GameItem;->getAppID()J
move-result-wide v0
invoke-static {v0,v1} Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
invoke-direct {v5,v0} Lcom/huati/gametools/ui/a/p;->a(Ljava/lang/String;)Z
move-result v0
if-nez v0 :label_228(这行是判断条件)
#失败代码
iput-object v6 v5 Lcom/huati/gametools/ui/a/p;->j:Lcom/huati/gametools/api/data/crack/GameItem;
new-instance v0 Lcom/huati/widget/a/l;
iget-object v1 v5 Lcom/huati/gametools/ui/a/p;->b:Landroid/app/Activity;
new-instance v2 Lcom/huati/gametools/ui/a/y;
invoke-direct {v2,v5,v4} Lcom/huati/gametools/ui/a/y;-><init>(Lcom/huati/gametools/ui/a/p;Lcom/huati/gametools/ui/a/y;)V
invoke-direct {v0,v1,v2} Lcom/huati/widget/a/l;-><init>(Landroid/app/Activity;Lcom/huati/widget/a/n;)V
const-string v1 "该资源需要分享后才能下载。开始分享?"
invoke-virtual {v0,v4,v1} Lcom/huati/widget/a/l;->a(Ljava/lang/String;Ljava/lang/String;)V
const-string v1 "取消"
const-string v2 "确定"
invoke-virtual {v0,v1,v4,v2} Lcom/huati/widget/a/l;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v0} Lcom/huati/widget/a/l;->a()V
goto :label_18
原理就是用成功代码覆盖失败代码
#其他
if-eqz v0 :label_228
invoke-virtual {v6} Lcom/huati/gametools/api/data/crack/GameItem;->getShareUrl()Ljava/lang/String;
move-result-object v0
if-eqz v0 :label_228
invoke-virtual {v6} Lcom/huati/gametools/api/data/crack/GameItem;->getShareUrl()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0} Ljava/lang/String;->length()I
move-result v0
const/4 v1 7
if-le v0 v1 :label_228(这行是判断条件)
#成功代码
invoke-virtual {v6} Lcom/huati/gametools/api/data/crack/GameItem;->getAppID()J
move-result-wide v0
invoke-static {v0,v1} Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
invoke-direct {v5,v0} Lcom/huati/gametools/ui/a/p;->a(Ljava/lang/String;)Z
move-result v0
if-nez v0 :label_228(这一行是判断条件)
#成功代码
invoke-virtual {v6} Lcom/huati/gametools/api/data/crack/GameItem;->getAppID()J
move-result-wide v0
invoke-static {v0,v1} Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
invoke-direct {v5,v0} Lcom/huati/gametools/ui/a/p;->a(Ljava/lang/String;)Z
move-result v0 Hmily 发表于 2015-2-27 15:11
图和文字分开看不懂了,能详细用代码说明下过程吗?
由该资源需要分享可以看出
put-object v6 v5 Lcom/huati/gametools/ui/a/p;->j:Lcom/huati/gametools/api/data/crack/GameItem;
new-instance v0 Lcom/huati/widget/a/l;
iget-object v1 v5 Lcom/huati/gametools/ui/a/p;->b:Landroid/app/Activity;
new-instance v2 Lcom/huati/gametools/ui/a/y;
invoke-direct {v2,v5,v4} Lcom/huati/gametools/ui/a/y;-><init>(Lcom/huati/gametools/ui/a/p;Lcom/huati/gametools/ui/a/y;)V
invoke-direct {v0,v1,v2} Lcom/huati/widget/a/l;-><init>(Landroid/app/Activity;Lcom/huati/widget/a/n;)V
const-string v1 "该资源需要分享后才能下载。开始分享?"
invoke-virtual {v0,v4,v1} Lcom/huati/widget/a/l;->a(Ljava/lang/String;Ljava/lang/String;)V
const-string v1 "取消"
const-string v2 "确定"
invoke-virtual {v0,v1,v4,v2} Lcom/huati/widget/a/l;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v0} Lcom/huati/widget/a/l;->a()V
goto :label_18
这一部分是失败代码
我们可以通过2方面来找成功代码
1,失败代码最后跳转到了label_18,成功代码肯定不会跳转到那里,且成功失败都属于label_228,只要找label_228中哪个没有跳转到label_18就可以
2成功和失败的判断条件一般都是相反的
if-le v0 v1 :label_228(成功)
if-nez v0 :label_228(失败)
这样,也是可以找到成功代码
之后只要覆盖失败的就行了
如果是短信收费破解,也可以将返回也覆盖成成功 Hmily 发表于 2015-2-27 15:11
图和文字分开看不懂了,能详细用代码说明下过程吗?
对了,如果我的申请通过了,请用Vnchow作为ID,不要用wwc137000
我使用代{过}{滤}理IP上网,所以会有不同的IP,120.202.249.xxx和61.184.192.xxx都是我😓 ID:Vnchow
邮箱:wangwenchaosishen@163.com
申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。 新人报道
页:
[1]