Formatting
This commit is contained in:
parent
d0036e0a44
commit
9a171fadab
18
script.py
18
script.py
@ -12,23 +12,25 @@ from typing import List, Dict
|
|||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("file", help="File to analyze")
|
parser.add_argument("file", help="File to analyze")
|
||||||
parser.add_argument("-d", "--debug", help="Enable debug mode", action = "store_true", default = False)
|
parser.add_argument(
|
||||||
|
"-d", "--debug", help="Enable debug mode", action="store_true", default=False
|
||||||
|
)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
class WrappedBin:
|
class WrappedBin:
|
||||||
def __init__(self, filename: str):
|
def __init__(self, filename: str):
|
||||||
self.angr: angr.Project = angr.Project(filename)
|
self.angr: angr.Project = angr.Project(filename)
|
||||||
|
|
||||||
"""
|
|
||||||
Interface
|
|
||||||
"""
|
|
||||||
class Analysis:
|
class Analysis:
|
||||||
def __init__(self, target: WrappedBin):
|
def __init__(self, target: WrappedBin):
|
||||||
self.target = target
|
self.target = target
|
||||||
|
|
||||||
def name(self) -> str:
|
def name(self) -> str:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def execute(self):
|
def execute(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -36,11 +38,16 @@ class Analysis:
|
|||||||
# get all attributes of the instance
|
# get all attributes of the instance
|
||||||
instance_vars = vars(self)
|
instance_vars = vars(self)
|
||||||
# filter out attributes that belong to the parent class
|
# filter out attributes that belong to the parent class
|
||||||
return {k: str(v) for k, v in instance_vars.items() if not k.startswith("__") and k != "target"}
|
return {
|
||||||
|
k: str(v)
|
||||||
|
for k, v in instance_vars.items()
|
||||||
|
if not k.startswith("__") and k != "target"
|
||||||
|
}
|
||||||
|
|
||||||
def __json_dumps__(self) -> str:
|
def __json_dumps__(self) -> str:
|
||||||
return json.dumps(self.__get_relevant_vars__())
|
return json.dumps(self.__get_relevant_vars__())
|
||||||
|
|
||||||
|
|
||||||
class AnalysisManager:
|
class AnalysisManager:
|
||||||
def __init__(self, target: WrappedBin, tasks: List[Analysis] = []):
|
def __init__(self, target: WrappedBin, tasks: List[Analysis] = []):
|
||||||
self.target: WrappedBin = target
|
self.target: WrappedBin = target
|
||||||
@ -95,5 +102,6 @@ def main():
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user