HOME > 상세정보

상세정보

리버스 엔지니어링 바이블 : 코드 재창조의 미학 (72회 대출)

자료유형
단행본
개인저자
강병탁
서명 / 저자사항
리버스 엔지니어링 바이블 = Reverse engineering bible : 코드 재창조의 미학 / 강병탁 지음
발행사항
파주 :   위키북스,   2012  
형태사항
xlii, 574 p. : 삽화 ; 24 cm
총서사항
위키북스 해킹 & 보안 시리즈 ;002
ISBN
9788998139018
일반주기
감수: 김휘강  
서지주기
참고문헌(p. [564-566])과 색인수록
000 00816camcc2200265 c 4500
001 000045722229
005 20121008161807
007 ta
008 121005s2012 ggka b 001c kor
020 ▼a 9788998139018 ▼g 93560
035 ▼a (KERIS)BIB000012924095
040 ▼a 241050 ▼c 241050 ▼d 211009
082 0 4 ▼a 005.8 ▼2 23
085 ▼a 005.8 ▼2 DDCK
090 ▼a 005.8 ▼b 2012z8
100 1 ▼a 강병탁
245 1 0 ▼a 리버스 엔지니어링 바이블 = ▼x Reverse engineering bible : ▼b 코드 재창조의 미학 / ▼d 강병탁 지음
260 ▼a 파주 : ▼b 위키북스, ▼c 2012
300 ▼a xlii, 574 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 위키북스 해킹 & 보안 시리즈 ; ▼v 002
500 ▼a 감수: 김휘강
504 ▼a 참고문헌(p. [564-566])과 색인수록
945 ▼a KLPA
949 ▼a 위키북스 해킹 앤 보안 시리즈 ; ▼v 002

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.8 2012z8 등록번호 121221358 도서상태 대출중 반납예정일 예약 예약가능 R 서비스 M
No. 2 소장처 세종학술정보원/과학기술실/ 청구기호 005.8 2012z8 등록번호 151312740 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.8 2012z8 등록번호 121221358 도서상태 대출중 반납예정일 예약 예약가능 R 서비스 M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.8 2012z8 등록번호 151312740 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

C/C++ 코드가 어셈블리 코드로 어떻게 변해가는지에 대한 기초적인 부분에서부터, 보안 프로그램 공격 방법, 리버싱 보조 플러그인 개발 방법, 그리고 소스코드가 없는 상태에서 프로그램을 커스터마이징하는 방법까지, 리버스 엔지니어링에 관련된 모든 사항을 다룬다. 이 책은 리버스 엔지니어링을 처음 접하거나 어느 정도 수준을 높이고자 하는 독자를 대상으로 한다. 특히 친근한 설명과 가벼운 대화체를 사용했으므로 접근하는 데 벽이 높지 않으리라 생각한다. 따라서 리버스 엔지니어링이 너무 어려워서 중도에 포기했던 독자라면 많은 도움이 될 것이다.

리버스 엔지니어링만을 위한 바이블, 리버싱의 모든 것이 이 책 한 권에 녹아 있다!

리버스 엔지니어링은 소위 해커들의 전유물처럼 취급돼 왔다. 기술이 가지고 있는 위험성 때문에 수면 위로 올라오지 못하고 '어둠의 예술'이라고 불리며 그간 많은 사람들에게 정체가 가려져 있었다. 그래서 역사가 오래됐음을 뚜렷한 전문서나 바이블이 존재하지 않으며, 인가된 해커들만 정보를 공유할 수 있거나 리버싱 업무를 수행하던 소수의 리서처에게 발품을 팔아 하나씩 배워야만 했다.

『리버스 엔지니어링 바이블: 코드 재창조의 미학』은 이 같이 해커들이 주고받던 어둠의 지식을 수면 위로 끌어올리는 역할을 한다. 많은 사람들이 리버스 엔지니어링에 대해 깊이 있는 지식을 만나지 못하고 마약을 밀매하듯 은밀하게 기법을 주고받았지만, 이제 이 책을 통해 그 모든 목마름에 대한 해답을 찾을 수 있다. C/C++ 코드가 어셈블리 코드로 어떻게 변해가는지에 대한 기초적인 부분에서부터, 보안 프로그램 공격 방법, 리버싱 보조 플러그인 개발 방법, 그리고 소스코드가 없는 상태에서 프로그램을 커스터마이징하는 방법까지, 리버스 엔지니어링에 관련된 모든 사항을 다룬다.

★ 이 책에서 다루는 내용 ★

■ C/C++ 코드를 리버스 엔지니어링할 때의 접근법에 대한 노하우
■ MFC나 Win32 API, 런타임 라이브러리 등 실제 모듈에 사용되는 코드 해석
■ 리버스 엔지니어링을 방해하기 위한 안티 리버싱 기술, 그리고 그것을 또 우회하는 법
■ 백신이나 보안 솔루션 등을 공격하는 기술, 바이러스 감지 회피의 원리
■ 시리얼 연산 루틴을 리버스 엔지니어링 할 때의 테크닉, 크래킹 기법
■ 소스코드가 없는 프로그램을 리버스 엔지니어링으로 커스터마이징하는 법
■ 키보드 보안 솔루션이나 실시간 감지 기술을 우회하는 과정
■ 국내에서는 한 번도 다뤄지지 않는 Olly Debugger의 플러그인 개발

이 책은 리버스 엔지니어링을 처음 접하거나 어느 정도 수준을 높이고자 하는 독자를 대상으로 한다. 특히 친근한 설명과 가벼운 대화체를 사용했으므로 접근하는 데 벽이 높지 않으리라 생각한다. 따라서 리버스 엔지니어링이 너무 어려워서 중도에 포기했던 독자라면 많은 도움이 될 것이다.


이 책은 총 7부로 구성돼 있으며, 각 부별 주요 내용은 아래와 같다.

▣ [1부] 리버스 엔지니어링 기본

어셈블리, C, C++, DLL 등의 매우 기본적인 코드의 생성 흐름과 규칙을 정리한 내용이다. 리버스 엔지니어링도 결국 정해진 문법 안에서 기본적인 규칙을 따르면 풀어낼 수 있는 것에 불과하기 때문에 그러한 규범을 알아보자는 이야기라고 보면 될 것 같다. 차를 달이거나 마실 때의 방식이나 규칙을 말하는 다도(茶道)라는 것이 있다. 한 잔에 불과한 맹물을 마실 때도 이 같은 엄격한 규율이 있듯이 리버스 엔지니어링을 할 때도 기본적으로 알아둬야 할 규칙이 있다는 것을 이해하기 위한 내용이다.

▣ [2부] 리버스 엔지니어링 중급

PE Header는 리버스 엔지니어링을 공부하는 사람들이 가장 고통스러워 하기도 하면서 공부하기도 싫어했지만 어쩔 수 없이 결국에는 익혀야만 되는 필수 요소 중 하나인데, 그런 선배 경험자들의 고충을 밑바탕으로 이론에 불과한 내용을 철저히 배제하고 현업과 실무에 맞게 재각색해서 설명했다. "2장 흔히 사용하는 패턴"에서는 1부 리버싱 기본에서 다루지 못한 코드가 생성되는 과정과 계속 반복해서 나오는 패턴에 대해 분석하며 어셈블리 언어의 감을 익히기 위한 내용을 준비했다. 그리고 마지막으로 MFC 리버싱을 통해 애플리케이션 분석의 집중도를 높일 수 있게 여러 가지 기법 소개를 준비했다.

▣ [3부] 연산 루틴 리버싱

F-Secure 백신사의 리버스 엔지니어링 대회를 통해 연산 루틴을 분석하는 과정을 설명하는데, 흔히 볼 수 있는 점프 패치를 중점적으로 설명하기보다는 왜 이 루틴을 분석해야 하고 어떤 접근 방식을 써야 하는지 등, 생각하는 리버스 엔지니어링에 초점을 맞춰 단순한 키 빼내기 해설이 되지 않도록 노력했다.

▣ [4부] 안티 리버싱

안티 리버싱은 리버스 엔지니어링을 막는 기술, 이른바 밤송이에 돋은 가시 같은 역할이다. 이것을 제거해야만 리버스 엔지니어링을 순탄하게 진행할 수 있고 결국에 알밤을 빼먹을 수 있는 결과까지 도달하는 것이다. 안티 리버싱 기술은 계속해서 발전을 거듭해, 안티 리버싱을 분석, 격파하는 그 자체가 하나의 학문으로 될 만큼 성장해오고 있다. 인터넷에 흔히 등장하는 안티 디버깅 코드는 실제로 가동되지 않는 것도 많고 예제 코드도 충분하지 않아 익히기에 어려운 감이 있지만 이 4부에서는 모든 기법을 100% 실제 코드로 제작했으며 각 밤송이 가시 기술에 대한 강력함의 정도, 우회 방법 등의 한계점, 그리고 보완 방법 등에 대해 다각도로 설명한다.

▣ [5부] OllyDBG 플러그인

OllyDBG 플러그인은 리버스 엔지니어링을 좀 더 쉽게 하기 위해 만든 보조 도구라고 볼 수 있다. OllyDBG에서는 누구나 플러그인을 제작할 수 있게 훌륭한 인터페이스를 제공하고 있으므로 SDK의 사용법과 자신만의 아이디어가 결합하면 리버스 엔지니어링을 몇 배 이상 효율적으로 증가시킬 플러그인을 제작할 수 있다.

▣ [6부] 보안 모듈 우회

보안 관계자에게 가장 두려운 것은 방어장치가 없는 상태에서 해킹을 하는 사람이 아니고 존재하는 보안 모듈을 뚫어서 해킹 시도를 하는 이들이다. 그리고 대부분의 취약점은 보안 설계 자체의 실수보다는 어이없는 한두 줄의 취약점 때문에 발생하는 것들이 상당수를 이룬다. 6부에서는 일반적으로 보안 모듈을 우회하는 기법 말고도 굉장히 단순한 한두 가지 취약점을 이용해 보안 모듈이 공격 당하는 여러 가지 사례를 보여준다.

▣ [7부] 한 차원 높은 바이너리 창조

7부에서는 마지막 내용으로, 코드 후킹, 코드 변조, 난독화 등의 내용을 다루며 중급 이상의 리버스 엔지니어링을 목표로 하는 독자를 위해 작성했다. eax는 리턴값, ecx는 카운터라는 등의 시시껄렁하고 반복적인 지식의 답습에서 벗어나 리버싱의 깊이를 좀더 맛볼 수 있게 노력했다. "6부 보안 모듈 우회" 편의 연장이라는 느낌을 살렸기 때문에 6부의 내용을 반드시 숙지한 후에 살펴보길 바란다.


정보제공 : Aladin

저자소개

강병탁(지은이)

현재 에이아이스페라(AI Spera)의 대표이사로 사이버 위협 인텔리전스(CTI) 프로젝트를 진행하고 있으며 고려대학교 정보보호대학원 산학협력중점교수를 역임하고 있다. 이전에는 네오플 인프라기술실 실장으로 시스템/보안/DB/인프라개발 등 인프라 기술을 총괄했으며, 넥슨 아메리카에서는 InfoSec Team 팀장으로 미국 지사의 보안조직을 설립, 보안프로세스구축/침입탐지/컴플라이언스 업무를 해 왔고, 넥슨 코리아에서는 게임보안팀을 설립, 팀장으로 라이브 게임의 보안성 향상과 침해대응 업무를 해 왔다. 월간 마소에서 해킹/보안을 주제로 약 3년간 테크니컬 라이터로 활동했고, 각종 대학교와 기관 등에서 해킹/보안을 주제로 한 정기/특별 강의를 다년간 진행했다. 저서로는 《인프라 보안》 《리버스 엔지니어링 바이블》이 있다.

김휘강(감수)

2018년 현 고려대학교 정보보호대학원(대학원), 사이버국방학과 (학부) 교수 현 카카오 프라이버시정책 자문위원회 현 삼성전자 소프트웨어/보안 부문 자문단 현 KISA ISMS 인증위원회 위원 현 한국정보보호학회 이사 전 엔씨소프트 정보보안실장 전 A3 Secuity 창업자, 대표

정보제공 : Aladin

목차

목차 
01부 리버스 엔지니어링 기본 
 01 리버스 엔지니어링만을 위한 어셈블리 = 1 
  어셈블리의 기본 구조 = 3
  어셈블리의 명령 포맷 = 4
  레지스터, 복잡한 설명은 그만 = 6
  EAX = 7
  EDX = 7
  ECX = 7
  EBX = 8
  ESI, EDI = 8
  외울 필요가 없는 어셈블리 명령어 = 15
   PUSH, POP = 16
   MOV = 16
   LEA = 16
   ADD = 17
   SUB = 17
   INT = 17
   CALL = 18
   INC, DEC = 18
   AND, OR, XOR = 18
   NOP = 18
   CMP, JMP = 18
  리버스 엔지니어링에 필요한 스택 = 19
  함수의 호출 = 20
  리턴 주소 = 21 
 02 C 문법과 디스어셈블링 = 23 
  함수의 기본 구조 = 24
  함수의 호출 규약 = 26
  if 문 = 31
  반복문 = 34
  구조체와 API Call = 36
  결론 = 44
 03 C++클래스와 리버스 엔지니어링 = 45
  C++분석의 난해함 = 46
  클래스 뼈대 = 47
  클래스의 수명과 전역변수 = 53
  객체의 동적 할당과 해제 = 55
  생성자와 소멸자 = 57
  캡슐화 분석 = 62
  다형성 구조 파악 = 63
 04 DLL 분석 = 65
  DLL의 번지 계산법 = 66
  재배치를 고려한 방법 = 69
   1) push 문 = 70
   2) 점프문 = 71
  번지 고정 = 72
  익스포트 함수 = 72
  DllAttach/DllDetach 찾기 = 75
  패킹된 DLL의 DllMain() 찾기 = 79 
  DisableThreadLibraryCalls로 찾기 = 80 
02부 리버스 엔지니어링 중급 = 83
 05 PE 헤더(PE Header) = 85  
  PE에 대한 상식적인 개념 = 88
  빌드 과정 = 89
  PE 파일 구조 = 90
   IMAGE_DOS_HEADER = 91
   IMAGE_NT_HEADER = 94
   IMAGE_FILE_HEADER = 95
   IMAGE_OPTIONAL_HEADER = 98
   IMAGE_SECTION_HEADER = 107
  PE와 API 호출의 원리 = 115
  IAT에서 API를 계산하는 방법 = 117
  익스포트 테이블(export table) = 125
  마무리 = 125
 06 흔히 사용하는 패턴 = 127
  조건문의 기본 = 128
  심화된 조건문 = 129
  반복문 = 134
  break가 들어가는 경우 = 138
  continue가 들어갈 경우 = 139
  return이 생기는 경우 = 141
  문자열 컨트롤 = 142
   1. strcpy = 143
   2. strcat = 147
   3. strlwr = 150 
  정리 = 152 
 07 MFC 리버싱 = 153 
  리버스 엔지니어링에 필요한 MFC 구조 = 154
  MFC로 개발됐는지 여부 확인 = 156
  MFC 라이브러리 등록 = 157
  MFC 초기화 루틴 찾기 = 158
  버튼 핸들러 찾아내기 = 161
  헤더 파일 활용 = 167
  그 밖의 MFC 관련 리버싱 접근 방법 = 171
03부 연산 루틴 리버싱 = 173
 08 시리얼 추출 방법 = 175
  F-Secure Reverse Engineering 대회 = 177
  Level 1 문제 풀이 = 179
   1) 사전 정보 획득 첫 번째 - 파일 스캐너로 스캔 = 180
   2) 사전 정보 획득 두 번째 - API 확인 = 181
   3) 사전 정보 획득 세 번째 - 파일의 이미지 베이스 확인 = 182
  Level 2 문제 풀이 = 184
  문자열 컨트롤 = 189
  안티 디버깅 기법 = 193
  WinMain보다 먼저 가동되는 코드 = 196
 09 코드 속이기 = 199
  Level 3 문제 풀이 = 200
  데이터 속에 숨은 코드 = 203
  리버싱으로 방정식 세우기 = 207 
  바이너리 파싱 = 210
  재사용이 어려운 코드 = 215
  디스어셈블러 속이기 = 216
  정리하며 = 219
04부 안티 리버스 엔지니어링 = 221
 10 교과서적인 안티 디버깅 = 223
  프로그램 개발 완료 후 다가올 리버싱의 위험 = 224
  리버싱에 대항하는 A씨의 반격, 그 후… = 224
  안티 디버깅이란? = 225
  고전적인 안티 디버깅 = 225
  API로 제공되는 안티 디버깅 기능 = 226
  다중 기능을 보유한 맥가이버칼, NtQueryInformationProcess = 230
  Debug Object Handle = 232
  또 핸들을 찾아라, NtQueryObject = 232
  NoDebugInherit = 233
  디버거는 어디에, NtSetInformationThread = 235
  int3을 이용한 디버거 감지 = 237
  SetUnhandledExceptionFilter = 239
  0xCC 자체를 탐지하자 = 241
  소프트아이스 감지 = 242
  PEB를 이용한 방법 = 243
  정리 = 249 
 11 한 단계 높은 안티 디버깅 = 251 
  생각보다 활용도가 높은 프로세스 체크 = 252
  버전 체크 = 253
  부모 프로세스 체크 = 256
  SeDebugPrivilege 권한 체크 = 259
  WinDBG 검출 = 260
  키보드 입력 봉쇄 = 261
  CloseHandle()을 이용한 안티 리버싱 = 262
  OutputDebugString이 주는 두 가지 마술 = 263
  시간차 공격! 타이머를 이용한 방법 = 265
  PREFIX REP을 통한 예외 처리 = 267
  API Hook을 이용한 디버깅 감지 = 268
  리모트 디버깅 감지 = 270
  생각해 볼 과제 = 271
 12 패커가 사용하는 기술 = 273
  패커? 대수롭지 않은 개념 = 274
  패킹된 코드의 암호화/복호화 = 276
  IAT의 변화 = 278
  매뉴얼 언패킹(MUP) = 281
  파일 스캐너 = 283
  디버거의 구조 = 284
  Self Debugging = 286
  스택 세그먼트 레지스터 = 288
  int 0x2d = 290 
  덤프 방지 = 290
  디버그 레지스터 = 292
 13 우회 방법 = 297
  API Hooking을 통한 우회 = 299
  OllyDBG 옵션을 이용한 우회 = 305
  플래그 수정으로 우회 = 306
05부 OllyDBG 플러그인 = 309
 14 OllyDBG 플러그인 SDK = 311
  최고의 매력 OllyDBG 플러그인 = 312
  플러그인 가동 원리 = 313
  플러그인 SDK 사용 규약 = 316
  초기화 코드 = 318
  PreInit - ODBG_Plugindata() = 318
  초기화 루틴 - ODBG_Plugininit() = 319
  메뉴 작성 - ODBG_Pluginmenu() = 322
  메뉴 핸들러 작성 - ODBG_Pluginaction() = 326
  종료 처리 = 329
  PDK 활용 = 330
  t_dump - 덤프 관련 구조체 = 330
  t_memory - 메모리 관련 구조체 = 334
  t_disasm - 디스어셈블 구조체 = 337
  Readmemory = 337
  구조체 종합 예제 - Extra Copy = 340 
 15 리버싱 보조 플러그인 = 345 
  IsDebuggerPresent() 무력화 = 346
  디버거 떼어내기 = 348
  자동 어태치 = 350
  단축키 - ODBG_Pluginshortcut() = 351
  OllyAdvance 분석 = 352
  Setbreakpoint()와 TLS CallBack 감지 = 355
  커맨드라인 실행 바 = 358
  디버깅 흔적 청소 = 362
  게임 해킹 플러그인 - Game Invader = 363
  Game Invader의 구현 원리 = 366
  메모리 속성 옵션 = 368
  암복호화 코드 분석 - Find Crypt = 369
  FindCrypt의 구현 원리 = 371
  남은 과제 = 373
 16 메모리 스캔 플러그인 개발 = 375
  아직 세상에 없는 플러그인을 만들어 보자 = 376
  분석 시간을 줄일 수 있다면? = 377
  플러그인 코어 루틴 컨셉 = 377
  UI 디자인 = 379
  버튼 핸들러 제작 = 380
  후킹 탐지 기능 = 382
  파일과 메모리의 기준 번지를 정하는 방법 = 384
  IAT가 코드 섹션에 포함된 경우 = 384 
  패킹 체크 = 385
  후킹 탐지 스캔 결과 = 386
  암복호화 루틴 탐지 = 387
  화이트 리스트 처리 = 388
  OllyMemScan 평가 = 389
06부 보안 모듈 우회 = 393
 17 바이러스 감지 회피 = 395
  백신은 과연 바이러스만 감지하는가 = 396
  기본적인 감지 원리 = 397
  고전적인 우회 방법 = 399
  쓰레기 코드를 통한 우회 방법 = 400
  실행조차 되지 않는 코드 = 403
  헤더 변조 = 405
  문자열 패턴 우회 = 406
  바이너리 패킹의 시대 = 409
  대체 가능한 어셈블리어 = 410
  패커의 특성을 고려한 회피 = 411
  섹션 이름 변경 = 413
  백신사의 대응 = 415
 18 백신을 공격하는 악성코드 = 417
  백신을 공격하는 바이러스는 어느 정도 존재하는가 = 418
  특정 백신 언급 증가 = 419
  백신 프로세스 종료 = 420 
  트레이 속임 = 422
  공식적으로 언급된 취약점 = 423
  업데이트 우회 = 424
  보안업체 비방 = 427
  드라이버 공격 = 428
  몸체가 없는 공격 코드 = 430
  Conficker = 432
  SDT 취약점 = 433
  벤치마킹의 중요성 = 434
 19 실시간 감시 기능 취약점 = 435
  바이러스 감지 후 필요한 행위 = 436
  파일 시스템 필터 드라이버 = 437
  실시간 감시 기능의 구현 원리 = 439
  콜백 함수 무력화 = 441
  콜백 무력화 대응 방법 = 443
  노티파이 카운트 취약점 = 444
  화이트리스트 강제 주입 = 445
  파일 접근 통제 = 446
  ZIP 취약점 = 447
  가상 PC 감지 = 448
  그외 안티바이러스 우회를 위한 다양한 방법 = 449
 20 키보드 보안 솔루션 우회 = 451
  키보드 취약점이 되는 구간 = 452 
  키보드 보안의 원리 = 454
  폴링 취약점 = 455
  IE의 추가 기능 관리 = 457
  가장 피해 사례가 많은 ring3 영역 = 458
  핵심 모듈 공격 = 460
  언로드 DLL = 461
  ring3에서 키보드 보안을 우회하는 이유 = 463
  키보드 보안의 문제점 = 464
  가상 키보드 취약점 = 464
  인터넷 뱅킹 취약점 - 메모리 해킹 = 466
  키보드 보안이 어려운 이유 = 468
  클라이언트에서 완전한 보안은? = 469
07부 한 차원 높은 바이너리 창조 = 473
 21 코드 후킹 = 475
  코드 후킹과 공동경비구역 = 476
  번지 계산의 고통 = 478
  DLL 인젝션 코드 = 479
  CreateRemoteThread = 480
  DLL 인젝션 테스트 = 484
  코드 후킹 기본 디자인 = 485
  여섯 바이트를 변조하는 이유 = 487
  DLL 번지의 강제 고정과 naked 함수 = 490
  패킷 버퍼 로깅 = 492 
  하드코딩에서 탈피하자 = 494
  후킹 코드의 확장 = 496
  MakeJMP - 후킹 함수의 간결화 = 501
  마무리 = 502
 22 코드 패칭 = 503
  동적 접근 방법과 정적 접근 방법 = 508
  프로세스 검출 루틴 분석 = 513
  점프문 공격 = 515
  파일에서 패칭할 때와 메모리에서 패칭할 때 = 516
  상수값 패칭 = 519
  스택 해킹 = 521
  거짓을 리턴 = 525
  스레드 공격 = 526
  마무리 = 531
 23 난독화와 더미 코드 = 533
  디스어셈블러 개론 = 534
  안티 디스어셈블링 = 536
  가비지 코드 속에 담긴 진짜 코드 = 539
  ASPack이 사용하는 안티 디스어셈블링 = 540
  Themida에서 사용하는 안티 디스어셈블링 = 543
  ASProtect의 코드 카피 = 546
  Themida의 코드 리다이렉트 = 548
  상수 암호화 = 554 
  API 호출 감추기 = 556 
  난독화 코드 찾아내어 우회하기 = 561 
  마무리 = 563 
찾아보기 = 567

관련분야 신착자료

Ramamurthy, Bina (2021)
윤관식 (2020)