Spaces:
Running
Running
Commit
·
b1add05
1
Parent(s):
bbc4bc2
update
Browse files- Dockerfile +20 -4
- main.py +1 -3
Dockerfile
CHANGED
|
@@ -6,16 +6,32 @@ WORKDIR /code
|
|
| 6 |
|
| 7 |
COPY ./requirements.txt /code/requirements.txt
|
| 8 |
|
| 9 |
-
RUN apt
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
-
RUN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
# Install DIRTY Ghidra
|
| 14 |
|
| 15 |
WORKDIR /
|
| 16 |
|
| 17 |
-
RUN git clone https://github.com/edmcman/DIRTY
|
| 18 |
-
|
|
|
|
|
|
|
| 19 |
|
| 20 |
# Set up a new user named "user" with user ID 1000
|
| 21 |
RUN useradd -m -u 1000 user
|
|
|
|
| 6 |
|
| 7 |
COPY ./requirements.txt /code/requirements.txt
|
| 8 |
|
| 9 |
+
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
| 10 |
+
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
| 11 |
+
apt-get -y update && apt-get -y install -y python3-pip python-is-python3 \
|
| 12 |
+
git pkg-config libsentencepiece-dev nano sudo unzip
|
| 13 |
|
| 14 |
+
# RUN --mount=type=cache,target=/root/.npm
|
| 15 |
+
RUN --mount=type=cache,target=/root/.cache pip install --no-cache-dir --upgrade -r /code/requirements.txt
|
| 16 |
+
|
| 17 |
+
# Install Ghidrathon
|
| 18 |
+
|
| 19 |
+
WORKDIR /tmp/
|
| 20 |
+
|
| 21 |
+
RUN wget https://github.com/mandiant/Ghidrathon/releases/download/v4.0.0/Ghidrathon-v4.0.0.zip
|
| 22 |
+
RUN unzip Ghidrathon-v4.0.0.zip -d ghidrathon
|
| 23 |
+
RUN python -m pip install -r ghidrathon/requirements.txt
|
| 24 |
+
RUN python ghidrathon/ghidrathon_configure.py /ghidra
|
| 25 |
+
RUN unzip ghidrathon/Ghidrathon-v4.0.0.zip -d /ghidra/Ghidra/Extensions
|
| 26 |
|
| 27 |
# Install DIRTY Ghidra
|
| 28 |
|
| 29 |
WORKDIR /
|
| 30 |
|
| 31 |
+
#RUN git clone -b main https://github.com/edmcman/DIRTY
|
| 32 |
+
ADD ./DIRTY /DIRTY
|
| 33 |
+
|
| 34 |
+
RUN --mount=type=cache,target=/root/.cache pip install --no-cache-dir --upgrade -r /DIRTY/requirements.txt
|
| 35 |
|
| 36 |
# Set up a new user named "user" with user ID 1000
|
| 37 |
RUN useradd -m -u 1000 user
|
main.py
CHANGED
|
@@ -9,13 +9,12 @@ def new_binary(file):
|
|
| 9 |
|
| 10 |
with tempfile.TemporaryDirectory() as TEMP_DIR, tempfile.TemporaryDirectory() as OUTPUT_DIR:
|
| 11 |
shutil.copy2(file.name, TEMP_DIR)
|
|
|
|
| 12 |
|
| 13 |
# python3 generate.py --ghidra PATH_TO_GHIDRA_ANALYZEHEADLESS -t NUM_THREADS -n [NUM_FILES|None] -b BINARIES_DIR -o OUTPUT_DIR
|
| 14 |
print("Running DIRTY-Ghidra...", file=sys.stderr)
|
| 15 |
subprocess.run(f"python /DIRTY/dataset-gen-ghidra/generate.py --verbose --ghidra /ghidra/support/analyzeHeadless -t 1 -b {TEMP_DIR} -o {OUTPUT_DIR}", shell=True)
|
| 16 |
-
subprocess.run(f"ls -lR {TEMP_DIR}", shell=True)
|
| 17 |
subprocess.run(f"ls -lR {OUTPUT_DIR}", shell=True)
|
| 18 |
-
subprocess.run(f"/ghidra/support/analyzeHeadless -h", shell=True)
|
| 19 |
|
| 20 |
|
| 21 |
with gr.Blocks() as demo:
|
|
@@ -42,7 +41,6 @@ with gr.Blocks() as demo:
|
|
| 42 |
else:
|
| 43 |
|
| 44 |
#fun_data = {42: 2, 43: 3}
|
| 45 |
-
print("hi")
|
| 46 |
new_binary(file)
|
| 47 |
progress(0, desc="Decompiling binary...")
|
| 48 |
#fun_data = get_all_dis(file.name)
|
|
|
|
| 9 |
|
| 10 |
with tempfile.TemporaryDirectory() as TEMP_DIR, tempfile.TemporaryDirectory() as OUTPUT_DIR:
|
| 11 |
shutil.copy2(file.name, TEMP_DIR)
|
| 12 |
+
subprocess.run(f"ls -lR {TEMP_DIR}", shell=True)
|
| 13 |
|
| 14 |
# python3 generate.py --ghidra PATH_TO_GHIDRA_ANALYZEHEADLESS -t NUM_THREADS -n [NUM_FILES|None] -b BINARIES_DIR -o OUTPUT_DIR
|
| 15 |
print("Running DIRTY-Ghidra...", file=sys.stderr)
|
| 16 |
subprocess.run(f"python /DIRTY/dataset-gen-ghidra/generate.py --verbose --ghidra /ghidra/support/analyzeHeadless -t 1 -b {TEMP_DIR} -o {OUTPUT_DIR}", shell=True)
|
|
|
|
| 17 |
subprocess.run(f"ls -lR {OUTPUT_DIR}", shell=True)
|
|
|
|
| 18 |
|
| 19 |
|
| 20 |
with gr.Blocks() as demo:
|
|
|
|
| 41 |
else:
|
| 42 |
|
| 43 |
#fun_data = {42: 2, 43: 3}
|
|
|
|
| 44 |
new_binary(file)
|
| 45 |
progress(0, desc="Decompiling binary...")
|
| 46 |
#fun_data = get_all_dis(file.name)
|