public class BytecodeViewer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.util.ArrayList<java.lang.String> |
createdRandomizedNames |
static java.lang.String |
fs |
static java.util.ArrayList<java.lang.Process> |
krakatau |
static java.lang.String |
krakatauVersion |
static java.lang.String |
krakatauWorkingDirectory |
static java.lang.String |
lastDirectory |
static java.util.HashMap<java.lang.String,org.objectweb.asm.tree.ClassNode> |
loadedClasses |
static java.util.HashMap<java.lang.String,byte[]> |
loadedResources |
static ClassNodeLoader |
loader |
static java.lang.String |
nl |
static java.lang.String |
python |
static java.lang.String |
rt |
static boolean |
runningObfuscation |
static java.lang.String |
settingsName |
static SecurityMan |
sm |
static java.lang.String |
tempDirectory |
static java.lang.String |
version |
static MainViewerGUI |
viewer |
Constructor and Description |
---|
BytecodeViewer() |
Modifier and Type | Method and Description |
---|---|
static void |
addRecentFile(java.io.File f)
Add the recent file
|
static void |
addRecentPlugin(java.io.File f)
Add to the recent plugin list
|
static void |
checkKrakatau()
Drops the latest krakatau safely
|
static void |
cleanup()
Clears the temp directory
|
static boolean |
compile(boolean message)
Compile all of the compilable panes that're opened.
|
static void |
exit(int i)
because Smali and Baksmali System.exit if it failed
|
static java.lang.String |
getBCVDirectory()
Returns the BCV directory
|
static byte[] |
getClassFile(java.lang.Class<?> clazz)
Grab the byte array from the loaded Class object
|
static org.objectweb.asm.tree.ClassNode |
getClassNode(java.lang.String name)
Returns the ClassNode by the specified name
|
static org.objectweb.asm.tree.ClassNode |
getCurrentlyOpenedClassNode()
Returns the currently opened ClassNode
|
static byte[] |
getFileContents(java.lang.String name)
Grabs the file contents of the loaded resources.
|
static java.util.ArrayList<org.objectweb.asm.tree.ClassNode> |
getLoadedClasses()
Gets all of the loaded classes as an array list
|
static java.lang.String |
getRandomizedName()
Ensures it will only return a uniquely generated names, contains a dupe checker to be sure
|
static void |
main(java.lang.String[] args)
Main startup
|
static void |
openFiles(java.io.File[] files,
boolean recentFiles)
Opens a file, optional if it should append to the recent files menu
|
static void |
resetRecentFilesMenu()
resets the recent files menu
|
static void |
resetWorkSpace(boolean ask)
Resets the workspace with optional user input required
|
static void |
showMessage(java.lang.String message)
Send a message to alert the user
|
static void |
startPlugin(java.io.File plugin)
Starts the specified plugin
|
static void |
updateNode(org.objectweb.asm.tree.ClassNode oldNode,
org.objectweb.asm.tree.ClassNode newNode)
Replaces an old node with a new instance
|
public static java.lang.String version
public static java.lang.String krakatauVersion
public static MainViewerGUI viewer
public static ClassNodeLoader loader
public static java.lang.String python
public static java.lang.String rt
public static SecurityMan sm
public static java.util.HashMap<java.lang.String,org.objectweb.asm.tree.ClassNode> loadedClasses
public static java.util.HashMap<java.lang.String,byte[]> loadedResources
public static java.lang.String fs
public static java.lang.String nl
public static java.lang.String settingsName
public static java.lang.String tempDirectory
public static java.lang.String krakatauWorkingDirectory
public static boolean runningObfuscation
public static java.lang.String lastDirectory
public static java.util.ArrayList<java.lang.Process> krakatau
public static java.util.ArrayList<java.lang.String> createdRandomizedNames
public static byte[] getClassFile(java.lang.Class<?> clazz) throws java.io.IOException
clazz
- java.io.IOException
public static void main(java.lang.String[] args)
args
- files you want to openpublic static void exit(int i)
i
- public static org.objectweb.asm.tree.ClassNode getCurrentlyOpenedClassNode()
public static org.objectweb.asm.tree.ClassNode getClassNode(java.lang.String name)
name
- the class namepublic static byte[] getFileContents(java.lang.String name)
name
- the file namepublic static void updateNode(org.objectweb.asm.tree.ClassNode oldNode, org.objectweb.asm.tree.ClassNode newNode)
oldNode
- the old instancenewNode
- the new instancepublic static java.util.ArrayList<org.objectweb.asm.tree.ClassNode> getLoadedClasses()
public static boolean compile(boolean message)
message
- if it should send a message saying it's compiled sucessfully.public static void checkKrakatau()
public static void openFiles(java.io.File[] files, boolean recentFiles)
files
- the file(s) you wish to openrecentFiles
- if it should append to the recent files menupublic static void startPlugin(java.io.File plugin)
plugin
- the file of the pluginpublic static void showMessage(java.lang.String message)
message
- the message you need to sendpublic static void resetWorkSpace(boolean ask)
ask
- if should require user input or notpublic static void addRecentFile(java.io.File f)
f
- the recent filepublic static void addRecentPlugin(java.io.File f)
f
- the plugin filepublic static void resetRecentFilesMenu()
public static void cleanup()
public static java.lang.String getRandomizedName()
public static java.lang.String getBCVDirectory()