File tree Expand file tree Collapse file tree
jadx-plugins/jadx-aab-input/src/main/java/jadx/plugins/input/aab Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44import jadx .api .plugins .JadxPluginContext ;
55import jadx .api .plugins .JadxPluginInfo ;
66import jadx .api .plugins .resources .IResourcesLoader ;
7+ import jadx .plugins .input .aab .factories .ProtoAppDependenciesResContainerFactory ;
8+ import jadx .plugins .input .aab .factories .ProtoAssetsConfigResContainerFactory ;
79import jadx .plugins .input .aab .factories .ProtoBundleConfigResContainerFactory ;
10+ import jadx .plugins .input .aab .factories .ProtoNativeConfigResContainerFactory ;
811import jadx .plugins .input .aab .factories .ProtoTableResContainerFactory ;
912import jadx .plugins .input .aab .factories .ProtoXmlResContainerFactory ;
1013
@@ -28,5 +31,8 @@ public synchronized void init(JadxPluginContext context) {
2831 resourcesLoader .addResContainerFactory (new ProtoTableResContainerFactory (tableParserProvider ));
2932 resourcesLoader .addResContainerFactory (new ProtoXmlResContainerFactory ());
3033 resourcesLoader .addResContainerFactory (new ProtoBundleConfigResContainerFactory ());
34+ resourcesLoader .addResContainerFactory (new ProtoAssetsConfigResContainerFactory ());
35+ resourcesLoader .addResContainerFactory (new ProtoNativeConfigResContainerFactory ());
36+ resourcesLoader .addResContainerFactory (new ProtoAppDependenciesResContainerFactory ());
3137 }
3238}
Original file line number Diff line number Diff line change 1+ package jadx .plugins .input .aab .factories ;
2+
3+ import com .android .bundle .AppDependenciesOuterClass ;
4+ import com .android .bundle .Files ;
5+ import jadx .api .ICodeInfo ;
6+ import jadx .api .ResourceFile ;
7+ import jadx .api .impl .SimpleCodeInfo ;
8+ import jadx .api .plugins .resources .IResContainerFactory ;
9+ import jadx .core .xmlgen .ResContainer ;
10+ import org .jetbrains .annotations .Nullable ;
11+
12+ import java .io .IOException ;
13+ import java .io .InputStream ;
14+
15+ public class ProtoAppDependenciesResContainerFactory implements IResContainerFactory {
16+
17+ @ Override
18+ public @ Nullable ResContainer create (ResourceFile resFile , InputStream inputStream ) throws IOException {
19+ if (!resFile .getOriginalName ().endsWith ("BUNDLE-METADATA/com.android.tools.build.libraries/dependencies.pb" )) {
20+ return null ;
21+ }
22+
23+ AppDependenciesOuterClass .AppDependencies appDependencies = AppDependenciesOuterClass .AppDependencies .parseFrom (inputStream );
24+ ICodeInfo content = new SimpleCodeInfo (appDependencies .toString ());
25+ return ResContainer .textResource (resFile .getDeobfName (), content );
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ package jadx .plugins .input .aab .factories ;
2+
3+ import com .android .bundle .Files ;
4+ import jadx .api .ICodeInfo ;
5+ import jadx .api .ResourceFile ;
6+ import jadx .api .impl .SimpleCodeInfo ;
7+ import jadx .api .plugins .resources .IResContainerFactory ;
8+ import jadx .core .xmlgen .ResContainer ;
9+ import org .jetbrains .annotations .Nullable ;
10+
11+ import java .io .IOException ;
12+ import java .io .InputStream ;
13+
14+ public class ProtoAssetsConfigResContainerFactory implements IResContainerFactory {
15+
16+ @ Override
17+ public @ Nullable ResContainer create (ResourceFile resFile , InputStream inputStream ) throws IOException {
18+ if (!resFile .getOriginalName ().endsWith ("assets.pb" )) {
19+ return null ;
20+ }
21+
22+ Files .Assets assetsConfig = Files .Assets .parseFrom (inputStream );
23+ ICodeInfo content = new SimpleCodeInfo (assetsConfig .toString ());
24+ return ResContainer .textResource (resFile .getDeobfName (), content );
25+ }
26+ }
Original file line number Diff line number Diff line change 1+ package jadx .plugins .input .aab .factories ;
2+
3+ import com .android .bundle .Files ;
4+ import jadx .api .ICodeInfo ;
5+ import jadx .api .ResourceFile ;
6+ import jadx .api .impl .SimpleCodeInfo ;
7+ import jadx .api .plugins .resources .IResContainerFactory ;
8+ import jadx .core .xmlgen .ResContainer ;
9+ import org .jetbrains .annotations .Nullable ;
10+
11+ import java .io .IOException ;
12+ import java .io .InputStream ;
13+
14+ public class ProtoNativeConfigResContainerFactory implements IResContainerFactory {
15+
16+ @ Override
17+ public @ Nullable ResContainer create (ResourceFile resFile , InputStream inputStream ) throws IOException {
18+ if (!resFile .getOriginalName ().endsWith ("native.pb" )) {
19+ return null ;
20+ }
21+
22+ Files .NativeLibraries nativeConfig = Files .NativeLibraries .parseFrom (inputStream );
23+ ICodeInfo content = new SimpleCodeInfo (nativeConfig .toString ());
24+ return ResContainer .textResource (resFile .getDeobfName (), content );
25+ }
26+ }
You can’t perform that action at this time.
0 commit comments