Skip to content

Commit

Permalink
Merge pull request #15 from bliutech/register-plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
bliutech authored Jul 11, 2024
2 parents 6f4fa02 + 4759412 commit 546e5ea
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
from binaryninja.log import log_info
from binaryninja.binaryview import BinaryViewType
from binaryninja.plugin import PluginCommand
from binaryninja.plugin import BackgroundTaskThread
from binaryninja.enums import MediumLevelILOperation


class MBADeobfuscationInBackground(BackgroundTaskThread):
"""Assigns a thread to MBA deobfuscation"""

def __init__(self, bv: BinaryViewType, msg: str):
"""Initiates the MBADeobfuscationInBackground object and defines bv attribute"""
BackgroundTaskThread.__init__(self, msg, True)
self.bv = bv

def run(self):
"""Logs all program if statements to BinaryNinja log"""
for instr in self.bv.mlil_instructions:
if instr.operation == MediumLevelILOperation.MLIL_IF:
log_info(instr)


def mba_deobfuscation_in_background(bv: BinaryViewType):
"""Creates a background task and starts MBA deobfuscation"""
background_task: MBADeobfuscationInBackground = MBADeobfuscationInBackground(
bv, "Starting MBA Deobfuscation"
)
background_task.start()


PluginCommand.register(
"MBA Deobfuscation", "Simplifying booleans", mba_deobfuscation_in_background
)

0 comments on commit 546e5ea

Please sign in to comment.