某APP腾讯加固脱壳并去更新
打开压缩包你可以看见已经腾讯加固的app,一看修改时间很明显就知道哪些文件是改过的,不说那么多红圈部分全部删除。dex脱壳比较简单我不讲了,so脱壳就非常麻烦。vmos装xp装反射大师进去长按导出dex就是秒脱。
腾讯壳的入口如上图,真实入口先复制下来备用【me.alzz.awsl.AwslApp】。而且绝对有签名校验,直接修改会闪退。如下图:
so打开输出表你可以看见getsignature。推荐用mt管理器挂个钩子进行逆向,直接修改太麻烦。
反编译,打开AndroidManifest,修改入口:
<application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:name="MyWrapperProxyApplication(壳入口,改成真实入口)" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AwslTheme" android:usesCleartextTraffic="true">
<activity android:name="me.alzz.awsl.main.MainActivity" android:theme="@style/AppTheme.NoActionBar.Splash">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>(入口特征,MAIN和LAUNCHER上一行就是)
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
重点:把脱壳的3个dex和改完的AndroidManifest丢到压缩包里面,然后再用mt管理器进行逆向,不能改一次签名一次,这样原始的密文会丢失。
现在脱壳完成,smali里面还有一些垃圾代码不用管。接下来逆向高级版功能。
代码搜索# Lcn/leancloud/AVUser;,有2个地方,O0H有个pro应该不会错了。根据代码可以知道让p0返回1即可。
.method public static final O0H(Lcn/leancloud/AVUser;)Z
.locals 2
.param p0 # Lcn/leancloud/AVUser;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param(先把下面乱七八糟的玩意儿全部删光)
const/4 p0, 0x1(然后p0赋值1即可)
return p0(返回)
.end method
完成。
修改内容:
1、脱壳
2、登录后可解锁高级功能
3、精简垃圾文件
不放成品了,毕竟版本更新太快,自己动手。undefined
旧版去更新的改法如图,直接搜索方法,返回空值即可。其余乱七八糟的代码全部删掉,你们自己动手吧,我懒得改了。
新版脱壳需要修改so,有时间再看。
感谢楼主 谢谢分享 大佬无敌 谢谢分享 谢谢分享 大佬无敌 感谢楼主 感谢楼主 谢谢分享