Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Fermion — Fermion, an electron wrapper for Frida & Monaco. | Kitploit
도구/GitHubGitHub/fuzzysecurity/fermion
Android SecurityDynamic Analysis (Sandboxing)Dynamic Code Analysis (DAST)Mobile App PentestingReverse EngineeringDebuggersBinary Analysis
GitHubfuzzysecurity/fermion

Fermion

Fermion, an electron wrapper for Frida & Monaco.

저장소 보기
700831년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CI stars forks release frida-node frida-gum

Fermion

Fermion은 frida-node와 monaco-editor를 래핑하는 electron 애플리케이션입니다. 단일 UI를 통해 Frida 스크립트를 프로토타이핑하고, 테스트하고, 다듬을 수 있는 완전한 통합 환경을 제공합니다. Monaco가 통합됨에 따라 Visual Studio Code에서 기대할 수 있는 모든 기능(린팅, IntelliSense, 키 바인딩 등)을 사용할 수 있습니다. 또한 Fermion은 Frida API에 대한 TypeScript 언어 정의를 포함하므로 Frida 스크립트를 쉽게 작성할 수 있습니다.

이름에 담긴 의미: 페르미온(Fermion)은 전자와 같은 기본 입자일 수도 있고, 양성자와 같은 복합 입자일 수도 있습니다. 페르미온에는 모든 쿼크와 렙톤은 물론, 이들로 구성된 홀수 개의 복합 입자(모든 중입자와 많은 원자 및 원자핵)가 포함됩니다.

Fermion을 얻으려면?

소스에서 Fermion 실행

저장소를 다운로드하고 터미널에서 Fermion 폴더로 이동합니다. 그런 다음 다음 환경 변수를 설정합니다.

root@kitploit:~
# Windows
set npm_config_runtime=electron
set npm_config_target=21.0.0

# Linux / OSX
export npm_config_runtime=electron
export npm_config_target=21.0.0

그런 다음 아래 명령으로 Fermion 실행에 필요한 패키지를 설치합니다:

root@kitploit:~
npm install

설치가 완료되면 다음 명령으로 Fermion을 실행할 수 있습니다:

root@kitploit:~
npm start

릴리스 패키지 컴파일

위 단계를 완료한 다음 터미널에서 다음 명령을 실행합니다:

root@kitploit:~
# Windows
electron-packager . --icon .\src\images\fermion-ico.ico

# Linux
electron-packager . --icon ./src/images/fermion-ico.png

# OSX
electron-packager . --icon ./src/images/fermion-ico.icns

릴리스

x64 Windows 및 Linux용 최신 사전 빌드 Fermion은 releases에서 받을 수 있습니다.

FAQ 참고 사항

Windows

  • Q: SYSTEM 수준 프로세스에 인젝션해야 하는데 어떻게 할 수 있나요?
    • A: 예전에는 psexec 같은 도구를 사용하여 Fermion을 SYSTEM으로 실행할 수 있었지만, Electron v8부터는 이렇게 하면 Fermion이 멈춥니다. 실제로 필요한 것은 Fermion을 관리자(Administrator)로 실행하고 SeDebugPrivilege 권한을 갖는 것입니다. 해결 방법으로는 관리자 권한으로 PowerShell을 실행한 다음 이를 사용해 Fermion을 실행하면 됩니다.

Linux

  • Q: 실행 중인 프로세스에 attach할 수 없나요?
    • A: 시스템 제한으로 인해 attach하지 못할 수 있습니다. 일반적으로 Fermion에 문제가 무엇이고 어떻게 해결할 수 있는지 알려주는 메시지가 표시됩니다. 하지만 일반적으로 Fermion 또는 Frida Server를 root로 실행하거나, 다음 명령 sudo sysctl kernel.yama.ptrace_scope=0을 실행하면 됩니다.

일반

  • Q: 새 버전의 Frida/Electron에 맞춰 Fermion을 직접 빌드하고 싶습니다. 현재 어떤 prebuild가 존재하는지 어떻게 알 수 있나요?

    • A: 여기를 살펴보세요. ELECTRON_TARGETS_DEFAULT와 ELECTRON_TARGETS_FREEBSD에서 기본 빌드 버전을 각각 확인할 수 있습니다.
  • Q: Monaco 편집기에서 사용되는 타입 정의를 검토/변경/업데이트하고 싶습니다. 어떻게 할 수 있나요?

    • A: 이제 이 작업은 빌드 프로세스의 일부로 처리되므로 언어 정의는 항상 최신 상태를 유지합니다. 앱 언어 정의를 수동으로 편집하려면 node_modules/@types/frida-gum/index.d.ts에서 찾을 수 있습니다.
  • Q: 왜 trace가 안정적이지 않은 거야 (╯°□°)╯︵ ┻━┻

    • A: 콜 트레이싱(Call tracing)은 리소스를 많이 사용합니다. 대부분의 경우 정상적으로 작동하지만, hot pointer를 트레이싱하거나 트레이스가 수천 개의 노드로 구성된 그래프를 생성하는 경우 데이터를 수신하는 동안 trace window가 지연될 가능성이 높습니다. 또한 다른 종류의 트레이싱과 마찬가지로 프로세스 불안정/충돌/멈춤을 유발할 수 있습니다.

소개

아래에서 Fermion이 작동하는 예를 볼 수 있습니다. 이 경우 kernel32!ReadFile을 계측(instrumenting)하고 있습니다.

Fermion

Fermion은 자동 완성, 린팅 및 Frida API 심볼 지원을 제공합니다.

Help

Fermion은 device 컨텍스트 메뉴를 사용하여 Frida 서버에 연결하고 원격 애플리케이션을 디버깅할 수 있습니다. USB 디버깅이나 genymotion 같은 에뮬레이터를 통해 모바일 애플리케이션에 attach하는 경우와 같은 많은 상황에서 Fermion은 사용 가능한 서버를 자동으로 감지합니다. 또한 IP와 Port 조합을 사용하여 원격 서버를 지정하는 것도 가능합니다.

Server

Fermion은 스레드 CALL 트레이싱을 기본적으로 지원합니다.

Trace

이 기능은 예상한 것과 정확히 다르게 동작할 수 있습니다. pointer 또는 module/Symbol 조합을 정의하면 트레이서가 해당 위치에 attach하고, thread가 그 위치에서 실행될 때마다 해당 스레드가 반환될 때까지 수행하는 모든 CALL 명령을 추적하기 시작합니다. 즉, 실행할 때마다 다른 그래프가 생성될 수 있으며, 함수가 수행하는 모든 작업을 볼 수 없을 수도 있습니다(예: 함수 내부에서 다른 스레드가 생성되는 경우).

SVG

Fermion은 이러한 트레이스를 dot을 사용하여 Graphviz SVG 형식으로 변환하며, 이를 탐색할 수 있습니다. 이 기능은 탐색적 작업(함수가 무엇을 하는가? 해당 실행의 복잡도는 얼마나 되는가?)을 수행할 때 유용하게 사용하는 기능입니다. 다만, 이것은 Fermion 위에 구축한 프로토타입 기능으로, 프로덕션에 가깝게 만들려면 더 많은 개선이 필요할 것입니다.

Fermion에는 Frida의 JavaScript API에 대한 내장 문서도 포함되어 있습니다. 다른 모든 사람들과 마찬가지로 제가 모든 것이 어떻게 작동하는지 항상 기억하지 못하기 때문에, 앱에 문서가 포함되어 있으면 브라우저 창을 열어둘 필요가 없습니다.

Docs

참고 사항

변경 로그

버전별 변경 사항에 대한 자세한 내용은 changelog를 참조하세요.

참여 요청

Fermion을 작업 흐름에 통합하고 유용하게 사용하신다면, 애플리케이션 개선을 위해 풀 리퀘스트를 보내고 버그 리포트를 제출하며 기능을 요청해 주시기 바랍니다. 저는 Node 개발자가 아니기 때문에 누군가가 일부 컴포넌트를 최적화하고 재구성할 방법을 찾을 것이라고 확신합니다.

로드맵

  • 더 완전한 디바이스 관리자 인터페이스 구현.
  • UI 재설계.
  • Fermion 위에 구축할 더 많은 네이티브 도구에 대한 수요를 파악하고 추가.
  • Frida v15.0+에 통합된 새로운 기능을 활용하도록 디바이스 관리자 확장.

특별 감사

몇 분께 특별히 감사의 말씀을 전하고 싶습니다!

  • Frida에 대한 모든 작업과 Frida, NodeJS, Monaco에 대한 제 초보적인 질문에 많은 인내심을 가지고 답변해 주신 Ole André V. Ravnås님께 큰 감사를 드립니다!
  • 또한 mattahan님께도 감사의 인사를 전합니다. Fermion Windows 패키지에 Buuf 아이콘을 사용하고 있습니다. 수년간 우리 모두 NIX에서 그의 아이콘 중 일부를 사용해 왔을 것이라고 확신합니다.
  • Fermion에 시간과 코드를 기여해 주신 @MiscMisty, @lez0sec, @berkayyildi님께 감사드립니다!
도구 다운로드