Spaces:
Sleeping
Sleeping
Commit
·
1311a82
1
Parent(s):
057ba08
help
Browse files
app.py
CHANGED
|
@@ -35,9 +35,7 @@ and I reused some of their own code to do this.
|
|
| 35 |
hf_key = os.environ["HF_TOKEN"]
|
| 36 |
huggingface_hub.login(token=hf_key)
|
| 37 |
|
| 38 |
-
tokenizer = AutoTokenizer.from_pretrained(
|
| 39 |
-
"bigcode/starcoderbase-3b"
|
| 40 |
-
)
|
| 41 |
vardecoder_model = AutoModelForCausalLM.from_pretrained(
|
| 42 |
"ejschwartz/resym-vardecoder", torch_dtype=torch.bfloat16, device_map="auto"
|
| 43 |
)
|
|
@@ -62,12 +60,16 @@ return sub_411142(a1, a2, &v4);
|
|
| 62 |
def infer(code):
|
| 63 |
|
| 64 |
splitcode = code.splitlines()
|
| 65 |
-
bodyvars = [
|
| 66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
vars = argvars + bodyvars
|
| 68 |
-
#comments = prep_decompiled.extract_comments(splitcode)
|
| 69 |
-
#sig = prep_decompiled.parse_signature(splitcode)
|
| 70 |
-
#print(f"vars {vars}")
|
| 71 |
|
| 72 |
varstring = ", ".join([f"`{v}`" for v in vars])
|
| 73 |
|
|
@@ -118,11 +120,13 @@ def infer(code):
|
|
| 118 |
demo = gr.Interface(
|
| 119 |
fn=infer,
|
| 120 |
inputs=[
|
| 121 |
-
gr.Textbox(lines=10, value=example),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
],
|
| 123 |
-
|
| 124 |
-
gr.Text(label="Field Decoder Output"),
|
| 125 |
-
gr.Text(label="Generated Variable List")],
|
| 126 |
-
description=description
|
| 127 |
)
|
| 128 |
demo.launch()
|
|
|
|
| 35 |
hf_key = os.environ["HF_TOKEN"]
|
| 36 |
huggingface_hub.login(token=hf_key)
|
| 37 |
|
| 38 |
+
tokenizer = AutoTokenizer.from_pretrained("bigcode/starcoderbase-3b")
|
|
|
|
|
|
|
| 39 |
vardecoder_model = AutoModelForCausalLM.from_pretrained(
|
| 40 |
"ejschwartz/resym-vardecoder", torch_dtype=torch.bfloat16, device_map="auto"
|
| 41 |
)
|
|
|
|
| 60 |
def infer(code):
|
| 61 |
|
| 62 |
splitcode = code.splitlines()
|
| 63 |
+
bodyvars = [
|
| 64 |
+
v["name"] for v in prep_decompiled.extract_comments(splitcode) if "name" in v
|
| 65 |
+
]
|
| 66 |
+
argvars = [
|
| 67 |
+
v["name"] for v in prep_decompiled.parse_signature(splitcode) if "name" in v
|
| 68 |
+
]
|
| 69 |
vars = argvars + bodyvars
|
| 70 |
+
# comments = prep_decompiled.extract_comments(splitcode)
|
| 71 |
+
# sig = prep_decompiled.parse_signature(splitcode)
|
| 72 |
+
# print(f"vars {vars}")
|
| 73 |
|
| 74 |
varstring = ", ".join([f"`{v}`" for v in vars])
|
| 75 |
|
|
|
|
| 120 |
demo = gr.Interface(
|
| 121 |
fn=infer,
|
| 122 |
inputs=[
|
| 123 |
+
gr.Textbox(lines=10, value=example, label="Hex-Rays Decompilation"),
|
| 124 |
+
],
|
| 125 |
+
outputs=[
|
| 126 |
+
gr.Text(label="Var Decoder Output"),
|
| 127 |
+
gr.Text(label="Field Decoder Output"),
|
| 128 |
+
gr.Text(label="Generated Variable List"),
|
| 129 |
],
|
| 130 |
+
description=description,
|
|
|
|
|
|
|
|
|
|
| 131 |
)
|
| 132 |
demo.launch()
|