Giter VIP home page Giter VIP logo

xpatch's Introduction

Android App破解工具Xpatch的使用方法

Xpatch概述

Xpatch用来重新签名打包Apk文件,使重打包后的Apk能加载安装在系统里的Xposed插件,从而实现免Root Hook任意App。

Xpatch基本原理

Xpatch的原理是对Apk文件进行二次打包,重新签名,并生成一个新的apk文件。 在Apk二次打包过程中,插入加载Xposed插件的逻辑,这样,新的Apk文件就可以加载任意Xposed插件,从而实现免Root Hook任意App的Java代码。

1.0~1.4版本,Hook框架使用的是Lody的whale
2.0版本开始,Hook框架底层使用的是ganyao114的SandHook
3.0版本开始,默认使用SandHook,同时,兼容切换为whale

Xpatch工具包下载

下载最新的Xpatch Jar包
或者进入Releases页面下载指定版本:releases

Xpatch App版本(Xposed Tool)下载

XposedTool 下载XposedTool Apk

Xpatch使用方法

Xpatch项目最终生成物是一个Jar包,此Jar使用起来非常简单,只需要一行命令,一个接入xposed hook功能的apk就生成:

$ java -jar XpatchJar包路径 apk文件路径

For example:
$ java -jar ../xpatch.jar ../Test.apk

这条命令之后,在原apk文件(Test.apk)相同的文件夹中,会生成一个名称为Test-xposed-signed.apk的新apk,这就是重新签名之后的支持xposed插件的apk。

Note: 由于签名与原签名不一致,因此需要先卸载掉系统上已经安装的原apk,才能安装这个Xpatch后的apk

当然,也可以增加-o参数,指定新apk生成的路径:

$ java -jar ../xpatch.jar ../Test.apk -o ../new-Test.apk

更多参数类型可以使用--help查看,或者不输入任何参数运行jar包:

$ java -jar ../xpatch.jar --h(可省略)

这行命令之后得到结果(v1.0-v2.0):

Please choose one apk file you want to process. 
options:
 -f,--force                   force overwrite
 -h,--help                    Print this help message
 -k,--keep                    not delete the jar file that is changed by dex2jar
                               and the apk zip files
 -l,--log                     show all the debug logs
 -o,--output <out-apk-file>   output .apk file, default is $source_apk_dir/[file
                              -name]-xposed-signed.apk

Xposed模块开关控制的两种方法

1. 手动修改sdcard文件控制模块开关

当新apk安装到系统之后,应用启动时,默认会加载所有已安装的Xposed插件(Xposed Module)。

一般情况下,Xposed插件中都会对包名过滤,有些Xposed插件有界面,并且在界面上可以设置开关,所以默认启用所有的Xposed插件的方式,大多数情形下都可行。

但在少数情况可能会出现问题,比如,同一个应用安装有多个Xposed插件(wechat插件就非常多),并且都没有独立的开关界面,同时启用这些插件可能会产生冲突。

为了解决此问题,当应用启动时,会查找系统中所有已安装的Xposed插件,并在文件目录下生成一个文件 mnt/sdcard/xposed_config/modules.list,记录这些Xposed插件App。 比如:

com.blanke.mdwechat#MDWechat
com.example.wx_plug_in3#畅玩微信
liubaoyua.customtext#文本自定义

记录的方式是:插件app包名#插件app名称

需要禁用某个插件,只需要修改此文件,在该插件包名前面增加一个#号即可。

比如,需要禁用畅玩微信文本自定义两个插件,只需要修改该文本文件,增加一个#号即可:

com.blanke.mdwechat#MDWechat
#com.example.wx_plug_in3#畅玩微信
#liubaoyua.customtext#文本自定义

如果需要禁用所有插件,只需在所有的包名前面增加#

注意: 有些App没有获取到sd卡文件读写权限,这会导致无法读取modules.list配置文件,此时会默认启用所有插件。这种情况下,需要手动打开app的文件读写权限。

2. 通过Xposed Tool App控制模块开关

下载并安装Xpatch App(Xposed Tool) 点我下载XposedTool Apk 通过Xposed模块管理页面来控制模块开关。(原理跟方法1一致)
Screenshot.png

可用的Xposed模块示例

其他

assets目录下的classes.dex是来加载设备上已安装的Xposed插件,其源代码也已经开源:
xposed_module_loader
欢迎star and fork.

局限性

Xpatch是基于apk二次打包实现的,而且使用到了dex2Jar工具,因此,也存在不少的局限性。大概有以下几点:

  1. Hook框架默认使用的是SandHook,此框架存在一些不稳定性,在少数机型上hook可能会崩溃。
  2. 对于校验了文件完整性的app,重打包后可能无法启动;
  3. Xposed Hook框架暂时不支持Dalvik虚拟机。
  4. 暂时不支持Xposed插件中的资源Hook。

Technology Discussion

QQ Group: 741998508
or
Post comments under this article: Xpatch: 免Root实现App加载Xposed插件的一种方案

功能更新


1. 2019/4/15 updated

增加自动破解签名检验的功能,此功能默认开启,如果需要关闭可以增加-c即可,比如:

$ java -jar ../xpatch.jar ../Test.apk -c

通过help(-h)可以查看到:

options:
-c,--crach disable craching the apk's signature.

2. 2019/4/25 updated

增加将Xposed modules打包到apk中的功能 通过help(-h)可以查看到:

-xm,--xposed-modules the xposed mpdule files to be packaged into the ap k, multi files should be seperated by :(mac) or ;( win)

使用方式为在命令后面增加-xm path即可,比如:

$ java -jar ../xpatch.jar ../source.apk -xm ../module1.apk

假如需要将多个Xposed插件打包进去,在Mac中使用":",在Windows下使用";",隔开多个文件路径即可,比如:

mac
$  java -jar ../xpatch.jar ../source.apk -xm ../module1.apk:../module2.apk  

windows
$  java -jar ../xpatch.jar ../source.apk -xm ../module1.apk;../module2.apk

注意:

  1. 多个Xposed modules使用:(mac)/;(win)分割;
  2. 假如此module既被打包到apk中,又安装在设备上,则只会加载打包到apk中的module,不会加载安装的。 这里是通过包名区分是不是同一个module。

3. 2020/02/09 updated (Version 3.0)

3.0版本增加了不少新功能,同时修复了一些用户反馈的Bug。

新增功能:

  1. 支持android 10;
  2. 支持更改植入的hook框架,默认使用Sandhook(支持android10),可更改为whale(暂不支持android10)(-w);
  3. 默认使用修改Maniest文件方式,植入初始化代码,同时,支持更改为老版本中的修改dex文件的方式植入代码(-dex);
  4. 支持修改apk包名(一般不建议使用,很多应用会校验包名,会导致无法使用)
  5. 支持修改apk的version code;
  6. 支持修改apk的version name;
  7. 支持修改apk的debuggable为true或者false;

Bug修复:

  1. 修复Manifest文件中未定义ApplicationName类,导致无法实现Hook的问题;
  2. 修复破解无so文件的apk时,出现无法找到so的问题;
  3. 修复签名可能会失败的问题;
  4. 修复dex文件数超过65536的问题;

新功能用法

在命令行中输入-h,可以看到3.0版本完整的帮助文档: $ java -jar ../xpatch-3.0.jar -h

options:
 -c,--crach                   disable craching the apk's signature.
 -d,--debuggable <0 or 1>     set 1 to make the app debuggable = true, set 0 to 
                              make the app debuggable = false
 -dex,--dex                   insert code into the dex file, not modify manifest
                               application name attribute
 -f,--force                   force overwrite
 -h,--help                    Print this help message
 -k,--keep                    not delete the jar file that is changed by dex2jar
                               and the apk zip files
 -l,--log                     show all the debug logs
 -o,--output <out-apk-file>   output .apk file, default is $source_apk_dir/[file
                              -name]-xposed-signed.apk
 -pkg,--packageName <new package name>modify the apk package name
 -vc,--versionCode <new-version-code>set the app version code
 -vn,--versionName <new-version-name>set the app version name
 -w,--whale                   Change hook framework to Lody's whale
 -xm,--xposed-modules <xposed module file path>
                              the xposed module files to be packaged into the ap
                              k, multi files should be seperated by :(mac) or ;(
                              win) 
version: 3.0

具体用法:

  1. 修改Apk的debuggable = true:
    $ java -jar ../xpatch-3.0.jar ../Test.apk -d 1 (false改为0)
  2. 使用老版本的破解dex方法破解apk:
    $ java -jar ../xpatch-3.0.jar ../Test.apk -dex
  3. 修改包名,版本号:
    $ java -jar ../xpatch-3.0.jar ../Test.apk -pkg com.test.test -vc 1000 -vn 1.1.1
  4. 更改Hook框架为whale:
    $ java -jar ../xpatch-3.0.jar ../Test.apk -w

4. 2021/01/13 updated (Version 4.0)

Update SandHook to the newest version and SandHook support the Android 11.

Thanks

xpatch's People

Contributors

luoyesiqiu avatar nonnonstop avatar nuo503 avatar windysha avatar zaoqi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xpatch's Issues

xpatch-2.0 打开应用crash

2019-05-31 11:15:45.220 18009-18009/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.lanshifu.opengldemo, PID: 18009
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.lanshifu.opengldemo-RVQTGiQDpgX-tcIwiDG8mw==/base.apk"],nativeLibraryDirectories=[/data/app/com.lanshifu.opengldemo-RVQTGiQDpgX-tcIwiDG8mw==/lib/arm64, /system/lib64]]] couldn't find "libsandhook.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
at java.lang.System.loadLibrary(System.java:1669)
at com.swift.sandhook.SandHookConfig$1.loadLib(Unknown Source:6)
at com.swift.sandhook.SandHook.(Unknown Source:16)
at com.swift.sandhook.SandHook.passApiCheck(Unknown Source:0)
at com.wind.xposed.entry.XposedModuleEntry.init(:1)
at com.lanshifu.opengldemo.MainApplication.(Unknown Source:0)

测试机型:三星、华为 ,so没找到

打包后直接闪退咋整

报错

E/ReflectionUtils(2580): error get methods
E/ReflectionUtils(2580): java.lang.reflect.InvocationTargetException
E/ReflectionUtils(2580): 	at java.lang.reflect.Method.invoke(Native Method)
E/ReflectionUtils(2580): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/ReflectionUtils(2580): 	at com.swift.sandhook.utils.ReflectionUtils.<clinit>()
E/ReflectionUtils(2580): 	at com.swift.sandhook.SandHook.passApiCheck()
E/ReflectionUtils(2580): 	at com.wind.xposed.entry.XposedModuleEntry.init(:1)
E/ReflectionUtils(2580): 	at com.yiimuu.rich_dinosaur.RdApp.<clinit>(Unknown Source)
E/ReflectionUtils(2580): 	at java.lang.reflect.Constructor.newInstance(Native Method)
E/ReflectionUtils(2580): 	at java.lang.Class.newInstance(Class.java:1606)
E/ReflectionUtils(2580): 	at android.app.Instrumentation.newApplication(Instrumentation.java:995)
E/ReflectionUtils(2580): 	at android.app.Instrumentation.newApplication(Instrumentation.java:980)
E/ReflectionUtils(2580): 	at android.app.LoadedApk.makeApplication(LoadedApk.java:558)
E/ReflectionUtils(2580): 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4526)
E/ReflectionUtils(2580): 	at android.app.ActivityThread.access$1500(ActivityThread.java:151)
E/ReflectionUtils(2580): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
E/ReflectionUtils(2580): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/ReflectionUtils(2580): 	at android.os.Looper.loop(Looper.java:135)
E/ReflectionUtils(2580): 	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/ReflectionUtils(2580): 	at java.lang.reflect.Method.invoke(Native Method)
E/ReflectionUtils(2580): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/ReflectionUtils(2580): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
E/ReflectionUtils(2580): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
E/ReflectionUtils(2580): Caused by: java.lang.NoSuchMethodException: setHiddenApiExemptions [class [Ljava.lang.String;]
E/ReflectionUtils(2580): 	at java.lang.Class.getMethod(Class.java:664)
E/ReflectionUtils(2580): 	at java.lang.Class.getDeclaredMethod(Class.java:626)
E/ReflectionUtils(2580): 	... 21 more

华为手机打包运行崩溃

Build fingerprint: 'HONOR/PRA-AL00X/HWPRA-H:7.0/HONORPRA-AL00X/C00B223:user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 14593, tid: 14603, name: HeapTaskDaemon >>> com.xunmeng.pinduoduo <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'art/runtime/gc/collector/mark_sweep.cc:413] Tried to mark 0xe92d000f not contained by any spaces'
r0 00000000 r1 0000390b r2 00000006 r3 00000008
r4 f2e8c978 r5 00000006 r6 f2e8c920 r7 0000010c
r8 00003847 r9 00000000 sl f3be9de4 fp 00003040
ip 0000000d sp f2e8c058 lr f4c95e57 pc f4c986c0 cpsr 600f0010
backtrace:
#00 pc 0004a6c0 /system/lib/libc.so (tgkill+12)
#1 pc 00047e53 /system/lib/libc.so (pthread_kill+34)
#2 pc 0001d8b5 /system/lib/libc.so (raise+10)
#3 pc 00019401 /system/lib/libc.so (__libc_android_abort+34)
#4 pc 000170e4 /system/lib/libc.so (abort+4)
#5 pc 0031f309 /system/lib/libart.so (_ZN3art7Runtime5AbortEv+252)
#6 pc 000b60d7 /system/lib/libart.so (_ZN3art10LogMessageD2Ev+898)
#7 pc 00345d13 /system/lib/libart.so (_ZN3artL40UnsafeLogFatalForThreadSuspendAllTimeoutEv+590)
#8 pc 00345749 /system/lib/libart.so (_ZN3art10ThreadList10SuspendAllEPKcb+412)
#9 pc 00349b09 /system/lib/libart.so (_ZN3art16ScopedSuspendAllC2EPKcb+16)
#10 pc 0017a7f1 /system/lib/libart.so (_ZNK3art2gc9collector27MarkSweepMarkObjectSlowPathclEPKNS_6mirror6ObjectE+2460)
#11 pc 0017824b /system/lib/libart.so (_ZN3art2gc9collector9MarkSweep17MarkObjectNonNullEPNS_6mirror6ObjectES5_NS_12MemberOffsetE+174)
#12 pc 00178139 /system/lib/libart.so (_ZN3art2gc9collector9MarkSweep10MarkObjectEPNS_6mirror6ObjectE+12)
#13 pc 00176551 /system/lib/libart.so (_ZN3art9ArtMethod10VisitRootsIKNS_2gc9collector28MarkCompactMarkObjectVisitorEEEvRT_j+142)
#14 pc 001764b3 /system/lib/libart.so (_ZN3art6mirror5Class16VisitNativeRootsIKNS_2gc9collector11MarkVisitorEEEvRT_j+138)
#15 pc 00178ca7 /system/lib/libart.so (_ZN3art2gc9collector9MarkSweep16ProcessMarkStackEb+206)
#16 pc 00177e15 /system/lib/libart.so (_ZN3art2gc9collector9MarkSweep20MarkReachableObjectsEv+32)
#17 pc 00176d45 /system/lib/libart.so (_ZN3art2gc9collector9MarkSweep12MarkingPhaseEv+132)
#18 pc 00176bdd /system/lib/libart.so (_ZN3art2gc9collector9MarkSweep9RunPhasesEv+144)
#19 pc 00171851 /system/lib/libart.so (_ZN3art2gc9collector16GarbageCollector3RunENS0_7GcCauseEb+244)
#20 pc 001951f9 /system/lib/libart.so (_ZN3art2gc4Heap22CollectGarbageInternalENS0_9collector6GcTypeENS0_7GcCauseEb+2360)
#21 pc 0019aae5 /system/lib/libart.so (_ZN3art2gc4Heap12ConcurrentGCEPNS_6ThreadEb+68)
#22 pc 0019f683 /system/lib/libart.so (_ZN3art2gc4Heap16ConcurrentGCTask3RunEPNS_6ThreadE+18)
#23 pc 001b7b5b /system/lib/libart.so (_ZN3art2gc13TaskProcessor11RunAllTasksEPNS_6ThreadE+30)
#24 pc 71263def /data/dalvik-cache/arm/system@[email protected] (offset 0x512000)

解析软件包时出现问题

腾讯视频
版本:7.0.8.19572

大小:39.3MB
更新:2019-05-15
系统:Android 4.0或更高版本
http://gdown.baidu.com/data/wisegame/7f49faeba8a42348/tengxunshipin_19572.apk
Xpatch 1.4

M:\myFile\Android\Xpatch>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

M:\myFile\Android\Xpatch>java -jar xpatch-1.4.jar
Please choose one apk file you want to process.
options:
-c,--crach disable craching the apk's signature.
-f,--force force overwrite
-h,--help Print this help message
-k,--keep not delete the jar file that is changed by dex2jar
and the apk zip files
-l,--log show all the debug logs
-o,--output output .apk file, default is $source_apk_dir/[file
-name]-xposed-signed.apk
-xm,--xposed-modules the xposed mpdule files to be packaged into the ap
k, multi files should be seperated by :(mac) or ;(
win)
version: 1.4

M:\myFile\Android\Xpatch>java -jar xpatch-1.4.jar help
The source apk file not exsit, please choose another one. current apk file is = help

M:\myFile\Android\Xpatch>java -jar xpatch-1.4.jar help -help
ERROR: Unrecognized option: -help
options:
-c,--crach disable craching the apk's signature.
-f,--force force overwrite
-h,--help Print this help message
-k,--keep not delete the jar file that is changed by dex2jar
and the apk zip files
-l,--log show all the debug logs
-o,--output output .apk file, default is $source_apk_dir/[file
-name]-xposed-signed.apk
-xm,--xposed-modules the xposed mpdule files to be packaged into the ap
k, multi files should be seperated by :(mac) or ;(
win)
version: 1.4

M:\myFile\Android\Xpatch>java -jar xpatch-1.4.jar qqsp.apk
!!!!! output apk path --> qqsp-xposed-signed.apk disableCrackSignature --> false
getApkSignInfo result --> [
[
Version: V3
Subject: CN=kody, OU=multimedia, O=tx, L=shenzhen, ST=shenzhen, C=86
Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5

Key: Sun RSA public key, 1024 bits
modulus: 125486394975549297646594873750652312541655516739042102003450892939723969590097020267415069057522633474603141814210243547311004818808575624800088861034897074854258436636941361520947916836794819311704976323228801514281495389338117338820306454498329326105245660814972723589164203363179310625693441661864845358009
public exponent: 65537
Validity: [From: Mon Aug 23 17:10:55 CST 2010,
To: Sun Dec 24 17:10:55 CST 3009]
Issuer: CN=kody, OU=multimedia, O=tx, L=shenzhen, ST=shenzhen, C=86
SerialNumber: [ 4c723b1f]

]
Algorithm: [SHA1withRSA]
Signature:
0000: 22 6A F3 BB 96 B4 D0 89 34 C3 BA 91 AA 51 B3 60 "j......4....Q.`
0010: A8 C8 4D F4 55 C8 07 3D 2D BF C7 8D EA FF DF 56 ..M.U..=-......V
0020: 98 B7 76 6C 6A 8E 94 78 5F 84 F5 EC 7B 5B 3C 13 ..vlj..x_....[<.
0030: 97 77 96 C7 2C A9 18 6B 15 57 D2 44 36 2B 36 6E .w..,..k.W.D6+6n
0040: 45 5E 01 47 94 40 C0 93 B7 61 FA 85 3E 00 EE 62 E^[email protected]..>..b
0050: 04 53 55 EA DB 2A E9 03 67 7B D3 2B CC BD 89 E7 .SU..*..g..+....
0060: 4C 95 CA 83 8F FC 01 CE D1 3D B6 F1 53 88 E5 56 L........=..S..V
0070: A8 A8 FE EF 41 90 DF 1E EF 10 D9 B9 94 5B 42 12 ....A........[B.

]
dex2jar M:\myFile\Android\Xpatch\2019-05-27-11-35-43-tmp\qqsp-apk-unzip-files\classes.dex -> M:\myFile\Android\Xpatch\2019-05-27-11-35-43-tmp\output-jar.jar baseName =classes
jar2dex M:\myFile\Android\Xpatch\2019-05-27-11-35-43-tmp\output-jar.jar -> M:\myFile\Android\Xpatch\2019-05-27-11-35-43-tmp\qqsp-apk-unzip-files\classes.dex
call com.android.dx.command.Main.main[--dex, --no-strict, --output=M:\myFile\Android\Xpatch\2019-05-27-11-35-43-tmp\qqsp-apk-unzip-files\classes.dex, M:\myFile\Android\Xpatch\2019-05-27-11-35-43-tmp\output-jar.jar]
use default jarsigner to sign apk failed,and try again, fail msg is :java.io.IOException: Cannot run program "jarsigner": CreateProcess error=2, 系统找不到指定的文件。
use inner jarsigner to sign apk failed, sign it yourself fail msg is :java.io.IOException: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。

M:\myFile\Android\Xpatch>

打包微信703版本,打开小程序闪退

2019-05-26 16:47:51.115 E/Whale: Notice: MovingGC cause the GcRoot References changed.
2019-05-26 16:47:51.333 A/zygote: java_vm_ext.cc:534] JNI DETECTED ERROR IN APPLICATION: obj == null
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] in call to CallBooleanMethodV
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] from boolean com.tencent.mm.plugin.appbrand.m.j.b!(java.util.ArrayList, java.lang.String, boolean)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] "AppBrandAsyncJSThread" prio=5 tid=62 Runnable
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] | group="main" sCount=0 dsCount=0 flags=0 obj=0x13b02dd8 self=0x8768ac00
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] | sysTid=25869 nice=0 cgrp=default sched=0/0 handle=0x816e3970
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] | state=R schedstat=( 27114850 32746076 61 ) utm=1 stm=1 core=3 HZ=100
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] | stack=0x815e1000-0x815e3000 stackSize=1038KB
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] | held mutexes= "mutator lock"(shared held)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #00 pc 002e93d7 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*)+130)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #1 pc 0037c9e1 /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits>&, bool, BacktraceMap*, bool) const+204)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #2 pc 00379083 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits>&, bool, BacktraceMap*, bool) const+34)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #3 pc 0024df39 /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+720)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #4 pc 0024e31b /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+66)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #5 pc 00283a41 /system/lib/libart.so (art::JNI::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+944)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #6 pc 0004e6f3 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #7 pc 0004e693 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.334 A/zygote: java_vm_ext.cc:534] native: #8 pc 00050879 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.335 A/zygote: java_vm_ext.cc:534] native: #9 pc 0004fd1b /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.336 A/zygote: java_vm_ext.cc:534] native: #10 pc 0004f791 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.336 A/zygote: java_vm_ext.cc:534] native: #11 pc 0003d8df /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.336 A/zygote: java_vm_ext.cc:534] native: #12 pc 0004921b /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.336 A/zygote: java_vm_ext.cc:534] native: #13 pc 00049968 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:51.337 A/zygote: java_vm_ext.cc:534] native: #14 pc 0040a679 /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
2019-05-26 16:47:51.337 A/zygote: java_vm_ext.cc:534] native: #15 pc 00406175 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-05-26 16:47:51.337 A/zygote: java_vm_ext.cc:534] native: #16 pc 0040b3eb /system/lib/libart.so (art_quick_invoke_static_stub+226)
2019-05-26 16:47:51.338 A/zygote: java_vm_ext.cc:534] native: #17 pc 000b0317 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174)
2019-05-26 16:47:51.339 A/zygote: java_vm_ext.cc:534] native: #18 pc 0020154f /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+226)
2019-05-26 16:47:51.340 A/zygote: java_vm_ext.cc:534] native: #19 pc 001fcadd /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+592)
2019-05-26 16:47:51.340 A/zygote: java_vm_ext.cc:534] native: #20 pc 003f13f5 /system/lib/libart.so (MterpInvokeStatic+184)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #21 pc 003f8814 /system/lib/libart.so (ExecuteMterpImpl+14612)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #22 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #23 pc 001e7bf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #24 pc 001fcac5 /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+568)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #25 pc 003f13f5 /system/lib/libart.so (MterpInvokeStatic+184)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #26 pc 003f8814 /system/lib/libart.so (ExecuteMterpImpl+14612)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #27 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #28 pc 001e7bf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #29 pc 001fcac5 /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+568)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #30 pc 003f13f5 /system/lib/libart.so (MterpInvokeStatic+184)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #31 pc 003f8814 /system/lib/libart.so (ExecuteMterpImpl+14612)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #32 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #33 pc 001e7bf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #34 pc 001fcac5 /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+568)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #35 pc 003f28d3 /system/lib/libart.so (MterpInvokeVirtualQuick+594)
2019-05-26 16:47:51.341 A/zygote: java_vm_ext.cc:534] native: #36 pc 003fc414 /system/lib/libart.so (ExecuteMterpImpl+29972)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] native: #37 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] native: #38 pc 001e7b3d /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*)+92)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] native: #39 pc 003e5cc5 /system/lib/libart.so (artQuickToInterpreterBridge+924)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] native: #40 pc 0040a6f1 /system/lib/libart.so (art_quick_to_interpreter_bridge+32)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] native: #41 pc 000891eb /system/framework/arm/boot-framework.oat (???)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at com.tencent.mm.plugin.appbrand.m.j.b!(Native method)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at com.tencent.mm.plugin.appbrand.m.j.a(SourceFile:136)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at com.tencent.mm.plugin.appbrand.m.j.c(SourceFile:132)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at com.tencent.mm.plugin.appbrand.jsapi.i.e.a(SourceFile:151)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at com.tencent.mm.plugin.appbrand.jsapi.i.b$1.run(SourceFile:27)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at android.os.Handler.handleCallback(Handler.java:790)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at android.os.Handler.dispatchMessage(Handler.java:99)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at android.os.Looper.loop(Looper.java:171)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534] at android.os.HandlerThread.run(HandlerThread.java:65)
2019-05-26 16:47:51.342 A/zygote: java_vm_ext.cc:534]
2019-05-26 16:47:51.625 E/ActivityThread: Failed to find provider info for com.tencent.mm.coolassist.debugprovider
2019-05-26 16:47:52.338 A/zygote: runtime.cc:598] Runtime aborting...
2019-05-26 16:47:52.338 A/zygote: runtime.cc:598] Dumping all threads without appropriate locks held: thread list lock mutator lock
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] All threads:
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] DALVIK THREADS (83):
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] "AppBrandAsyncJSThread" prio=5 tid=62 Runnable
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] | group="" sCount=0 dsCount=0 flags=0 obj=0x13b02dd8 self=0x8768ac00
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] | sysTid=25869 nice=0 cgrp=default sched=0/0 handle=0x816e3970
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] | state=R schedstat=( 139224464 56082696 272 ) utm=8 stm=5 core=2 HZ=100
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] | stack=0x815e1000-0x815e3000 stackSize=1038KB
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] | held mutexes= "abort lock" "mutator lock"(shared held)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #00 pc 002e93d7 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*)+130)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #1 pc 0037c9e1 /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits>&, bool, BacktraceMap*, bool) const+204)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #2 pc 00379083 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits>&, bool, BacktraceMap*, bool) const+34)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #3 pc 00391c7f /system/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+698)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #4 pc 0038b505 /system/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+320)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #5 pc 0038b003 /system/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits>&, bool)+530)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #6 pc 00369ec9 /system/lib/libart.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits>&) const+188)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #7 pc 0035c39d /system/lib/libart.so (art::Runtime::Abort(char const*)+132)
2019-05-26 16:47:52.339 A/zygote: runtime.cc:598] native: #8 pc 0041f82d /system/lib/libart.so (android::base::LogMessage::~LogMessage()+452)
2019-05-26 16:47:52.341 A/zygote: runtime.cc:598] native: #9 pc 0024e125 /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1212)
2019-05-26 16:47:52.341 A/zygote: runtime.cc:598] native: #10 pc 0024e31b /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+66)
2019-05-26 16:47:52.341 A/zygote: runtime.cc:598] native: #11 pc 00283a41 /system/lib/libart.so (art::JNI::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+944)
2019-05-26 16:47:52.341 A/zygote: runtime.cc:598] native: #12 pc 0004e6f3 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.341 A/zygote: runtime.cc:598] native: #13 pc 0004e693 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.342 A/zygote: runtime.cc:598] native: #14 pc 00050879 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.342 A/zygote: runtime.cc:598] native: #15 pc 0004fd1b /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.342 A/zygote: runtime.cc:598] native: #16 pc 0004f791 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.342 A/zygote: runtime.cc:598] native: #17 pc 0003d8df /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.342 A/zygote: runtime.cc:598] native: #18 pc 0004921b /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.342 A/zygote: runtime.cc:598] native: #19 pc 00049968 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
2019-05-26 16:47:52.342 A/zygote: runtime.cc:598] native: #20 pc 0040a679 /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
2019-05-26 16:47:52.344 A/zygote: runtime.cc:598] native: #21 pc 00406175 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-05-26 16:47:52.344 A/zygote: runtime.cc:598] native: #22 pc 0040b3eb /system/lib/libart.so (art_quick_invoke_static_stub+226)
2019-05-26 16:47:52.344 A/zygote: runtime.cc:598] native: #23 pc 000b0317 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174)
2019-05-26 16:47:52.344 A/zygote: runtime.cc:598] native: #24 pc 0020154f /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+226)
2019-05-26 16:47:52.345 A/zygote: runtime.cc:598] native: #25 pc 001fcadd /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+592)
2019-05-26 16:47:52.345 A/zygote: runtime.cc:598] native: #26 pc 003f13f5 /system/lib/libart.so (MterpInvokeStatic+184)
2019-05-26 16:47:52.349 A/zygote: runtime.cc:598] native: #27 pc 003f8814 /system/lib/libart.so (ExecuteMterpImpl+14612)
2019-05-26 16:47:52.349 A/zygote: runtime.cc:598] native: #28 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:52.349 A/zygote: runtime.cc:598] native: #29 pc 001e7bf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
2019-05-26 16:47:52.349 A/zygote: runtime.cc:598] native: #30 pc 001fcac5 /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+568)
2019-05-26 16:47:52.349 A/zygote: runtime.cc:598] native: #31 pc 003f13f5 /system/lib/libart.so (MterpInvokeStatic+184)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #32 pc 003f8814 /system/lib/libart.so (ExecuteMterpImpl+14612)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #33 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #34 pc 001e7bf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #35 pc 001fcac5 /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+568)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #36 pc 003f13f5 /system/lib/libart.so (MterpInvokeStatic+184)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #37 pc 003f8814 /system/lib/libart.so (ExecuteMterpImpl+14612)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #38 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #39 pc 001e7bf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #40 pc 001fcac5 /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+568)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #41 pc 003f28d3 /system/lib/libart.so (MterpInvokeVirtualQuick+594)
2019-05-26 16:47:52.350 A/zygote: runtime.cc:598] native: #42 pc 003fc414 /system/lib/libart.so (ExecuteMterpImpl+29972)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] native: #43 pc 001e3531 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+344)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] native: #44 pc 001e7b3d /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*)+92)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] native: #45 pc 003e5cc5 /system/lib/libart.so (artQuickToInterpreterBridge+924)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] native: #46 pc 0040a6f1 /system/lib/libart.so (art_quick_to_interpreter_bridge+32)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] native: #47 pc 000891eb /system/framework/arm/boot-framework.oat (???)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at com.tencent.mm.plugin.appbrand.m.j.b!(Native method)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at com.tencent.mm.plugin.appbrand.m.j.a(SourceFile:136)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at com.tencent.mm.plugin.appbrand.m.j.c(SourceFile:132)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at com.tencent.mm.plugin.appbrand.jsapi.i.e.a(SourceFile:151)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at com.tencent.mm.plugin.appbrand.jsapi.i.b$1.run(SourceFile:27)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at android.os.Handler.handleCallback(Handler.java:790)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at android.os.Handler.dispatchMessage(Handler.java:99)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at android.os.Looper.loop(Looper.java:171)
2019-05-26 16:47:52.351 A/zygote: runtime.cc:598] at android.os.HandlerThread.run(HandlerThread.java:65)


2019-05-26 16:47:52.665 A/google-breakpad: Microdump skipped (uninteresting)
2019-05-26 16:47:52.806 A/MicroMsg_Crash: Process: com.tencent.mm:appbrand0
Crash Thread: 25869(total:124)
Date/Time: 2019-05-26 +8.00 16:47:52.742
Live Time: 9s
Device: Redmi 6A android-27
Exception info:
Siginfo: errno:0, pid:25617, uid:10203, process:UNKNOWN->com.tencent.mm:appbrand0
Memory Info: total:1795M rss:310M
2019-05-26 16:47:52.810 A/MicroMsg_Crash: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: xiaomi/cactus/cactus:8.1.0/O11019/V9.6.11.0.OCBCNFD:user/release-keys
pid: 25617, tid: 25869 >>> com.tencent.mm:appbrand0 <<<
signal 6 (SIGABRT), code -6 (?), fault addr 00006411
2019-05-26 16:47:53.118 E/memtrack: Couldn't load memtrack module
2019-05-26 16:47:53.155 A/MicroMsg_Crash: #00 pc 0x1a40e /system/lib/libc.so (abort+63)
#1 pc 0x3504a1 /system/lib/libart.so (art::Runtime::Abort(char const*)+392)
#2 pc 0x41382d /system/lib/libart.so (android::base::LogMessage::~LogMessage()+452)
#3 pc 0x242125 /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1212)
#4 pc 0x24231b /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+66)
#5 pc 0x277a41 /system/lib/libart.so (???)
#6 pc 0x4e6f3 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#7 pc 0x4e693 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#8 pc 0x50879 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#9 pc 0x4fd1b /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#10 pc 0x4f791 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#11 pc 0x3d8df /data/app/com.tencent.mm-hdm-pkJPGZvu
2019-05-26 16:47:53.155 A/MicroMsg_Crash: R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#12 pc 0x4921b /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#13 pc 0x49968 /data/app/com.tencent.mm-hdm-pkJPGZvu5R5gKMgyvA==/lib/arm/libxpatch_wl.so (???)
#14 pc 0x3fe679 /system/lib/libart.so (???)
#15 pc 0x3fa175 /system/lib/libart.so (???)
#16 pc 0x3ff3eb /system/lib/libart.so (art_quick_invoke_static_stub+226)
#17 pc 0xa4317 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174)
#18 pc 0x1f554f /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+226)
#19 pc 0x1f0add /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+592)
#20 pc 0x3e53f5 /system/lib/libart.so (MterpInvokeStatic+184)
#21 pc 0x3ec814 /syste
2019-05-26 16:47:53.155 A/MicroMsg_Crash: /lib/libart.so (???)
#22 pc 0x1d7531 /system/lib/libart.so (???)
#23 pc 0x1dbbf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
#24 pc 0x1f0ac5 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+568)
#25 pc 0x3e53f5 /system/lib/libart.so (MterpInvokeStatic+184)
#26 pc 0x3ec814 /system/lib/libart.so (???)
#27 pc 0x1d7531 /system/lib/libart.so (???)
#28 pc 0x1dbbf5 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+148)
#29 pc 0x1f0ac5 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+568)
#30 pc 0x3e53f5 /system/lib/libart.so
2019-05-26 16:47:53.155 A/MicroMsg_Crash: MterpInvokeStatic+184)
#31 pc 0x3ec814 /system/lib/libart.so (???)

打包失败

use default jarsigner to sign apk failed,and try again, fail msg is :java.io.IO
Exception: Cannot run program "jarsigner": CreateProcess error=2, 系统找不到指定
的文件。
use inner jarsigner to sign apk failed, sign it yourself fail msg is :java.io.IO
Exception: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文
件。

这个怎么回事,我使用的xpatch-2.0.jar

神奇的so找不到问题

我尝试打包 闲鱼 app ,发现无法加载libflutter.so 。
排查原因是因为 在复制so的时候 ,在原lib下多创建了 armeabi-v7a 和 arm64-v8a 文件夹
导致在真机上面 直接去arm64-v8a 下寻找so
但是 arm64-v8a 下只有一个 sandhook.so 文件


修复办法 SoAndDexCopyTask.java 文件里面 删掉不必要的so文件路径

比如只保留 armeabi 文件夹 和 原app一致

private final String[] APK_LIB_PATH_ARRAY = {
            //"lib/armeabi-v7a/",
            "lib/armeabi/",
            //"lib/arm64-v8a/"
    };

    private final HashMap<String, String> SO_FILE_PATH_MAP = new HashMap<String, String>() {
        {
            //put(APK_LIB_PATH_ARRAY[0], "assets/lib/armeabi-v7a/" + SO_FILE_NAME);
            put(APK_LIB_PATH_ARRAY[0], "assets/lib/armeabi-v7a/" + SO_FILE_NAME);
            //put(APK_LIB_PATH_ARRAY[2], "assets/lib/arm64-v8a/" + SO_FILE_NAME);
        }
    };

out of memory

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.googlecode.dex2jar.ir.ts.an.SimpleLiveAnalyze.merge(SimpleLiveAnalyze.java:100)
at com.googlecode.dex2jar.ir.ts.an.SimpleLiveAnalyze.merge(SimpleLiveAnalyze.java:27)
at com.googlecode.dex2jar.ir.ts.Cfg.dfs(Cfg.java:274)
at com.googlecode.dex2jar.ir.ts.an.BaseAnalyze.analyze0(BaseAnalyze.java:75)
at com.googlecode.dex2jar.ir.ts.an.BaseAnalyze.analyze(BaseAnalyze.java:69)
at com.googlecode.dex2jar.ir.ts.Ir2JRegAssignTransformer.transform(Ir2JRegAssignTransformer.java:182)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:269)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:453)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:40)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:169)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:600)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:445)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:357)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:464)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:277)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:377)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:118)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:293)
at com.storm.wind.xpatch.task.ApkModifyTask.dex2JarCmd(ApkModifyTask.java:87)
at com.storm.wind.xpatch.task.ApkModifyTask.dumpJarFile(ApkModifyTask.java:68)
at com.storm.wind.xpatch.task.ApkModifyTask.run(ApkModifyTask.java:40)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:165)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:123)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:56)

Xpatch应用程序的源代码 - Source code for Xpatch App

Thank you so much for this open-source project, it works exactly as described.
Can you consider open-sourcing the code for Xpatch apk?

非常感谢您这个开源项目,它完全按照描述的方式工作。
您可以考虑将Xpatch apk的代码开源吗?

重新打包出错!

IMAC:Desktop IMAC$ java -jar ./xpatch-3.0.jar ./WeChat_7.0.3(1381)Google\ Play\ [0305].apk
!!!!! output apk path --> ./WeChat_7.0.3(1381)Google Play [0305]-xposed-signed.apk disableCrackSignature --> false
java.lang.NullPointerException
at com.storm.wind.xpatch.util.ApkSignatureHelper.getApkSignInfo(ApkSignatureHelper.java:75)
at com.storm.wind.xpatch.task.SaveApkSignatureTask.run(SaveApkSignatureTask.java:26)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:151)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:83)
Get original signature failed !!!!

新版微信 问题

dex2jar G:\΢▒▒▒▒▒\2020-01-23-11-16-13-tmp\wx7.0.8-apk-unzip-files\classes.dex -> G:\΢▒▒▒▒▒\2020-01-23-11-16-13-tmp\output-jar.jar baseName =classes
WARN: ignored invalid inner class name , treat as anonymous inner class.
WARN: ignored invalid inner class name , treat as anonymous inner class.
jar2dex G:\΢▒▒▒▒▒\2020-01-23-11-16-13-tmp\output-jar.jar -> G:\΢▒▒▒▒▒\2020-01-23-11-16-13-tmp\wx7.0.8-apk-unzip-files\classes.dex
call com.android.dx.command.Main.main[--dex, --no-strict, --output=G:\΢▒▒▒▒▒\2020-01-23-11-16-13-tmp\wx7.0.8-apk-unzip-files\classes.dex, G:\΢▒▒▒▒▒\2020-01-23-11-16-13-tmp\output-jar.jar]
warning: Ignoring InnerClasses attribute for an anonymous inner class
(com.tencent.mm.plugin.appbrand.jsapi.pay.AppBrandJsApiPayService$1DuplicateActivityResultReceiver) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is not an inner class.

之后hook就是失败了

2020-01-23 11:17:56.525 24694-24694/? I/zygote: at java.lang.ClassLoader a.a.b.v.a(java.lang.ClassLoader, java.io.File, java.lang.String) (:174)
2020-01-23 11:17:56.525 24694-24694/? I/zygote: at com.swift.sandhook.wrapper.HookWrapper$HookEntity com.swift.sandhook.xposedcompat.methodgen.HookerDexMakerNew.doMake(java.lang.String, java.lang.String) (:-1)
2020-01-23 11:17:56.525 24694-24694/? I/zygote: at void com.swift.sandhook.xposedcompat.methodgen.HookerDexMakerNew.start(java.lang.reflect.Member, de.robv.android.xposed.XposedBridge$AdditionalHookInfo, java.lang.ClassLoader, java.lang.String) (:4)
2020-01-23 11:17:56.525 24694-24694/? I/zygote: at void com.swift.sandhook.xposedcompat.methodgen.DynamicBridge.hookMethod(java.lang.reflect.Member, de.robv.android.xposed.XposedBridge$AdditionalHookInfo) (:-1)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void de.robv.android.xposed.XposedBridge.hookMethodNative(java.lang.reflect.Member, java.lang.Class, int, java.lang.Object) (:-1)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at de.robv.android.xposed.XC_MethodHook$Unhook de.robv.android.xposed.XposedBridge.hookMethod(java.lang.reflect.Member, de.robv.android.xposed.XC_MethodHook) (:-1)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at de.robv.android.xposed.XC_MethodHook$Unhook de.robv.android.xposed.XposedHelpers.findAndHookMethod(java.lang.Class, java.lang.String, java.lang.Object[]) (:-1)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void com.qcg.wechathook.hook.BaseHook.hookMethod(java.lang.Class, java.lang.String, java.lang.Object[]) (BaseHook.java:18)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void com.qcg.wechathook.hook.SQLiteDatabaseHook.hook(de.robv.android.xposed.callbacks.XC_LoadPackage$LoadPackageParam) (SQLiteDatabaseHook.java:54)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void com.qcg.wechathook.Main.handleLoadPackage(de.robv.android.xposed.callbacks.XC_LoadPackage$LoadPackageParam) (Main.java:29)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(de.robv.android.xposed.callbacks.XC_LoadPackage$LoadPackageParam) (:-1)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void de.robv.android.xposed.callbacks.XC_LoadPackage.call(de.robv.android.xposed.callbacks.XCallback$Param) (:-1)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void de.robv.android.xposed.callbacks.XCallback.callAll(de.robv.android.xposed.callbacks.XCallback$Param) (:-1)
2020-01-23 11:17:56.526 24694-24694/? I/zygote: at void com.wind.xposed.entry.XposedModuleEntry.init() (:15)

打包一个没有加固的有特殊字符混淆app,失败了。

. Error process class: [2394]Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;
.. while accept method:[Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;.(Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/བཅོམ/ལྡནའ;Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/དས;Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/དས;Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/གིས;I)V]
... while accept parameter annotation in method:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;.(Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/བཅོམ/ལྡནའ;Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/དས;Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/དས;Lདསམཤ/སྐདབ/བཅོམ/བཅོམ/ལདག/གིས;I)V.
.... while accept parameter annotation in parameter:[5]
..... ROOT cause:
java.lang.ArrayIndexOutOfBoundsException: 5
at com.googlecode.d2j.node.DexMethodNode$1.visitAnnotation(DexMethodNode.java:111)
at com.googlecode.d2j.node.DexAnnotationNode.accept(DexAnnotationNode.java:124)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_item(DexFileReader.java:901)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_item(DexFileReader.java:891)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_ref_list(DexFileReader.java:1095)
at com.googlecode.d2j.reader.DexFileReader.acceptMethod(DexFileReader.java:1048)
at com.googlecode.d2j.reader.DexFileReader.acceptClass(DexFileReader.java:855)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:662)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:625)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:95)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:377)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:118)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:293)
at com.storm.wind.xpatch.task.ApkModifyTask.dex2JarCmd(ApkModifyTask.java:87)
at com.storm.wind.xpatch.task.ApkModifyTask.dumpJarFile(ApkModifyTask.java:68)
at com.storm.wind.xpatch.task.ApkModifyTask.run(ApkModifyTask.java:40)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:165)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:123)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:56)
. Error process class: [8779]Lབཅོམ/དག/བཅོམ/དསམཤ;
.. while accept method:[Lབཅོམ/དག/བཅོམ/དསམཤ;.གིས(Landroid/app/Activity;)V]
... while accept parameter annotation in method:Lབཅོམ/དག/བཅོམ/དསམཤ;.གིས(Landroid/app/Activity;)V.
.... while accept parameter annotation in parameter:[1]
..... ROOT cause:
java.lang.ArrayIndexOutOfBoundsException: 1
at com.googlecode.d2j.node.DexMethodNode$1.visitAnnotation(DexMethodNode.java:111)
at com.googlecode.d2j.node.DexAnnotationNode.accept(DexAnnotationNode.java:124)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_item(DexFileReader.java:901)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_item(DexFileReader.java:891)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_ref_list(DexFileReader.java:1095)
at com.googlecode.d2j.reader.DexFileReader.acceptMethod(DexFileReader.java:1048)
at com.googlecode.d2j.reader.DexFileReader.acceptClass(DexFileReader.java:855)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:662)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:625)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:95)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:377)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:118)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:293)
at com.storm.wind.xpatch.task.ApkModifyTask.dex2JarCmd(ApkModifyTask.java:87)
at com.storm.wind.xpatch.task.ApkModifyTask.dumpJarFile(ApkModifyTask.java:68)
at com.storm.wind.xpatch.task.ApkModifyTask.run(ApkModifyTask.java:40)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:165)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:123)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:56)
jar2dex /Users/lanshifu/Documents/反编译/猫咪/2019-07-20-14-03-31-tmp/output-jar.jar -> /Users/lanshifu/Documents/反编译/猫咪/2019-07-20-14-03-31-tmp/com.xmvideo.app.LovelyApp-apk-unzip-files/classes.dex
call com.android.dx.command.Main.main[--dex, --no-strict, --output=/Users/lanshifu/Documents/反编译/猫咪/2019-07-20-14-03-31-tmp/com.xmvideo.app.LovelyApp-apk-unzip-files/classes.dex, /Users/lanshifu/Documents/反编译/猫咪/2019-07-20-14-03-31-tmp/output-jar.jar]
Uncaught translation error: com.android.dex.util.ExceptionWithContext
Uncaught translation error: com.android.dex.util.ExceptionWithContext
2 errors; aborting

看到
.... while accept parameter annotation in parameter:[5]
..... ROOT cause:
java.lang.ArrayIndexOutOfBoundsException: 5
数组定太小了?

下标越界了

java.lang.ArrayIndexOutOfBoundsException: 1850
at wind.android.content.res.StringBlock.getShort(StringBlock.java:234)
at wind.android.content.res.StringBlock.getString(StringBlock.java:94)
at wind.android.content.res.AXmlResourceParser.getName(AXmlResourceParser.java:145)
at com.storm.wind.xpatch.util.ManifestParser.parseManidestFile(ManifestParser.java:43)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:140)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:123)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:56)

把模块打包进apk后,模块如何访问自己的resource?

之前我都是用createPackageContext(BuildConfig.APPLICATION_ID, Context.CONTEXT_IGNORE_SECURITY)来获取模块本身资源的。如果把模块打包进apk之后,模块本身是没有安装的,这样就不能用createPackageContext了。而ResourceHook也不能用,那如何访问自己的resource呢?(我现在是想把模块preference的xml加载起来然后再app里面搞一个设置页面)

打包钉钉的时候安装过7-8小时无法联网

这个在模拟器上经过测试(模拟器不支持Xpatch,所以测试的是我写的模块)是正常的。

而在真机上过了7-8个小时出现连接服务器失败的问题。
而且退出后台(系统自动清理或者手动清理)重新进入都会马上出现这个问题,不知道是模块加载时候的问题吗,由于真机没有root,看不到相关的日志,因此提个issue

多个dex文件时异常

trouble writing output: Too many method references to fit in one dex file: 65537; max is 65536.
You may try using multi-dex. If multi-dex is enabled then the list of classes for the main dex list is too large.
References by package:

抖音的error

trouble writing output: Too many method references to fit in one dex file: 65537; max is 65536.

疑惑

我对你的项目十分感兴趣,但是对于如何使用Xpatch有许多疑惑.
我的理解是, 通过Xpatch修改app使其能加载Xposed模块, 安装修改后的apk文件并安装想要使用的xposed模块(不安装xposed框架,不激活?).
我的理解有什么不对的地方吗?

用Xpatch打完的apk运行插件没效果

README.me中写了可以破解微信,以及使用文本自定义,可是我打包的微信运行文本自定义并没有效果,内部存储中也有加载的插件信息。
我使用的微信7.0.6,文本自定义版本2.1.2

微信(7.0.10) 打包后 Crash

微信 (7.0.10) (32bit) 在打包后发生 Native crash:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 Cause: null pointer dereference
Android 10

能否支持修改目标应用的version

希望能在命令行执行时增加两个参数:versionCode和versionName,用来替换目标应用的PackageInfo信息。否则目标应用升级后,xposed模块没更新只能使用旧版的情况下,会一直提示升级。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.