Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
qsynth-artifacts — QSynth를 위한 벤치마크 데이터셋 및 합성 아티팩트로, Tigress로 난독화된 C 함수, x86_64 바이너리, 실행 트레이스, 정답 데이터, 그리고 합성된 AST 결과를 포함합니다. | Kitploit
도구/GitHubGitHub/werew/qsynth-artifacts
Static AnalysisDynamic Analysis (Sandboxing)Code AnalysisReverse EngineeringBinary AnalysisPapers & ResearchLearning & Education
GitHubwerew/qsynth-artifacts

qsynth-artifacts

QSynth를 위한 벤치마크 데이터셋 및 합성 아티팩트로, Tigress로 난독화된 C 함수, x86_64 바이너리, 실행 트레이스, 정답 데이터, 그리고 합성된 AST 결과를 포함합니다.

저장소 보기
1146년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

QSynth 합성 아티팩트

데이터셋

이 아티팩트는 다음 네 가지 데이터셋을 제공합니다:

  • syntia: EncodeArithmetic과 EncodeData로 난독화된 500개의 함수
  • custom_EA: EncodeArithmetic으로 난독화된 500개의 함수
  • custom_VR_EA: Virtualize와 EncodeArithmetic으로 난독화된 500개의 함수
  • custom_EA_ED: EncodeArithmetic과 Virtualize로 난독화된 500개의 함수 (데이터베이스 트레이스는 293개의 함수로 잘림)

벤치마크

각 데이터셋 디렉터리에는 다음 파일들이 포함되어 있습니다:

  • original.c: 모든 함수를 포함하는 소스 파일

  • obfuscated.c: Tigress에 의해 생성된 난독화된 소스 파일

  • run_tigress.sh: obfuscated.c 파일을 재생성하기 위한 셸 스크립트

  • ground_truth.json: 정답(ground truth)을 포함하는 JSON 파일. 각 함수에 대해 original.c의 원본 표현식과 obfuscated.c의 난독화된 대응 표현식을 포함합니다

  • obfuscated: x86_64(no PIE)로 미리 컴파일된 바이너리

  • trace.db: SQLite 데이터베이스로 저장된 실행 트레이스 (아마도 가장 흥미로운 파일)

  • results:

    • qsynth.log: 합성 스크립트의 원시 출력
    • qsynth.json: QSynth가 처리 가능한 출력 (아마도 두 번째로 흥미로운 파일)

결과

qsynth.json은 각 함수에 대해 다음과 같은 항목을 포함합니다:

{
  "target_1": {
    "fun_name": "target_1",
    "start": 164,
    "stop": 238,
    "orig_ast": "~(b*d ^ d*d) - b",
    "orig_node": 10,
    "orig_depth": 5,
    "obfu_ast": "(((b & d)*(b | d) + (b & ~d)*(~b & d) & (d & d)*(d | d) + (d & ~d)*(~d & d)) - ((b & d)*(b | d) + (b & ~d)*(~b & d) | (d & d)*(d | d) + (d & ~d)*(~d & d)) - 1 ^ b) - ((~(((b & d)*(b | d) + (b & ~d)*(~b & d) & (d & d)*(d | d) + (d & ~d)*(~d & d)) - ((b & d)*(b | d) + (b & ~d)*(~b & d) | (d & d)*(d | d) + (d & ~d)*(~d & d)) - 1) & b) + (~(((b & d)*(b | d) + (b & ~d)*(~b & d) & (d & d)*(d | d) + (d & ~d)*(~d & d)) - ((b & d)*(b | d) + (b & ~d)*(~b & d) | (d & d)*(d | d) + (d & ~d)*(~d & d)) - 1) & b))",
    "obfu_node": 229,
    "obfu_depth": 12,
    "triton_ast": "(((b & d)*(b | d) + (~b & d)*(~d & b) & d*d) - (d*d | (b & d)*(b | d) + (~b & d)*(~d & b)) - 1 ^ b) - (((d*d ^ (b & d)*(b | d) + (~b & d)*(~d & b)) & b) + ((d*d ^ (b & d)*(b | d) + (~b & d)*(~d & b)) & b))",
    "triton_node": 95,
    "triton_depth": 10,
    "synthesized_ast": "~((d*d ^ d*b) + b)",
    "synth_node": 10,
    "synth_depth": 5,
    "dse_t": 0.10445356369018555,
    "synthesis_t": 0.03491616249084473,
    "sem_orig_obf": "UNK",
    "sem_obf_trit": "UNK",
    "sem_orig_synth": "OK",
    "is_simplified": true,
    "is_fully_synthesized": true
  }
}

start와 stop은 실행 트레이스 내의 오프셋(즉, DB의 id)입니다. 그런 다음 각 표현식에 대해 표현식 자체와 그 노드 크기 및 깊이가 있습니다. 그다음 dse_t, synthesis_t는 각각 심볼릭 실행 시간과 합성 시간을 제공합니다. is_simplified와 is_fully_synthesized는 함수가 단순화되었는지, 그리고 그렇다면 완전히 단순화되었는지를 나타냅니다. sem_orig_obf, sem_obf_trit 그리고 sem_orig_synth는 예를 들어 원본과 합성된 것 사이에서 시맨틱이 보존되었는지 (sem_orig_synth)를 나타냅니다. "UNK"는 검사되지 않았거나 타임아웃이 발생했음을 나타냅니다.

합성 오라클 테이블

벤치마크에 사용된 테이블은 여기에서 확인할 수 있습니다: https://ret2libc.com/static/various/lts_15/ 이들은 Python pickle 객체입니다. 표현식은 Syntia와 유사한 Reverse-Polish-Notation(RPN)으로 인코딩되어 있습니다.

도구 다운로드