refactor: move plugins-api module into jadx-core

This commit is contained in:
Skylot
2022-08-21 20:55:31 +01:00
parent eae9bac938
commit 0c4d46ead5
105 changed files with 69 additions and 100 deletions
@@ -1,6 +1,5 @@
package jadx.plugins.script.runtime.data
import jadx.api.core.nodes.IMethodNode
import jadx.core.dex.nodes.MethodNode
import jadx.core.dex.visitors.DotGraphVisitor
import jadx.core.utils.DebugUtils
@@ -9,11 +8,11 @@ import java.io.File
class Debug(private val jadx: JadxScriptInstance) {
fun printMethodRegions(mth: IMethodNode, printInsns: Boolean = false) {
DebugUtils.printRegions(mth as MethodNode, printInsns)
fun printMethodRegions(mth: MethodNode, printInsns: Boolean = false) {
DebugUtils.printRegions(mth, printInsns)
}
fun saveCFG(mth: IMethodNode, file: File = File("dump-mth-raw")) {
DotGraphVisitor.dumpRaw().save(file, mth as MethodNode)
fun saveCFG(mth: MethodNode, file: File = File("dump-mth-raw")) {
DotGraphVisitor.dumpRaw().save(file, mth)
}
}
@@ -1,6 +1,5 @@
package jadx.plugins.script.runtime.data
import jadx.api.core.nodes.IRootNode
import jadx.core.dex.attributes.AFlag
import jadx.core.dex.attributes.IAttributeNode
import jadx.core.dex.nodes.IDexNode
@@ -19,12 +18,11 @@ class RenamePass(private val jadx: JadxScriptInstance) {
"RenameAll",
runBefore = listOf("RenameVisitor")
) {
override fun init(root: IRootNode) {
val rootNode = root as RootNode
for (pkgNode in rootNode.packages) {
override fun init(root: RootNode) {
for (pkgNode in root.packages) {
rename(makeNewName, pkgNode, pkgNode.pkgInfo.name)
}
for (cls in rootNode.classes) {
for (cls in root.classes) {
rename(makeNewName, cls, cls.name)
for (mth in cls.methods) {
if (!mth.isConstructor) {
@@ -1,6 +1,5 @@
package jadx.plugins.script.runtime.data
import jadx.api.core.nodes.IMethodNode
import jadx.core.dex.nodes.BlockNode
import jadx.core.dex.nodes.InsnNode
import jadx.core.dex.nodes.MethodNode
@@ -15,10 +14,9 @@ class Stages(private val jadx: JadxScriptInstance) {
"StageRawInsns",
runAfter = listOf("start")
) {
override fun visit(mth: IMethodNode) {
val mthNode = mth as MethodNode
mthNode.instructions?.let {
block.invoke(mthNode, it)
override fun visit(mth: MethodNode) {
mth.instructions?.let {
block.invoke(mth, it)
}
}
})
@@ -37,10 +35,9 @@ class Stages(private val jadx: JadxScriptInstance) {
"StageMthBlocks",
runBefore = listOf(beforePass)
) {
override fun visit(mth: IMethodNode) {
val mthNode = mth as MethodNode
mthNode.basicBlocks?.let {
block.invoke(mthNode, it)
override fun visit(mth: MethodNode) {
mth.basicBlocks?.let {
block.invoke(mth, it)
}
}
})
@@ -52,10 +49,9 @@ class Stages(private val jadx: JadxScriptInstance) {
"StageMthRegions",
runBefore = listOf("PrepareForCodeGen")
) {
override fun visit(mth: IMethodNode) {
val mthNode = mth as MethodNode
mthNode.region?.let {
block.invoke(mthNode, it)
override fun visit(mth: MethodNode) {
mth.region?.let {
block.invoke(mth, it)
}
}
})
@@ -1,13 +1,13 @@
package jadx.plugins.script.runtime.data
import jadx.api.core.nodes.IClassNode
import jadx.api.core.nodes.IMethodNode
import jadx.api.core.nodes.IRootNode
import jadx.api.plugins.pass.types.JadxDecompilePass
import jadx.api.plugins.pass.JadxPass
import jadx.api.plugins.pass.types.JadxPreparePass
import jadx.api.plugins.pass.impl.OrderedJadxPassInfo
import jadx.api.plugins.pass.impl.SimpleJadxPassInfo
import jadx.api.plugins.pass.types.JadxDecompilePass
import jadx.api.plugins.pass.types.JadxPreparePass
import jadx.core.dex.nodes.ClassNode
import jadx.core.dex.nodes.MethodNode
import jadx.core.dex.nodes.RootNode
import jadx.plugins.script.runtime.JadxScriptInstance
private fun buildScriptName(jadx: JadxScriptInstance, name: String) = "JadxScript${name}(${jadx.scriptName})"
@@ -26,14 +26,14 @@ abstract class ScriptDecompilePass(
) : JadxDecompilePass {
override fun getInfo() = buildSimplePassInfo(jadx, name)
override fun init(root: IRootNode) {
override fun init(root: RootNode) {
}
override fun visit(cls: IClassNode): Boolean {
override fun visit(cls: ClassNode): Boolean {
return true
}
override fun visit(mth: IMethodNode) {
override fun visit(mth: MethodNode) {
}
}
@@ -57,13 +57,13 @@ abstract class ScriptOrderedDecompilePass(
jadx: JadxScriptInstance, name: String, runAfter: List<String> = listOf(), runBefore: List<String> = listOf()
) : ScriptOrderedPass(jadx, name, runAfter, runBefore), JadxDecompilePass {
override fun init(root: IRootNode) {
override fun init(root: RootNode) {
}
override fun visit(cls: IClassNode): Boolean {
override fun visit(cls: ClassNode): Boolean {
return true
}
override fun visit(mth: IMethodNode) {
override fun visit(mth: MethodNode) {
}
}