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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
FDD-book — FreeBSD 디바이스 드라이버 서적 | Kitploit
도구/GitHubGitHub/ebrandi/fdd-book
Embedded Systems SecurityReverse EngineeringDebuggersHardware HackingHardware SecurityLearning & EducationLearning Paths & CoursesFirmware AnalysisLabs & Practice
GitHubebrandi/fdd-book

FDD-book

FreeBSD 디바이스 드라이버 서적

6005013일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

FreeBSD Device Drivers 책 표지

FreeBSD Device Drivers

첫걸음부터 커널 마스터까지

에드손 브란디 저 · 버전 2.0 (2026년 4월)

라이선스 FreeBSD 페이지 상태 언어


이 책에 대하여

FreeBSD Device Drivers: From First Steps to Kernel Mastery는 무료 오픈소스 책으로, "커널 코드를 한 번도 작성해 본 적 없는" 상태에서 "프로덕션 품질의 FreeBSD 드라이버를 작성, 디버깅, 제출할 수 있는" 수준까지 안내합니다. 참고서라기보다는 안내 과정에 가까우며, 38개의 장, 6개의 부록, 그리고 실제 FreeBSD 14.x 시스템에서 컴파일되어 로드되는 수십 개의 실습 랩으로 구성되어 있습니다.

이 책은 이미 자격을 갖춘 독자보다는 배우려는 의지가 있는 독자를 대상으로 합니다. 유닉스 기초와 C 언어부터 시작하여, 커널이 요구하는 모든 개념을 단계별로 설명한 후에야 드라이버 개발의 문을 엽니다. DMA, 인터럽트, PCI 작업에 도달할 즈음에는 어휘가 강요된 것이 아니라 자연스럽게 습득된 느낌이 들 것입니다.

"커널 프로그래밍은 여전히 프로그래밍일 뿐이며, 단지 더 명시적인 규칙, 더 큰 책임, 그리고 약간 더 강력함을 가질 뿐입니다. 이것을 이해하면 두려움은 흥분으로 바뀝니다." (1장에서)

이 책을 선택해야 하는 이유

이미 훌륭한 FreeBSD 커널 참고 자료가 있습니다. man 9, 아키텍처 핸드북, Newbus 논문 등이 그 예입니다. 그러나 다음을 충족하는 단일 텍스트는 없었습니다:

  • 처음부터 시작합니다. 커널 코드를 작성하기 전에 유닉스, C, FreeBSD 환경을 먼저 가르칩니다.
  • 구체적으로 FreeBSD 14.x를 대상으로 합니다. 모든 API, 모든 예제, 모든 랩은 FreeBSD 14.3 소스 트리에서 검증되었습니다.
  • 랩을 일급 시민으로 취급합니다. 권장 학습 시간의 약 절반이 실습입니다. 동일한 패턴(연결, 정리, 잠금)이 여러 장에 걸쳐 반복되어 반사적으로 익숙해질 때까지 연습합니다.
  • 책 전체에서 하나의 드라이버를 구축합니다. myfirst 드라이버는 장을 거듭하며 진화하여 동기화, 하드웨어 접근, 인터럽트, DMA를 차례로 획득합니다. 여러분이 직접 동일한 코드가 성숙해가는 모습을 보게 됩니다.
  • 전체 생애주기를 다룹니다. "Hello Kernel Module"부터 Phabricator 리뷰 제출 및 드라이버를 FreeBSD 트리에 포함시키는 과정까지 모두 포함합니다.

이 책의 대상 독자

  • 초보자: C, 유닉스, 커널에 대해 거의 알지 못하지만 배우려는 의지가 있는 분
  • 개발자: 운영 체제가 실제로 내부에서 어떻게 작동하는지 궁금한 분
  • 전문가: 이미 FreeBSD(또는 유사 시스템)를 사용하고 있으며, 드라이버가 실제로 어떻게 구축되는지 배워 지식을 더 깊이 쌓고자 하는 분

이 책의 대상이 아닌 독자

  • 빠른 복사-붙여넣기 매뉴얼을 찾는 분. 이 책은 지름길보다 이해를 중시합니다.
  • 기초가 필요 없는 노련한 커널 개발자. 책의 진도는 기초부터 시작합니다.
  • 백과사전식 하드웨어 참고서를 원하는 분. 초점은 실제 FreeBSD 드라이버 개발이며, 버스나 장치 사양을 철저히 다루지 않습니다.

배울 내용

이 책은 서로를 기반으로 하는 일곱 개의 파트로 구성되어 있습니다:

마지막까지 마치면 직접 커널 모듈을 작성하여 로드하고, 문자 드라이버를 구축하고, 실제 인터럽트와 DMA를 처리하고, 커널 패닉을 디버깅하고, 부하에서 드라이버를 프로파일링하고, 작업을 FreeBSD 프로젝트에 기여하는 모든 단계를 경험하게 됩니다.

책 통계

전체 목차

전체 장 목록을 보려면 클릭하세요

파트 1: FreeBSD, C, 커널의 기초

  1. 서문: 호기심에서 기여까지
  2. 실습 환경 설정
  3. 유닉스에 대한 부드러운 소개
  4. C 프로그래밍 언어 첫걸음
  5. FreeBSD 커널 프로그래밍을 위한 C 이해
  6. FreeBSD 드라이버의 해부학

파트 2: 첫 번째 드라이버 구축

  1. 첫 번째 드라이버 작성
  2. 장치 파일 작업
  3. 장치 읽기 및 쓰기
  4. 입출력 효율적으로 처리하기

파트 3: 동시성 및 동기화

  1. 드라이버에서의 동시성
  2. 동기화 메커니즘
  3. 타이머와 지연 작업
  4. 태스크 큐와 지연된 작업
  5. 추가 동기화: 조건, 세마포어, 조정

파트 4: 하드웨어 및 플랫폼 수준 통합

  1. 하드웨어 접근
  2. 하드웨어 시뮬레이션
  3. PCI 드라이버 작성
  4. 인터럽트 처리
  5. 고급 인터럽트 처리
  6. DMA 및 고속 데이터 전송
  7. 전원 관리

파트 5: 디버깅, 도구, 실제 사례

  1. 디버깅 및 트레이싱
  2. 커널과 통합
  3. 고급 주제 및 실용 팁

파트 6: 전송별 드라이버 작성

  1. USB 및 직렬 드라이버
  2. 스토리지 장치 및 VFS 계층 작업
  3. 네트워크 드라이버 작성

파트 7: 마스터리 주제

책 읽는 방법

권장 속도는 주당 약 5시간 공부로 일주일에 한 장입니다. 이 일정을 따르면 한 학기 안에 책 전체를 마칠 수 있습니다. 일부 장(특히 C에 관한 4장과 파트 4의 하드웨어 장)은 자연스럽게 여러 주에 걸쳐 진행됩니다.

랩은 강력히 권장됩니다. 커널 프로그래밍은 근육 기억을 요구하는 분야가 거의 없을 정도로 중요합니다. 동일한 연결 패턴, 동일한 정리 체인, 동일한 잠금 형태가 장을 넘나들며 반복됩니다. 이러한 패턴을 직접 입력하고, 컴파일하고, 실행 중인 커널에 로드하고, 의도적으로 실패하는 모습을 지켜보는 것이 이를 내면화하는 가장 효과적인 방법입니다.

이미 C, 유닉스, 운영 체제 커널의 일반적인 구조를 알고 있다면 파트 1 전체에 걸쳐 제공되는 빠른 패스 노트가 어떤 부분을 주의 깊게 읽고 어떤 부분을 훑어봐도 되는지 알려줍니다.

책 다운로드

버전 2.0은 이제 릴리스 페이지에서 세 가지 언어와 세 가지 형식으로 제공됩니다:

마크다운 소스는 content/ 디렉토리에서 직접 탐색하거나 scripts/build-book.sh 스크립트를 사용하여 책을 직접 빌드할 수도 있습니다.

번역에 관하여

영어 버전은 책의 원본이자 권위 있는 버전입니다. 브라질 포르투갈어 및 스페인어 판은 AI를 사용하여 번역되었으며 아직 완전한 인간 기술 검토를 거치지 않았습니다. 더 많은 독자들이 자료에 접근할 수 있도록 게시되었지만, 번역 과정에서 발생한 오역, 어색한 표현, 기술적 부정확성이 있을 수 있습니다.

번역판에서 명확하지 않거나 일관성이 없거나 기술적으로 의심스러운 부분이 있으면 진실의 원천으로 영어 버전을 참조하십시오. 번역 검토 및 개선에 대한 도움은 환영합니다(아래 기여 참조).

v2.0 알려진 문제

이것은 매우 큰 책의 드래프트 릴리스입니다. 몇 가지 주의할 사항이 있습니다:

  • PDF, EPUB 및 HTML 판의 일부 소스 코드 블록이 페이지를 넘거나 어색하게 줄 바꿈될 수 있습니다. 이는 프레젠테이션 문제이며 향후 릴리스에서 개선될 예정입니다. 콘텐츠 자체는 정확합니다.
  • 렌더링된 형식에서 코드 예제를 읽기 어려운 경우 이 저장소의 마크다운 파일이 진실의 원천입니다. content/에서 해당 파일을 열어 깔끔한 버전을 확인하십시오.
  • pt_BR 및 es_ES에 대한 번역 검토는 저자의 여유 시간이 허락하는 대로 가까운 시일 내에 계획되어 있습니다.``` FDD-book/ ├── content/ # Book content (Markdown) │ ├── chapters/ # Chapters by Part │ └── appendices/ # Appendices A-F ├── examples/ # Source code from the book ├── translations/ │ ├── pt_BR/ # Brazilian Portuguese (AI-translated) │ └── es_ES/ # Spanish (AI-translated) └── scripts/ # Build and utility scripts
root@kitploit:~
## Contributing

모든 종류의 기여를 환영합니다. 여기에는 FreeBSD 개발자와 학습자 모두의 수정, 설명, 새로운 예제, 번역, 리뷰가 포함됩니다.

### 기여 방법

- **콘텐츠:** 새 장(chapter) 추가, 기존 자료 개선
- **기술 리뷰:** FreeBSD 14.x 기준 정확성 검토
- **번역 리뷰:** AI 번역된 **pt_BR** 및 **es_ES** 판본 검토 및 개선 지원; 원어민으로 FreeBSD/커널 경험이 있는 분 특히 환영
- **새 번역:** 책을 다른 언어로 번역하는 데 도움
- **코드:** 예제, 빌드 스크립트, 도구 개선
- **이슈:** 버그, 사실 오류, 불명확한 구절, 포맷 문제 신고

### 이슈 보고

이슈를 제출할 때는 다음을 포함해 주세요:

- 읽고 있던 언어 버전(`en_US`, `pt_BR`, `es_ES`)
- 사용한 형식(PDF, EPUB, HTML, 또는 Markdown)
- 문제가 나타난 장(chapter) 또는 절(section)
- 문제에 대한 간단한 설명과, 있다면 제안하는 수정 사항

### 워크플로우

1. 저장소를 포크(fork)합니다
2. 브랜치를 생성합니다: `git checkout -b feature/your-change`
3. 변경 사항을 적용하고 `scripts/build-book.sh`로 빌드를 테스트합니다
4. 명확한 메시지로 커밋합니다: `git commit -m "Chapter 18: clarify BAR mapping"`
5. 푸시하고 Pull Request를 엽니다

책을 읽다가 막힐 때 **이슈를 제출하는 것이 도움이 됩니다.** 구절이 잘못되었거나 실습이 예상치 못하게 실패하는 경우, 모든 보고가 다음 독자의 길을 더 매끄럽게 만듭니다.

## 자주 묻는 질문

### 왜 이 책이 존재하나요?

정직한 답변은 FreeBSD 프로젝트에 새 기여자가 필요하고, 커널 및 드라이버 작업으로 가는 길이 항상 그래야 하는 것보다 가팔랐기 때문입니다. 대부분의 기존 자료는 이미 UNIX를 알고, C를 잘 알고, 버스가 무엇인지 알고, 커널 소스 트리를 읽는 방법을 알고 있다고 가정합니다. 그 방식은 이미 대부분의 길을 온 사람들에게는 효과적입니다. 시작하고 싶어하는 호기심 많은 개발자에게는 거의 도움이 되지 않습니다.

이 책의 목표는 그 진입로를 낮추는 것입니다. 소수의 독자라도 이 책을 완독하고 패치 제출, 코드 리뷰, 새 드라이버 작성, 나아가 FreeBSD 커미터(committer)가 되는 길로 나아간다면 이 책은 제 임무를 다한 것입니다. **차세대 FreeBSD 기여자를 양성하는 것이 이 저작이 쓰인 이유입니다.**

### 시작하기 전에 C를 알아야 하나요?

아닙니다. 4장과 5장은 기초부터 C를 가르치며, 커널 작업에 중요한 언어 부분(포인터, 구조체, 메모리 레이아웃, 전처리기, 호출 규약)에 초점을 맞춥니다. 이미 C를 잘 알고 있다면, 해당 장들에 있는 사이드바(sidebar)에서 무엇을 훑어보고 무엇을 주의 깊게 읽을지 알려줍니다.

### UNIX나 FreeBSD를 알아야 하나요?

아닙니다. 2장은 VM이나 실제 하드웨어에 FreeBSD를 설치하는 과정을 안내하고, 3장은 UNIX 명령줄, 파일 시스템, 프로세스, 권한, 편집기를 소개합니다. 1부를 마치면 작업용 랩(lab)과 이를 사용할 어휘를 갖추게 됩니다.

### 실제 하드웨어가 필요한가요?

책의 대부분은 아닙니다. FreeBSD 14.x를 실행하는 가상 머신으로도 기초, 첫 번째 드라이버 장, 동시성 및 동기화, 디버깅 자료의 상당 부분을 충분히 다룰 수 있습니다. 실제 하드웨어는 4부의 PCI, 인터럽트, DMA 장에 도달할 때 유용해집니다(그러나 여전히 엄격히 필수는 아닙니다). 해당 장들은 VM에서만 실행하더라도 개념이 이해되도록 작성되었습니다.

### 이 책이 리눅스 드라이버를 작성하는 데 도움이 되나요?

간접적으로는 그렇습니다. 커널 프로그래밍 규율(locking strategy, memory management, interrupt context, DMA mapping, sleeping과 non-sleeping 코드 경로의 차이, 방어적 정리 순서)은 매우 잘 전이됩니다. 구체적인 API는 다릅니다. 이 책을 읽은 후에는 리눅스 장치 모델을 알게 되지는 않지만, 그 문제와 해결책의 형태를 인식하게 되며, 리눅스 장치 드라이버(LDD)를 훨씬 더 쉽게 읽을 수 있습니다.

### 왜 구체적으로 FreeBSD 14.x인가요?

모든 API, 모든 예제, 모든 실습은 FreeBSD 14.3 소스 트리와 해당 `man 9` 페이지에서 실행되도록 계획되었습니다. 특정 릴리스를 대상으로 하면 함수 시그니처, 헤더 위치, 동작에 대해 정확할 수 있습니다. 개념은 14.x보다 몇 년 더 오래 갑니다. 정확한 줄 번호와 작은 API 세부 사항은 그렇지 않으며, 책은 이에 대해 솔직합니다.

### 이 책은 공식 FreeBSD 프로젝트 발행물인가요?

아닙니다. 이 책은 FreeBSD 장치 드라이버 개발에 관한 독립적인 교육용 서적입니다. FreeBSD 프로젝트의 공식 발행물이 아닙니다. 저자는 FreeBSD 커미터이자 문서 엔지니어링 팀(DocEng)의 구성원이지만, 책은 그의 작업과 의견을 반영하며 공식 프로젝트 입장이 아닙니다.

### 실제로 얼마나 오래 걸리나요?

주의 깊게 읽고 실습을 한다면 약 200시간의 총 작업 시간을 계획하세요. 이는 대략 100시간의 읽기와 100시간의 실습 시간입니다. 주당 5시간이면 약 6개월 저녁 프로젝트, 주당 10시간이면 집중적인 2개월 스프린트입니다. 실습 없이 읽기만 하면 시간은 대략 절반으로 줄지만 가치도 절반으로 줄어듭니다. 커널 프로그래밍은 거의 다른 분야가 그러하듯 근육 기억(muscle memory)을 보상합니다.

### 실습을 건너뛸 수 있나요?

가능은 하지만 아마 그러면 안 됩니다. 실습은 산문이 반사(reflex)가 되는 곳입니다. attach 순서, 정리 unwinding, 락 획득 패턴과 같은 패턴이 모든 장에서 반복되며, 이를 내면화하는 유일한 신뢰할 수 있는 방법은 직접 입력하고, 컴파일하고, 실행 중인 커널에 로드하고, 의도적으로 실패하는 것을 지켜보는 것입니다. 실습을 건너뛴 독자들은 처음에는 매끄럽게 진행되다가 3부 또는 4부쯤에서 조용히 정체되는 진행을 보고합니다.

### 이 책을 읽은 후 FreeBSD에 어떻게 기여할 수 있나요?

37장에서는 전체 제출 워크플로우를 다룹니다: 패치 준비 방법, Phabricator(FreeBSD 코드 리뷰 시스템) 사용 방법, 작업을 후원할 커미터 찾는 방법, 리뷰 피드백에 대응하는 방법, 드라이버를 트리에 안착시키는 방법. 앞 장들은 기술적 능력을 쌓고, 37장은 사회적 워크플로우를 쌓습니다. 둘 다 중요합니다.

### 책이 방대합니다. 어디서 시작해야 하나요?

특별한 이유가 없다면 1장부터 시작하세요. 책은 누적적입니다. 뒷장들은 앞서 확립된 어휘와 습관에 의존합니다. 이미 C, UNIX, OS 커널의 일반적인 형태를 알고 있다면, 1부 내 빠른 길 안내가 무엇을 훑어볼지 알려줍니다. 특정 하위 시스템(USB, 네트워킹, 스토리지, PCI) 때문에 여기 왔다면 1부와 2부를 주의 깊게 읽은 다음 뛰어넘어도 괜찮지만, 이전 장들의 용어가 다시 나타날 때 돌아와야 할 것을 예상하세요.

### 오류를 발견했습니다. 어떻게 해야 하나요?

GitHub에 이슈를 여세요. 언어 버전, 읽고 있던 형식, 장 또는 절, 문제에 대한 간단한 설명, 있다면 제안하는 수정 사항을 포함하세요. 모든 보고가 다음 독자의 경험을 개선합니다. pt_BR 및 es_ES 판의 번역 문제는 특히 환영합니다. 해당 판은 아직 완전한 인간 기술 리뷰를 거치지 않았기 때문입니다.

### 책이 정말 무료인가요?

네. MIT 라이선스로 배포됩니다. 읽고, 공유하고, 인쇄하고, 인용하고, 기반으로 구축하고, 번역할 수 있습니다. 개인적 사용에는 출처 표시가 필요하지 않지만 감사합니다. 이 작업을 지원하고 싶다면 가장 유용한 일은: 다른 사람들에게 책을 알리고, 문제를 발견하면 이슈를 제출하고, 리뷰나 번역에 기여하고, (결국 그곳으로 이끈다면) 자신의 작업을 FreeBSD 프로젝트에 제출하는 것입니다.

## 저자 소개

저는 Edson Brandi입니다. 기술로 가는 길은 전혀 전통적이지 않았습니다. 1995년 브라질의 Unicamp에서 화학을 전공하며 컴퓨터로 일할 계획은 없었지만, 한 가지 끈질긴 질문이 있었습니다: *이게 실제로 어떻게 작동하지?* 그 질문이 저를 FreeBSD로 이끌었고, FreeBSD는 그 이후로 제 경력을 형성했습니다.

그 후 몇 년 동안 저는 **브라질 FreeBSD 사용자 그룹(FUG-BR)** 을 창립하고, **FreeBSD LiveCD Tool Set**을 공동 창작했으며, 2002년에는 FreeBSD 교육, 컨설팅, 지원을 제공하는 **FreeBSD Brasil**을 공동 창립했으며, 이 회사는 오늘날에도 운영되고 있습니다. 저는 FreeBSD 커미터이며 현재 **FreeBSD 문서 엔지니어링 팀(DocEng)** 의 구성원으로서 FreeBSD의 문서를 전 세계에서 살아 있고 접근 가능하게 유지하는 시스템을 유지 관리하는 데 도움을 주고 있습니다.

전문적으로는 여러 산업에서 인프라 및 엔지니어링 리더십 역할을 수행해 왔으며, 현재 런던의 핀테크 회사에서 IT 디렉터로 재직 중입니다.

이 책을 쓴 이유는 다른 호기심 많은 사람들에게 제가 결코 가지지 못했던 진입로를 제공하고 싶었기 때문입니다. 커널 코드를 작성하는 데 컴퓨터 공학 학위는 필요하지 않습니다. 필요한 것은 호기심, 인내, 참을성, 그리고 여러분이 있는 곳에서 만나줄 안내자입니다.

Edson Brandi · [email protected]

## 라이선스

이 책과 그에 수반된 소스 코드는 **MIT 라이선스**로 배포됩니다. 전체 텍스트는 [LICENSE](https://github.com/ebrandi/fdd-book/blob/HEAD/LICENSE)를 참조하세요. 이 작업을 읽고, 공유하고, 기반으로 구축할 수 있습니다. 출처 표시는 감사히 여깁니다.

## 감사의 말

- FreeBSD 개발 커뮤니티
- 모든 기여자, 리뷰어, 번역가
- 이슈를 제기하거나 장을 개선한 질문을 한 모든 분들

## 링크

- **저장소:** https://github.com/ebrandi/FDD-book
- **이슈:** https://github.com/ebrandi/FDD-book/issues
- **토론:** https://github.com/ebrandi/FDD-book/discussions
- **저자:** Edson Brandi · [email protected]

---

<p align="center"><em>이 책이 도움이 된다면 저장소에 별표(star)를 눌러 주시고, 컴퓨터가 실제로 어떻게 작동하는지 궁금한 다른 사람과 공유해 주세요.</em></p>
도구 다운로드
파트제목주요 내용
1기초: FreeBSD, C, 그리고 커널랩 설정, 유닉스, 커널 작업을 위한 C, 드라이버 해부학
2첫 번째 드라이버 구축문자 드라이버, 장치 파일, 읽기/쓰기, 입출력
3동시성 및 동기화스레드, 뮤텍스, 조건 변수, 타이머, 태스크 큐, 세마포어
4하드웨어 및 플랫폼 수준 통합PCI, 인터럽트, MSI/MSI-X, DMA, 전원 관리
5디버깅, 도구, 실제 사례트레이싱, KGDB, 고급 디버깅, 성능 튜닝
6전송별 드라이버 작성USB, 직렬, 스토리지/VFS, 네트워크 드라이버
7마스터리 주제: 특수 시나리오 및 에지 케이스이식성, 가상화, 보안, 임베디드, 리버스 엔지니어링, 업스트림 제출
페이지 수4,500+
장38
부록6
읽기 시간~100시간
랩 시간~100시간
총 학습 시간~200시간 (주 5시간 기준 약 6개월)
대상 FreeBSD 릴리스14.3
언어영어(원본) · 브라질 포르투갈어(AI 번역) · 스페인어(AI 번역)
형식PDF · EPUB · HTML · 마크다운 소스
  1. 이식성 및 드라이버 추상화
  2. 가상화 및 컨테이너화
  3. 보안 모범 사례
  4. 장치 트리 및 임베디드 개발
  5. 성능 튜닝 및 프로파일링
  6. 고급 디버깅 기술
  7. 비동기 I/O 및 이벤트 처리
  8. 문서 없이 드라이버 만들기 (리버스 엔지니어링)
  9. 드라이버를 FreeBSD 프로젝트에 제출하기
  10. 마무리 및 다음 단계

부록

  • A: FreeBSD 커널 API 참조
  • B: 시스템 프로그래밍을 위한 알고리즘 및 논리
  • C: 드라이버 개발자를 위한 하드웨어 개념
  • D: 운영 체제 개념
  • E: FreeBSD 커널 내부 탐색
  • F: 벤치마크 도구 및 결과
언어PDFEPUBHTML
영어(원본)PDFEPUBHTML
포르투갈어(브라질), AI 번역PDFEPUBHTML
스페인어, AI 번역PDFEPUBHTML