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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mapchar — 패턴 논리와 표현식을 사용하여 워드리스트를 생성합니다. | Kitploit
도구/GitHubGitHub/pwnfo/mapchar
Password CrackingPassword AttacksPayload GenerationScripting & AutomationUtilities & Frameworks
GitHubpwnfo/mapchar

mapchar

패턴 논리와 표현식을 사용하여 워드리스트를 생성합니다.

저장소 보기
2322개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트


mapchar
패턴 로직과 표현식을 사용하여 워드리스트 생성

설치    •    문서    •    사용법    •    기여하기

[!NOTE] 이 프로젝트는 버전 7.0.2부터 fuse/fuse-generator에서 mapchar로 이름이 변경되었습니다. PyPI 패키지, CLI 명령어, Python 패키지 이름 모두 그에 맞게 변경되었습니다. 이전 이름을 사용 중이셨다면 설치와 임포트를 업데이트해 주세요.

데모

설치

[!NOTE] PyPI 버전의 경우 pipx 또는 pip를 사용하여 설치하는 것을 권장합니다.

방법참고
pipx install mapcharpip를 pipx 대신 사용할 수 있습니다
git clone https://github.com/pwnfo/mapchar.git && cd mapchar && pip install .GitHub에서 직접 클론하여 설치

문서

전체 가이드, 기능 설명 및 고급 예제는 문서를 방문해 주세요.

ReadTheDocs 문서

일반적인 사용법

간단한 표현식에서 워드리스트를 생성하려면:

root@kitploit:~
mapchar '/l{2,4}'

파일과 생성기를 결합하려면:

root@kitploit:~
mapchar '^:^' names.txt pass.txt

출력물을 조작, 필터링 및 저장할 수 있습니다.

root@kitploit:~
일반 옵션:
  -h, --help            도움말 메시지를 표시하고 종료
  -v, --version         버전 정보를 표시하고 종료
  -S, --stats           패턴 통계를 표시하고 종료
  -q, --quiet           필수 출력 외에는 표시하지 않음
  -n, --non-interactive
                        실행 전 확인 프롬프트 건너뛰기

생성 옵션:
  -d, --delimiter <string>
                        생성된 항목 사이에 삽입할 문자열
  -b, --write-buffer <size>
                        출력 버퍼 크기
  -w, --workers <1-64>  워커 프로세스 수 (기본값: 1)
  -k, --flush-threshold <size>
                        이 바이트 임계값에 도달하면 출력 플러시 (기본값: 512KB)

입력 옵션:
  -f, --file <path>     파일에서 패턴 불러오기
  -s, --start <word>    <word>부터 출력 쓰기 시작
  -e, --end <word>      <word>에서 출력 쓰기 중단

출력 옵션:
  -o, --output <path>   파일로 출력 쓰기
  -z, --compress <format>
                        출력 압축 (지원: gzip, bzip2, lzma)
  -l, --compresslevel <level>
                        선택한 형식의 압축 수준

표현식 기본

  • 리터럴 문자는 그 자체로 생성됩니다.
  • 내장 클래스와 대괄호 클래스 [...]는 각 위치에 대해 하나의 항목을 생성합니다.
  • 연결(concatenation)은 위치를 결합합니다: 각 위치는 토큰에서 하나의 값을 선택하여 연결합니다.

예시:

root@kitploit:~
$ mapchar '/l{2,3}'
# 출력: aa, ab, ac, ..., ZY, ZZ

문자 클래스

예시: /l/l은 모든 두 글자 조합(대소문자 포함)을 생성합니다.

사용자 정의 클래스와 합집합

  • [abc]는 a, b, c 중 하나의 문자를 선택합니다.
  • 클래스 내부에서 |를 사용하여 전체 단어 대안을 구분합니다:
    • [admin|root|123]는 해당 위치에 admin 또는 root 또는 123을 삽입합니다.
  • ||를 사용하여 최상위 표현식을 구분합니다:
    • mapchar 'admin/d||guest/d'는 두 개의 독립적인 패턴을 연결합니다.

통계

-S/--stats 플래그를 사용하여 생성 전에 패턴을 분석할 수 있습니다. 토큰 수, 예상 크기, 범위 필터링 세부 정보를 표시합니다.

root@kitploit:~
mapchar -S '/l{3}||/d{3}'

수량자

  • {N} — 정확히 N회 반복
  • {min,max} — 최소 min회에서 최대 max회까지 반복 (포함)
  • ? — 선택 사항 (0회 또는 1회)

예시:

root@kitploit:~
$ mapchar '[XYZ]{3}'         # XXX, XXY, ..., ZZZ
$ mapchar '[XYZ]{2,5}'       # XY, XZ, ..., XYZXY
$ mapchar 'Ryan?/d'          # Rya0, Rya1, ..., Ryan9
$ mapchar '[XYZ]?Ryan'       # Ryan, XRyan, YRyan, ZRyan

숫자 범위

  • #[1-10] → 1,2,3,4,5,6,7,8,9,10 생성
  • #[1-10:2] → 1,3,5,7,9 생성
  • #[2-10:2] → 2,4,6,8,10 생성

이러한 숫자 범위는 표현식의 모든 위치에서 사용할 수 있습니다.

파일 및 플레이스홀더

표현식에서 ^를 다음 파일 인수의 플레이스홀더로 사용합니다. 각 ^는 하나의 파일을 소비하고 해당 파일의 줄을 반복합니다.

root@kitploit:~
$ mapchar '^/d' names.txt
# 출력: Bob0, Bob1, ..., Ana0, Ana1, ...

$ mapchar '^-^' names.txt years.txt
# 출력: Bob-1990, Ana-1991, Ryan-1992, ...

파일 이름 앞에 //를 붙이면 파일 경로 대신 인라인 표현식으로 처리합니다.

값 바인딩

<@name=expr>을 사용하여 표현식을 출력 라인당 한 번 평가하고 저장한 후 <@name>으로 재사용합니다. 연결과 달리 이는 종속성을 생성하므로 정의와 그 참조 사이에 데카르트 곱이 생성되지 않습니다.

root@kitploit:~
$ mapchar '<@d=/d>-<@d>'
# 출력: 0-0, 1-1, ..., 9-9

$ mapchar '<@x=^>:<@x>' words.txt
# 출력: foo:foo, bar:bar, ...

$ mapchar '<@n=/d{2}>_<@n>'
# 출력: 00_00, 01_01, ..., 99_99

압축

Mapchar는 출력 파일을 쓸 때 실시간 압축을 지원합니다.

root@kitploit:~
# gzip (빠르고 균형 잡힘)
mapchar '/l{5}' -z gzip -o wordlist.txt.gz

# lzma (최고 압축)
mapchar '/l{5}' -z lzma -o wordlist.txt.xz

# bzip2 (중간 수준)
mapchar '/l{5}' -z bzip2 -o wordlist.txt.bz2

특수 문자 이스케이프

\를 사용하여 특수 문자를 이스케이프합니다.

root@kitploit:~
$ mapchar '\/d/d'
# 출력: /d/0, /d/1, ..., /d/9

기여하기

Mapchar에 기여해 주시길 환영합니다! 새로운 기능 추가, 문서 개선, 버그 수정 등 모든 도움을 소중히 여깁니다. GitHub 저장소 pwnfo/mapchar에서 이슈를 열거나 풀 리퀘스트를 제출해 주세요.

Star 기록

Mapchar 프로젝트 Star 기록 차트

라이선스

MIT © Ryan R. <[email protected]>

도구 다운로드
기호의미
/l문자 (a–z, A–Z)
/a소문자 (a–z)
/A대문자 (A–Z)
/d숫자 (0–9)
/D0이 아닌 숫자 (1–9)
/h소문자 16진수 (0–9, a–f)
/H대문자 16진수 (0–9, A–F)
/s공백
/o8진수 (0–7)
/p특수 문자
/b줄바꿈 (\n)