mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-05-01 22:54:26 +02:00
dump/restore signatures as slit
This commit is contained in:
parent
d41bc5857c
commit
3c6df812ee
@ -62,9 +62,9 @@ public class ApkJsonDecoder {
|
|||||||
if(signatureBlock == null){
|
if(signatureBlock == null){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
apkModule.logMessage("Dumping signatures: " + ApkUtil.SIGNATURE_FILE_NAME);
|
apkModule.logMessage("Dumping signatures ...");
|
||||||
File file = toSignatureFile(outDir);
|
File dir = toSignatureDir(outDir);
|
||||||
signatureBlock.writeRaw(file);
|
signatureBlock.writeSplitRawToDirectory(dir);
|
||||||
}
|
}
|
||||||
private void writePathMap(File dir) throws IOException {
|
private void writePathMap(File dir) throws IOException {
|
||||||
PathMap pathMap = new PathMap();
|
PathMap pathMap = new PathMap();
|
||||||
@ -200,9 +200,9 @@ public class ApkJsonDecoder {
|
|||||||
String name = "public.xml";
|
String name = "public.xml";
|
||||||
return new File(file, name);
|
return new File(file, name);
|
||||||
}
|
}
|
||||||
private File toSignatureFile(File dir){
|
private File toSignatureDir(File dir){
|
||||||
File file = new File(dir, apkModule.getModuleName());
|
dir = new File(dir, apkModule.getModuleName());
|
||||||
return new File(file, ApkUtil.SIGNATURE_FILE_NAME);
|
return new File(dir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||||
}
|
}
|
||||||
private File toPathMapJsonFile(File dir){
|
private File toPathMapJsonFile(File dir){
|
||||||
File file = new File(dir, apkModule.getModuleName());
|
File file = new File(dir, apkModule.getModuleName());
|
||||||
|
@ -50,14 +50,14 @@ public class ApkJsonEncoder {
|
|||||||
return module;
|
return module;
|
||||||
}
|
}
|
||||||
private void restoreSignatures(File dir, ApkModule apkModule){
|
private void restoreSignatures(File dir, ApkModule apkModule){
|
||||||
File file = new File(dir, ApkUtil.SIGNATURE_FILE_NAME);
|
File sigDir = new File(dir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||||
if(!file.isFile()){
|
if(!sigDir.isFile()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logMessage("Loading signature: " + file.getName());
|
logMessage("Loading signatures ...");
|
||||||
ApkSignatureBlock signatureBlock = new ApkSignatureBlock();
|
ApkSignatureBlock signatureBlock = new ApkSignatureBlock();
|
||||||
try {
|
try {
|
||||||
signatureBlock.read(file);
|
signatureBlock.scanSplitFiles(sigDir);
|
||||||
apkModule.setApkSignatureBlock(signatureBlock);
|
apkModule.setApkSignatureBlock(signatureBlock);
|
||||||
} catch (IOException exception){
|
} catch (IOException exception){
|
||||||
logError("Failed to load signatures: ", exception);
|
logError("Failed to load signatures: ", exception);
|
||||||
|
@ -101,9 +101,9 @@ import java.util.*;
|
|||||||
if(signatureBlock == null){
|
if(signatureBlock == null){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logMessage("Dumping signatures: " + ApkUtil.SIGNATURE_FILE_NAME);
|
logMessage("Dumping signatures ...");
|
||||||
File file = new File(outDir, ApkUtil.SIGNATURE_FILE_NAME);
|
File dir = new File(outDir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||||
signatureBlock.writeRaw(file);
|
signatureBlock.writeSplitRawToDirectory(dir);
|
||||||
}
|
}
|
||||||
private void writePathMap(File dir) throws IOException {
|
private void writePathMap(File dir) throws IOException {
|
||||||
PathMap pathMap = new PathMap();
|
PathMap pathMap = new PathMap();
|
||||||
|
@ -45,14 +45,14 @@ public class ApkModuleXmlEncoder {
|
|||||||
restoreSignatures(mainDirectory);
|
restoreSignatures(mainDirectory);
|
||||||
}
|
}
|
||||||
private void restoreSignatures(File dir) throws IOException {
|
private void restoreSignatures(File dir) throws IOException {
|
||||||
File file = new File(dir, ApkUtil.SIGNATURE_FILE_NAME);
|
File sigDir = new File(dir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||||
if(!file.isFile()){
|
if(!sigDir.isFile()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ApkModule apkModule = getApkModule();
|
ApkModule apkModule = getApkModule();
|
||||||
apkModule.logMessage("Loading signature: " + file.getName());
|
apkModule.logMessage("Loading signatures ...");
|
||||||
ApkSignatureBlock signatureBlock = new ApkSignatureBlock();
|
ApkSignatureBlock signatureBlock = new ApkSignatureBlock();
|
||||||
signatureBlock.read(file);
|
signatureBlock.scanSplitFiles(sigDir);
|
||||||
apkModule.setApkSignatureBlock(signatureBlock);
|
apkModule.setApkSignatureBlock(signatureBlock);
|
||||||
}
|
}
|
||||||
private void restorePathMap(File dir) throws IOException{
|
private void restorePathMap(File dir) throws IOException{
|
||||||
|
@ -194,6 +194,7 @@ public class ApkUtil {
|
|||||||
public static final String TAG_INTEGER_ARRAY = "integer-array";
|
public static final String TAG_INTEGER_ARRAY = "integer-array";
|
||||||
|
|
||||||
public static final String SIGNATURE_FILE_NAME = "signatures" + ApkSignatureBlock.FILE_EXT;
|
public static final String SIGNATURE_FILE_NAME = "signatures" + ApkSignatureBlock.FILE_EXT;
|
||||||
|
public static final String SIGNATURE_DIR_NAME = "signatures";
|
||||||
|
|
||||||
private static final int MAX_FILE_NAME_LENGTH = 50;
|
private static final int MAX_FILE_NAME_LENGTH = 50;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user