Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 웹 해킹 입문
- UKPT level
- Service
- PHP
- 파이썬
- webhacking
- 국정원
- 정보보안
- 경기팀
- 프로젝트
- 기타정보
- 불법유통
- 12기
- suninatas
- UKPT
- HTML
- 도구모음
- 여행
- 국가정보원
- codeup
- MITRE ATT&CK
- 불법유통근절
- 화학물질안전원
- 화학물질불법유통온라인감시단
- 연구모임
- 대외활동
- Los
- 화학물질
- 국가기록원
- nurisec
Archives
- Today
- Total
agencies
Joern (Deepdfa : nodes edges cpg) 생성 (완료) 본문
※ 드디어 찾아냈습니다.
사실 DeepDFA 파일 내부에 노드 엣지 cpg를 생성해주는 joern script가 있었습니다.
환경은 colab에서 진행했습니다.
1. joern 1.1.1072 버전 설치
2. deepdfa git으로 설치
!git clone https://github.com/ISU-PAAL/DeepDFA.git
!wget https://github.com/joernio/joern/releases/download/v1.1.1072/joern-cli.zip
!unzip joern-cli.zip -d joern-cli
터미널에서 joern을 사용할 수 있도록 환경변수를 설정해줍니다.
export PATH=$PATH:/content/joern-cli/joern-cli
그리고 노드 엣지를 생성해주는 script 파일이 위치한 경로로 이동합니다.
DeepDFA > DDFA > storage > external > get_func_graph.sc
joern --script get_func_graph.sc --params filename=/content/100006.c
위코드로 아래의 결과물 도출
(추가)
C 소스코드 여러개를 한 폴더에 넣고 output도 한 폴더에 넣는다
import sys, os
import subprocess
# 노드 엣지 cpg 파일 넣는 곳
try:
os.mkdir("big-joern")
except:
pass
try:
os.mkdir("c_to_joern")
except:
pass
joern = "/content/joern-cli/joern-cli/joern"
folder_path = "c_to_joern"
for filename in os.listdir(folder_path):
if filename.endswith(".c"):
file_path = os.path.join(folder_path, filename)
file_path = "/content/" + file_path
print(file_path)
subprocess.run([joern, "--script", "/content/big-joern.sc", "--params", f"filename={file_path}"])
big-joern.sc 파일은
deepdfa 에 있는 스크립트 파일을 가지고 온다.
'Ⅲ. 정보보안' 카테고리의 다른 글
DeepDFA(초안) (1) | 2024.10.12 |
---|---|
파이썬 엑셀 불러와서 읽을 때 (용량이 너무 커서 안 될 경우) (0) | 2024.10.12 |
joern으로 생성한 노드를 before 형식에 맞게 정렬 (0) | 2024.10.08 |
Joern을 이용한 CPG node edge 생성하기 (deepdfa) 1.1.1072 version (1) | 2024.10.07 |
WSL2 그래픽 환경 사용하기 (1) | 2024.09.09 |