MARC 닫기
00865nam 2200289 c 4500
000000761138
C_1140.cpp#604
090915s2009 ggka 001 kor
▼a 9788960770805
▼g 13560:
▼c \40000
▼a 248023
▼c 248023
▼a kor
▼h eng
▼l EM0000201846
▼a 005.16
▼2
▼a 005.16
▼b 에68ㄹ
▼a 에일람, 엘다드
▼a 리버싱:
▼b 리버스 엔지니어링의 비밀을 파헤치다/
▼d 엘다드 에일람 지음;
▼e 윤근용 옮김.
▼a Reversing : secrets of reverse engineering
▼a 의왕:
▼b 에이콘출판,
▼c 2009.
▼a 655 p.:
▼b 삽화;
▼c 25 cm.
▼a 에이콘 해킹 보안 시리즈;
▼v 20.
▼a 권말부록으로 "코드 구조 해석" 등 수록
▼a Eilam, Eldad
▼a 색인수록
▼a 리버싱
▼a 소프트웨어
▼a 리버스엔지니어링
▼a 윤근용
▼a Eilam, Eldad
▼b \40000
▼a 단행본
▼a 005.16
▼b 에68ㄹ
| 자료유형 : | 단행본 |
|---|---|
| ISBN : | 9788960770805 |
| 분류기호 : | 005.16 |
| 개인저자 : | 에일람, 엘다드 |
| 서명/저자사항 : | 리버싱: 리버스 엔지니어링의 비밀을 파헤치다/ 엘다드 에일람 지음; 윤근용 옮김. |
| 원서명 : | Reversing : secrets of reverse engineering |
| 발행사항 : | 의왕: 에이콘출판, 2009. |
| 형태사항 : | 655 p.: 삽화; 25 cm. |
| 총서사항 : | 에이콘 해킹 보안 시리즈; 20. |
| 일반주기 : | 권말부록으로 "코드 구조 해석" 등 수록 |
| 일반주기 : | Eilam, Eldad |
| 서지주기 : | 색인수록 |
| 개인저자 : | 윤근용 |
| 개인저자 : | Eilam, Eldad |
| 분류기호 : | 005.16 |
| 언어 | 한국어 |
KMO200903796
권 호 :
발행년 : 2009
발행처 : 에이콘출판
서 명 : 리버싱:리버스 엔지니어링의 비밀을 파헤치다
목차
추천의 글 = 4
감사의 글 = 8
저자 소개 = 9
옮긴이의 말 = 10
옮긴이 소개 = 11
들어가며 = 23
1부 리버싱 101 = 29
1장 리버싱의 기초 = 31
리버스 엔지니어링 = 31
소프트웨어 리버스 엔지니어링: 리버싱 = 32
리버싱 적용 = 32
보안 관련 리버싱 = 33
악성코드 소프트웨어 = 33
암호 알고리즘 리버싱 = 34
디지털 저작권 관리 = 35
프로그램 바이너리 감사 = 36
소프트웨어 개발에서의 리버싱 = 36
소프트웨어 간의 상호 운용 = 36
경쟁 제품 분석 = 37
소프트웨어의 품질과 안정성 측정 = 37
로우레벨 소프트웨어 = 38
어셈블리 언어 = 39
컴파일러 = 40
가상 머신과 바이트 코드 = 41
운영체제 = 41
리버싱 절차 = 42
시스템 레벨 리버싱 = 42
코드 레벨 리버싱 = 42
사용 툴 = 43
시스템 모니터링 툴 = 43
디스어셈블러 = 44
디버거 = 44
디컴파일러 = 45
리버싱은 합법적인 작업인가 = 45
상호운용성 = 46
경쟁 = 47
저작권법 = 48
영업 비밀과 특허권 = 48
디지털 밀레니엄 저작권법 = 49
DMCA 사례 = 50
사용권 계약 = 51
예제 코드와 툴 = 52
정리 = 52
2장 로우레벨 소프트웨어 = 53
하이레벨 관점 = 53
프로그램 구조 = 54
모듈 = 55
공통 구성 요소 = 56
데이터 처리 = 57
변수 = 58
사용자 정의 데이터 구조체 = 58
리스트 = 59
제어 흐름 = 61
하이레벨 언어 = 61
C = 62
C++ = 63
자바 = 64
C# = 64
로우레벨 관점 = 65
로우레벨 데이터 처리 = 65
레지스터 = 67
스택 = 68
힙 = 71
실행 데이터 섹션 = 71
제어 흐름 = 72
어셈블리 언어 입문 = 73
레지스터 = 73
플래그 = 74
명령 포맷 = 76
기본 명령 = 77
데이터 이동 = 78
산술 연산 = 78
비교 연산 = 79
조건 분기 = 79
함수 호출 = 80
코드 예 = 80
컴파일러 기초 = 82
컴파일러란 = 83
컴파일러 아키텍처 = 83
프런트엔드 = 84
중간 표현 = 84
최적화기 = 85
백엔드 = 86
리스팅 파일 = 87
사용 컴파일러 = 88
실행 환경 = 89
소프트웨어 실행 환경(가상 머신) = 89
바이트 코드 = 90
인터프리터 = 90
Just-in-Time 컴파일러 = 91
리버싱 전략 = 91
최신 프로세서에서의 하드웨어 실행 환경 = 92
인텔 NetBurst = 94
μops(Micro-Ops) = 94
파이프라인 = 94
분기 예측 = 96
정리 = 97
3장 윈도우 기초 = 99
컴포넌트와 기본 아키텍처 = 99
간략한 역사 = 99
특징 = 100
지원 하드웨어 = 101
메모리 관리 = 101
가상 메모리와 페이징 = 102
페이징 = 103
페이지 폴트 = 104
워킹 셋 = 104
커널 메모리와 유저 메모리 = 104
커널 메모리 공간 = 105
섹션 객체 = 108
VAD 트리 = 108
유저 모드 메모리 할당 = 109
메모리 관리 API = 110
객체와 핸들 = 111
네임드 객체 = 113
프로세스와 스레드 = 114
프로세스 = 114
스레드 = 114
컨텍스트 스위칭 = 115
동기화 객체 = 117
프로세스 초기화 과정 = 118
애플리케이션 프로그래밍 인터페이스 = 119
Win32 API = 119
네이티브 API = 121
시스템 콜 메커니즘 = 122
실행 포맷 = 124
기본 개념 = 125
이미지 섹션 = 126
섹션 정렬 = 126
동적 링크 라이브러리 = 127
헤더 = 128
임포트와 익스포트 = 130
디렉터리 = 132
입력과 출력 = 133
I/O 시스템 = 134
Win32 서브시스템 = 135
객체 관리자 = 136
구조화된 예외 처리 = 136
정리 = 139
4장 리버싱 툴 = 141
다양한 리버싱 방법 = 141
오프라인 코드 분석(Dead-Listing) = 142
라이브 코드 분석 = 142
디스어셈블러 = 142
IDA Pro = 144
ILDasm = 147
디버거 = 148
유저 모드 디버거 = 150
OllyDbg = 151
WinDbg를 이용한 유저 모드 디버깅 = 152
IDA Pro = 153
PEBrowse Professional Interactive = 154
커널 모드 디버거 = 154
WinDbg를 이용한 커널 모드 디버깅 = 155
Numega SoftICE = 157
가상 머신에서의 커널 디버깅 = 159
디컴파일러 = 161
시스템 모니터링 툴 = 162
패치 툴 = 164
Hex Workshop = 164
기타 리버싱 툴 = 166
실행 이미지 덤프 툴 = 166
DUMPBIN = 166
PEView = 170
PEBrowse Professional = 171
정리 = 171
2부 리버싱 응용 = 173
5장 리버싱 실전 = 175
리버싱과 상호운용성 = 175
기본 원칙 = 176
문서화되지 않은 API를 찾는 방법 = 177
찾고자 하는 것 = 178
사례 연구: NTDLL.DLL의 Generic Table API = 179
RtlInitializeGenericTable = 181
RtlNumberGenericTableElements = 187
RtlIsGenericTableEmpty = 188
RtlGetElementGenericTable = 189
셋업과 초기화 = 191
로직과 구조 = 196
검색 루프 1 = 198
검색 루프 2 = 200
검색 루프 3 = 201
검색 루프 4 = 202
소스코드 추출 = 203
RtlInsertElementGenericTable = 206
RtlLocateNodeGenericTable = 208
RtlRealInsertElementWorker = 217
Splay 트리 = 227
RtlLookupElementGenericTable = 231
RtlDeleteElementGenericTable = 233
분석한 내용 종합 = 236
정리 = 238
6장 파일 포맷 분석 = 239
Cryptex = 240
Cryptex 사용 = 241
Cryptex 리버싱 = 242
패스워드 검증 과정 = 248
"Bad Password" 메시지 잡아내기 = 248
패스워드 변환 알고리즘 = 252
패스워드 해싱 = 255
디렉터리 구조 = 261
디렉터리 처리 코드 분석 = 261
파일 엔트리 분석 = 267
디렉터리 구조 덤프 = 271
파일 추출 과정 = 272
파일 목록 검색 = 280
파일 복호화 = 282
부동소수점 연산 = 283
복호화 루프 = 285
해시 값 검증 = 286
Cryptex 헤더 구조 정리 = 286
그 밖의 Cryptex 팁 = 288
결론 = 289
7장 프로그램 바이너리 감사 = 291
문제점 정의 = 291
보안 취약점 = 293
스택 오버플로우 = 293
간단한 스택 보안 취약점 = 295
내부 구현 = 298
스택 검사 = 299
비실행 가능 메모리 = 304
힙 오버플로우 = 304
문자열 필터 = 305
정수 오버플로우 = 306
사용자 입력 정수에 대한 산술 연산 = 308
형 변환 에러 = 310
사례: IIS 인덱싱 서비스 보안 취약점 = 312
CVariableSet::AddExtensionControlBlock = 313
DecodeURLEscapes = 318
정리 = 323
8장 악성코드 리버싱 = 325
악성코드의 종류 = 325
바이러스 = 326
웜 = 326
트로이 목마 = 327
백도어 = 328
모바일 코드 = 328
애드웨어/스파이웨어 = 329
스틱키 소프트웨어 = 329
미래의 악성코드 = 330
정보 탈취 웜 = 330
바이오스/펌웨어 악성코드 331 = 331
악성코드의 목적 = 333
악성코드 취약점 = 334
다형성 = 335
변종 = 337
안전한 리버싱 환경 구축 = 338
Backdoor.Hacarmy.D = 339
실행 파일 언패킹 = 339
최초 실행 = 344
설치 = 345
네트워크 연결 = 349
서버에 연결 = 351
채널에 접속 = 354
백도어와 통신 = 355
SOCKS4 서버 실행 = 359
자체 제거 = 360
Backdoor.Hacarmy.D: 명령 레퍼런스 = 361
정리 = 362
3부 크래킹 = 363
9장 저작권 침해와 불법 복사 방지 = 365
저작권 = 365
사회적 측면 = 365
소프트웨어 저작권 침해 = 366
문제 정의 = 367
보안 결함 = 368
필요 조건 = 369
이론적으로 크랙이 불가능한 모델 = 370
보호 유형 = 370
매체 기반 보호 = 371
시리얼 번호 = 371
질의 응답과 온라인 인증 = 372
하드웨어 기반의 보호 = 373
서비스로서의 소프트웨어 = 374
진보된 보호 개념 = 375
크립토 프로세서 = 375
디지털 저작권 관리 = 377
DRM 모델 = 377
윈도우 미디어 저작권 관리자 = 378
시큐어 오디오 패스 = 379
워터 마크 = 379
신뢰 컴퓨팅 = 380
복사 방지 기술 공격 = 382
정리 = 382
10장 안티 리버싱 기술 = 383
안티 리버싱이 필요한 이유 = 383
기본적인 안티 리버싱 방법 = 384
심볼 정보 제거 = 385
코드 암호화 = 386
안티 디버거 기술 = 387
디버거 기본 = 387
IsDebuggerPresent API = 388
SystemKernelDebuggerInformation = 389
싱글 스텝 인터럽트를 이용한 SoftICE 탐지 = 390
트랩 플래그 = 391
코드 체크섬 = 392
안티 디스어셈블러 = 393
선형 스윕 디스어셈블러 = 394
Recursive Traversal 디스어셈블러 = 395
적용 = 400
코드 난독화 = 402
제어 흐름 변환 = 403
Opaque Predicates = 404
안티 디컴파일러 = 406
테이블 해석 = 406
인라인닝과 아웃라이닝 = 412
인터리빙 코드 = 413
순서 변환 = 414
데이터 변환 = 415
변수 인코딩 = 415
배열 재구성 = 416
정리 = 416
11장 보호 기술 파괴 = 417
패치 = 418
Keygen = 424
키 생성 알고리즘 추출 = 425
고급 크래킹: Defender = 431
Defender의 초기화 루틴 리버싱 = 439
복호화된 코드 분석 = 451
사라진 SoftICE = 461
스레드 리버싱 = 461
"Killer" 스레드 무력화 = 465
KERNEL32.DLL 로딩 = 466
함수 재암호화 = 468
엔트리 포인트로 다시 돌아가서 = 469
프로그램 파라미터 파싱 = 471
사용자 이름 처리 = 473
사용자 정보 검증 = 474
코드 복호화 = 475
Defender에 대한 무작위 대입 = 476
Defender의 보호 기술 = 482
함수 레벨의 암호화 = 483
상대적으로 강력한 암호 블록 체인 = 483
재 암호화 = 483
애플리케이션/운영체제와의 인터페이스 난독화 = 484
프로세서 타임 스탬프 검증 스레드 = 485
실행 시에 복호화 키 생성 = 486
상호 의존 키 = 486
사용자 입력 기반의 복호화 키 = 486
인라이닝 = 487
정리 = 487
4부 디스어셈블리 너머 = 489
12장 닷넷 리버싱 = 491
기반 지식 = 492
닷넷 기본 = 493
매니지드 코드 = 494
닷넷 프로그래밍 언어 = 496
공통 타입 시스템 = 497
중간 언어 = 497
평가 스택 = 498
활성화 레코드 = 499
IL 명령 = 499
IL 코드 샘플 = 501
카운팅 아이템 = 501
링크드 리스트 샘플 = 504
디컴파일러 = 512
난독기 = 513
심볼 이름 변경 = 513
제어 흐름 변경 = 513
디컴파일과 디스어셈블리 차단 = 514
난독화된 코드 리버싱 = 515
XenoCode = 515
Preemptive Solutions의 DotFuscator = 517
Remotesoft 난독기와 링커 = 522
Remotesoft Protector = 522
어셈블리 프리컴파일 = 523
어셈블리 암호화 = 524
정리 = 525
13장 디컴파일 = 527
네이티브 코드 디컴파일 = 527
전형적인 디컴파일러의 구조 = 529
중간 표현 = 529
표현식과 표현식 트리 = 531
제어 흐름 그래프 = 532
프론트엔드 = 532
의미 분석 = 533
제어 흐름 그래프 생성 = 534
코드 분석 = 536
데이터 흐름 분석 = 536
단일 정적 할당 = 537
데이터 전달 = 538
레지스터 변수 구별 = 540
데이터 타입 전달 = 541
타입 분석 = 542
기본 데이터 타입 = 542
복잡한 데이터 타입 = 543
제어 흐름 분석 = 545
라이브러리 함수의 구별 = 546
백엔드 = 547
실제 IA-32 디컴파일러 = 547
정리 = 548
부록 A 코드 구조 해석 = 549
부록 B 컴파일된 연산의 이해 = 589
부록 C 프로그램 데이터 해석 = 609
부록 D 인용문 = 635
찾아보기 = 640
바이브 코딩 혁명이 온다 : AI 에이전트와 제로 코드 소사이어티의 탄생
005.133 김73ㅂ
(맥스 테그마크의) 라이프 3.0 : 인공지능이 열어갈 인류와 생명의 미래
006.301 T261ㄹ백
(2025) SQLD 모든 것 : #SQLD 14일 합격
005.7585 아68s
인문의 재발견
001.3 안73ㅇ
서평쓰기