Added View Manifest Plugin
This commit is contained in:
parent
5cbe3122e5
commit
cf42e4bf67
1 changed files with 48 additions and 0 deletions
|
@ -0,0 +1,48 @@
|
||||||
|
package the.bytecode.club.bytecodeviewer.plugin.preinstalled;
|
||||||
|
|
||||||
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.api.Plugin;
|
||||||
|
import the.bytecode.club.bytecodeviewer.api.PluginConsole;
|
||||||
|
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Konloch
|
||||||
|
* @since 07/11/2021
|
||||||
|
*/
|
||||||
|
public class ViewManifest extends Plugin
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void execute(ArrayList<ClassNode> classNodeList)
|
||||||
|
{
|
||||||
|
PluginConsole frame = new PluginConsole("View Manifest");
|
||||||
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
//TODO android APKs may have AndroidManifests that can be viewed normally, this should be checked
|
||||||
|
byte[] encodedAndroidManifest = BytecodeViewer.getFileContents("AndroidManifest.xml");
|
||||||
|
if(encodedAndroidManifest != null)
|
||||||
|
{
|
||||||
|
frame.appendText("Android APK Manifest:\r");
|
||||||
|
byte[] decodedAndroidManifest = BytecodeViewer.getFileContents("Decoded Resources/AndroidManifest.xml");
|
||||||
|
if(decodedAndroidManifest != null)
|
||||||
|
frame.appendText(new String(decodedAndroidManifest, StandardCharsets.UTF_8));
|
||||||
|
else
|
||||||
|
frame.appendText("Enable Settings>Decode APK Resources!");
|
||||||
|
}
|
||||||
|
|
||||||
|
byte[] jarManifest = BytecodeViewer.getFileContents("META-INF/MANIFEST.MF");
|
||||||
|
if(jarManifest != null)
|
||||||
|
{
|
||||||
|
if(!frame.getTextArea().getText().isEmpty())
|
||||||
|
frame.appendText("\r\r\r\r");
|
||||||
|
|
||||||
|
frame.appendText("Java Jar Manifest:\r");
|
||||||
|
frame.appendText(new String(jarManifest, StandardCharsets.UTF_8));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(frame.getTextArea().getText().isEmpty())
|
||||||
|
frame.appendText("Manifest not found!");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue