第 一部分 編碼模式

第1章 CPU簡介 3

1.1 指令集的作用 3

第 2章 **簡函數(shù) 5

2.1 x86 5

2.2 ARM 5

2.3 MIPS 5

2.3.1 MIPS指令集與寄存器名稱 6

第3章 Hello,world! 7

3.1 x86 7

3.1.1 MSVC 7

3.1.2 GCC 9

3.1.3 GCC:AT&T語體 9

3.2 x86-64 11

3.2.1 MSVC-x86-64 11

3.2.2 GCC-x86-64 12

3.3 GCC的其他特性 12

3.4 ARM 13

3.4.1 Keil 6/2013——未啟用優(yōu)化功能的ARM模式 14

3.4.2 Thumb模式下、未開啟優(yōu)化選項(xiàng)的Keil 15

3.4.3 ARM模式下、開啟優(yōu)化選項(xiàng)的Xcode 15

3.4.4 Thumb-2模式下、開啟優(yōu)化選項(xiàng)的Xcode(LLVM) 16

3.4.5 ARM64 18

3.5 MIPS 19

3.5.1 全局指針Global pointer 19

3.5.2 Optimizing GCC 19

3.5.3 Non-optimizing GCC 21

3.5.4 棧幀 23

3.5.5 Optimizing GCC: GDB的分析方法 23

3.6 總結(jié) 24

3.7 練習(xí) 24

3.7.1 題目1 24

3.7.2 題目2 24

第4章 函數(shù)序言和函數(shù)尾聲 25

4.1 遞歸調(diào)用 25

第5章 ?!?6

5.1 為什么棧會(huì)逆增長? 26

5.2 棧的用途 27

5.2.1 保存函數(shù)結(jié)束時(shí)的返回地址 27

5.2.2 參數(shù)傳遞 28

5.2.3 存儲(chǔ)局部變量 29

5.2.4 x86:alloca()函數(shù) 29

5.2.5?。╓indows)SEH結(jié)構(gòu)化

異常處理 31

5.2.6 緩沖區(qū)溢出保護(hù) 31

5.3 典型的棧的內(nèi)存存儲(chǔ)格式 31

5.4 棧的噪音 31

5.5 練習(xí)題 34

5.5.1 題目1 34

5.5.2 題目2 34

第6章 printf()函數(shù)與參數(shù)調(diào)用 36

6.1 x86 36

6.1.1 x86:傳遞3個(gè)參數(shù) 36

6.1.2 x64:傳遞9個(gè)參數(shù) 41

6.2 ARM 44

6.2.1 ARM模式下傳遞3個(gè)參數(shù) 44

6.2.2 ARM模式下傳遞8個(gè)參數(shù) 46

6.3 MIPS 50

6.3.1 傳遞3個(gè)參數(shù) 50

6.3.2 傳遞9個(gè)參數(shù) 52

6.4 總結(jié) 56

6.5 其他 57

第7章 scanf() 58

7.1 演示案例 58

7.1.1 指針簡介 58

7.1.2 x86 58

7.1.3 MSVC OllyDbg 60

7.1.4 x64 62

7.1.5 ARM 63

7.1.6 MIPS 64

7.2 全局變量 65

7.2.1 MSVC:x86 66

7.2.2 MSVC:x86 OllyDbg 67

7.2.3 GCC:x86 68

7.2.4 MSVC:x64 68

7.2.5 ARM: Optimizing Keil 6/2013

(Thumb模式) 69

7.2.6 ARM64 70

7.2.7 MIPS 70

7.3 scanf()函數(shù)的狀態(tài)監(jiān)測 74

7.3.1 MSVC:x86 74

7.3.2 MSVC:x86:IDA 75

7.3.3 MSVC:x86 OllyDbg 77

7.3.4 MSVC:x86 Hiew 78

7.3.5 MSVC:x64 79

7.3.6 ARM 80

7.3.7 MIPS 81

7.3.8 練習(xí)題 82

第8章 參數(shù)獲取 83

8.1 x86 83

8.1.1 MSVC 83

8.1.2 MSVC OllyDbg 84

8.1.3 GCC 84

8.2 x64 85

8.2.1 MSVC 85

8.2.2 GCC 86

8.2.3 GCC: uint64_t型參數(shù) 87

8.3 ARM 88

8.3.1 Non-optimizing Keil 6/2013

(ARM mode) 88

8.3.2 Optimizing Keil 6/2013

(ARM mode) 89

8.3.3 Optimizing Keil 6/2013

(Thumb mode) 89

8.3.4 ARM64 89

8.4 MIPS 91

第9章 返回值 93

9.1 void型函數(shù)的返回值 93

9.2 函數(shù)返回值不被調(diào)用的情況 94

9.3 返回值為結(jié)構(gòu)體型數(shù)據(jù) 94

第 10章 指針 96

10.1 全局變量 96

10.2 局部變量 98

10.3 總結(jié) 100

第 11章 GOTO語句 101

11.1 無用代碼Dead Code 102

11.2 練習(xí)題 102

第 12章 條件轉(zhuǎn)移指令 103

12.1 數(shù)值比較 103

12.1.1 x86 103

12.1.2 ARM 109

12.1.3 MIPS 112

12.2 計(jì)算絕 對值 115

12.2.1 Optimizing MSVC 115

12.2.2 Optimizing Keil 6/2013: Thumb

mode 116

12.2.3 Optimizing Keil 6/2013: ARM

mode 116

12.2.4 Non-optimizng GCC 4.9

(ARM64) 116

12.2.5 MIPS 117

12.2.6 不使用轉(zhuǎn)移指令 117

12.3 條件運(yùn)算符 117

12.3.1 x86 117

12.3.2 ARM 118

12.3.3 ARM64 119

12.3.4 MIPS 119

12.3.5 使用if/else替代條件運(yùn)算符 120

12.3.6 總結(jié) 120

12.3.7 練習(xí)題 120

12.4 比較**大值和**小值 120

12.4.1 32位 120

12.4.2 64位 123

12.4.3 MIPS 125

12.5 總結(jié) 125

12.5.1 x86 125

12.5.2 ARM 125

12.5.3 MIPS 126

12.5.4 不使用轉(zhuǎn)移指令 126

第 13章 switch()/case/default 128

13.1 case陳述式較少的情況 128

13.1.1 x86 128

13.1.2 ARM: Optimizing Keil 6/2013

(ARM mode) 133

13.1.3 ARM: Optimizing Keil 6/2013

(Thumb mode) 133

13.1.4 ARM64: Non-optimizing GCC

(Linaro) 4.9 134

13.1.5 ARM64: Optimizing GCC

(Linaro) 4.9 134

13.1.6 MIPS 135

13.1.7 總結(jié) 136

13.2 多個(gè)case從句 136

13.2.1 x86 136

13.2.2 ARM: Optimizing Keil 6/2013

(ARM mode) 140

13.2.3 ARM: Optimizing Keil 6/2013

(Thumb mode) 141

13.2.4 MIPS 143

13.2.5 總結(jié) 144

13.3 case從句多對一的情況 145

13.3.1 MSVC 145

13.3.2 GCC 147

13.3.3 ARM64: Optimizing

GCC 4.9.1 147

13.4 Fall-through 149

13.4.1 MSVC x86 149

13.4.2 ARM64 150

13.5 練習(xí)題 151

13.5.1 題目1 151

第 14章 循環(huán) 152

14.1 舉例說明 152

14.1.1 x86 152

14.1.2 x86:OllyDbg 155

14.1.3 x86:跟蹤調(diào)試工具tracer 156

14.1.4 ARM 157

14.1.5 MIPS 160

14.1.6 其他 161

14.2 內(nèi)存塊復(fù)制 161

14.2.1 編譯結(jié)果 161

14.2.2 編譯為ARM模式的

程序 162

14.2.3 MIPS 163

14.2.4 矢量化技術(shù) 164

14.3 總結(jié) 164

14.4 練習(xí)題 165

14.4.1 題目1 165

14.4.2 題目2 165

14.4.3 題目3 166

14.4.4 題目4 167

第 15章 C語言字符串的函數(shù) 170

15.1 strlen() 170

15.1.1 x86 170

15.1.2 ARM 174

15.1.3 MIPS 177

15.2 練習(xí)題 178

15.2.1 練習(xí)題1 178

第 16章 數(shù)學(xué)計(jì)算指令的替換 181

16.1 乘法 181

16.1.1 替換為加法運(yùn)算 181

16.1.2 替換為位移運(yùn)算 181

16.1.3 替換為位移、加減法的

混合運(yùn)算 182

16.2 除法運(yùn)算 186

16.2.1 替換為位移運(yùn)算 186

16.3 練習(xí)題 186

16.3.1 題目2 186

第 17章 FPU 188

17.1 IEEE 754 188

17.2 x86 188

17.3 ARM、MIPD、x86/x64 SIMD 188

17.4 C/C  188

17.5 舉例說明 189

17.5.1 x86 189

17.5.2 ARM: Optimizing Xcode

4.6.3 (LLVM) (ARM mode) 193

17.5.3 ARM: Optimizing Keil 6/2013

(Thumb mode) 193

17.5.4 ARM64: Optimizing GCC

(Linaro) 4.9 194

17.5.5 ARM64: Non-optimizing GCC

(Linaro) 4.9 195

17.5.6 MIPS 195

17.6 利用參數(shù)傳遞浮點(diǎn)型數(shù)據(jù) 196

17.6.1 x86 196

17.6.2 ARM Non-optimizing

Xcode 4.6.3 (LLVM)

(Thumb-2 mode) 197

17.6.3 ARM Non-optimizing Keil

6/2013 (ARM mode) 198

17.6.4 ARM64 Optimizing GCC

(Linaro) 4.9 198

17.6.5 MIPS 199

17.7 比較說明 200

17.7.1 x86 200

17.7.2 ARM 216

17.7.3 ARM64 219

Optimizing GCC (Linaro) 4.9—float 220

17.7.4 MIPS 220

17.8 棧、計(jì)算器及逆波蘭表示法 221

17.9 x64 221

17.10 練習(xí)題 221

17.10.1 題目1 221

17.10.2 題目2 221

第 18章 數(shù)組 223

18.1 簡介 223

18.1.1 x86 223

18.1.2 ARM 225

18.1.3 MIPS 228

18.2 緩沖區(qū)溢出 229

18.2.1 讀取數(shù)組邊界以外的內(nèi)容 229

18.2.2 向數(shù)組邊界之外的地址賦值 231

18.3 緩沖區(qū)溢出的保護(hù)方法 234

18.3.1 Optimizing Xcode 4.6.3 (LLVM)

(Thumb-2 mode) 236

18.4 其他 238

18.5 字符串指針 238

18.5.1 x64 239

18.5.2 32位ARM 240

18.5.3 ARM64 241

18.5.4 MIPS 242

18.5.5 數(shù)組溢出 242

18.6 多維數(shù)組 245

18.6.1 二維數(shù)組舉例 246

18.6.2 以一維數(shù)組的方式訪問

二維數(shù)組 247

18.6.3 三維數(shù)組 248

18.6.4 更多案例 251

18.7 二維字符串?dāng)?shù)組的封裝格式 251

18.7.1 32位ARM 253

18.7.2 ARM64 254

18.7.3 MIPS 254

18.7.4 總結(jié) 255

18.8 本章小結(jié) 255

18.9 練習(xí)題 255

18.9.1 題目1 255

18.9.2 題目2 258

18.9.3 題目3 263

18.9.4 題目4 264

18.9.5 題目5 265

第 19章 位操作 270

19.1 特定位 270

19.1.1 x86 270

19.1.2 ARM 272

19.2 設(shè)置/清除特定位 274

19.2.1 x86 274

19.2.2 ARM Optimizing Keil 6/2013

(ARM mode) 277

19.2.3 ARM Optimizing Keil 6/2013

(Thumb mode) 278

19.2.4 ARM Optimizing Xcode (LLVM)

ARM mode 278

19.2.5 ARM:BIC指令詳解 278

19.2.6 ARM64: Optimizing GCC(Linaro)

4.9 278

19.2.7 ARM64: Non-optimizing GCC (Linaro) 4.9 279

19.2.8 MIPS 279

19.3 位移 279

19.4 在FPU上設(shè)置特定位 279

19.4.1 XOR操作詳解 280

19.4.2 x86 280

19.4.3 MIPS 282

19.4.4 ARM 282

19.5 位校驗(yàn) 284

19.5.1 x86 286

19.5.2 x64 289

19.5.3 ARM Optimizing Xcode 4.6.3

(LLVM) ARM mode 291

19.5.4 ARM Optimizing Xcode 4.6.3

(LLVM)  Thumb-2 mode 292

19.5.5 ARM64 Optimizing GCC 4.9 292

19.5.6 ARM64 Non-optimizing

GCC 4.9 292

19.5.7 MIPS 293

19.6 本章小結(jié) 295

19.6.1 檢測特定位(編譯階段) 295

19.6.2 檢測特定位(runtime階段) 295

19.6.3 設(shè)置特定位(編譯階段) 296

19.6.4 設(shè)置特定位(runtime階段) 296

19.6.5 清除特定位(編譯階段) 296

19.6.6 清除特定位(runtime階段) 297

19.7 練習(xí)題 297

19.7.1 題目1 297

19.7.2 題目2 298

19.7.3 題目3 301

19.7.4 題目4 301

第 20章 線性同馀法與偽隨機(jī)函數(shù) 304

20.1 x86 304

20.2 x64 305

20.3 32位ARM 306

20.4 MIPS 306

20.4.1 MIPS的重新定位 307

20.5 本例的線程安全改進(jìn)版 309

第 21章 結(jié) 構(gòu) 體 310

21.1 MSVC: systemtime 310

21.1.1 OllyDbg 311

21.1.2 以數(shù)組替代結(jié)構(gòu)體 312

21.2 用malloc()分配結(jié)構(gòu)體的空間 313

21.3 UNIX: struct tm 315

21.3.1 Linux 315

21.3.2 ARM 317

21.3.3 MIPS 319

21.3.4 數(shù)組替代法 320

21.3.5 替換為32位words 322

21.3.6 替換為字節(jié)型數(shù)組 323

21.4 結(jié)構(gòu)體的字段封裝 325

21.4.1 x86 325

21.4.2 ARM 329

21.4.3 MIPS 330

21.4.4 其他 331

21.5 結(jié)構(gòu)體的嵌套 331

21.5.1 OllyDbg 332

21.6 結(jié)構(gòu)體中的位操作 333

21.6.1 CPUID 333

21.6.2 用結(jié)構(gòu)體構(gòu)建浮點(diǎn)數(shù) 337

21.7 練習(xí)題 339

21.7.1 題目1 339

21.7.2 題目2 340

第 22章 共用體(union)類型 345

22.1 偽隨機(jī)數(shù)生成程序 345

22.1.1 x86 346

22.1.2 MIPS 347

22.1.3 ARM (ARM mode) 348

22.2 計(jì)算機(jī)器精度 349

22.2.1 x86 350

22.2.2 ARM64 350

22.2.3 MIPS 351

22.2.4 本章小結(jié) 351

第 二部分 硬件基礎(chǔ)

第 23章 函數(shù)指針 352

23.1 MSVC 353

23.1.1 MSVC OllyDbg 354

23.1.2 MSVC tracer 355

23.1.3 MSVC tracer (code coverage) 356

23.2 GCC 357

23.2.1 GCC GDB

(有源代碼的情況) 358

23.2.2 GCC GDB

(沒有源代碼的情況) 359

第 24章 32位系統(tǒng)處理64位數(shù)據(jù) 362

24.1 64位返回值 362

24.1.1 x86 362

24.1.2 ARM 362

24.1.3 MIPS 362

24.2 參數(shù)傳遞及加減運(yùn)算 363

24.2.1 x86 363

24.2.2 ARM 365

24.2.3 MIPS 365

24.3 乘法和除法運(yùn)算 366

24.3.1 x86 367

24.3.2 ARM 368

24.3.3 MIPS 369

24.4 右移 370

24.4.1 x86 370

24.4.2 ARM 371

24.4.3 MIPS 371

24.5 32位數(shù)據(jù)轉(zhuǎn)換為64位數(shù)據(jù) 371

24.5.1 x86 372

24.5.2 ARM 372

24.5.3 MIPS 372

第 25章 SIMD 373

25.1 并行矢量化 373

25.1.1 用于加法計(jì)算 374

25.1.2 用于內(nèi)存復(fù)制 379

25.2 SIMD實(shí)現(xiàn)strlen() 383

第 26章 64位平臺(tái) 387

26.1 x86-64 387

26.2 ARM 394

26.3 浮點(diǎn)數(shù) 394

第 27章 SIMD與浮點(diǎn)數(shù)的并行運(yùn)算 395

27.1 樣板程序 395

27.1.1 x64 395

27.1.2 x86 396

27.2 傳遞浮點(diǎn)型參數(shù) 399

27.3 浮點(diǎn)數(shù)之間的比較 400

27.3.1 x64 400

27.3.2 x86 401

27.4 計(jì)算機(jī)器精 確度 402

27.5 偽隨機(jī)數(shù)生成程序(續(xù)) 402

27.6 總結(jié) 403

第 28章 ARM指令詳解 404

28.1 立即數(shù)標(biāo)識(shí)(#) 404

28.2 變址尋址 404

28.3 常量賦值 405

28.3.1 32位ARM 405

28.3.2 ARM64 405

28.4 重定位 406

第 29章 MIPS的特點(diǎn) 409

29.1 加載常量 409

29.2 閱讀推薦 409

第30章 有符號(hào)數(shù)的表示方法 413

第31章 字節(jié)序 414

31.1 大端字節(jié)序 414

31.2 小端字節(jié)序 414

31.3 舉例說明 414

31.4 雙模二元數(shù)據(jù)格式 415

31.5 轉(zhuǎn)換字節(jié)序 415

第32章 內(nèi)存布局 416

第33章 CPU 417

33.1 分支預(yù)測 417

33.2 數(shù)據(jù)相關(guān)性 417

第34章 哈希函數(shù) 418

34.1 單向函數(shù)與不可逆算法 418

第三部分 一些高 級(jí)的例子

第35章 溫度轉(zhuǎn)換 421

35.1 整數(shù)值 421

35.1.1 x86構(gòu)架下MSVC 2012

優(yōu)化 421

35.1.2 x64構(gòu)架下的MSVC 2012

優(yōu)化 423

35.2 浮點(diǎn)數(shù)運(yùn)算 423

第36章 Fibonacci數(shù)列

(斐波拉契數(shù)列) 426

36.1 例子1 426

36.2 例子2 428

36.3 總結(jié) 431

第37章 CRC32計(jì)算的例子 432

第38章 網(wǎng)絡(luò)地址計(jì)算實(shí)例 435

38.1 計(jì)算網(wǎng)絡(luò)地址函數(shù)

calc_network_address() 436

38.2 函數(shù)form_IP() 437

38.3 函數(shù)print_as_IP() 438

38.4 form_netmask()函數(shù)和set_bit()

函數(shù) 440

38.5 總結(jié) 440

第39章 循環(huán):幾個(gè)迭代 441

39.1 三個(gè)迭代 441

39.2 兩個(gè)迭代 442

39.3 Intel C 2011實(shí)例 443

第40章 Duff的裝置 446

第41章 除以9 449

41.1 x86 449

41.2 ARM 450

41.2.1 ARM模式下,采用Xcode 4.6.3

(LLVM)優(yōu)化 450

41.2.2 Thumb-2模式下的Xcode 4.6.3

優(yōu)化(LLVM) 451

41.2.3 非優(yōu)化的Xcode 4.6.3(LLVM)

以及Keil 6/2013 451

41.3 MIPS 451

41.4 它是如何工作的 452

41.4.1 更多的理論 453

41.5 除法運(yùn)算 453

41.5.1 變量#1 453

41.5.2 變量#2 454

41.6 練習(xí)題 455

第42章 字符串轉(zhuǎn)換成數(shù)字,

函數(shù)atoi() 456

42.1 一個(gè)簡單的例子 456

42.1.1 64位下的MSVC 2013優(yōu)化 456

42.1.2 64位下的GCC 4.9.1優(yōu)化 457

42.1.3 ARM模式下Keil 6/2013優(yōu)化 457

42.1.4 Thumb模式下Keil 6/2013

優(yōu)化 458

42.1.5 ARM64下的GCC 4.9.1優(yōu)化 458

42.2 一個(gè)略微高 級(jí)的例子 459

42.2.1 64位下的GCC 4.9.1優(yōu)化 460

42.2.2 ARM模式下的Keil6/2013

優(yōu)化 461

42.3 練習(xí) 462

第43章 Inline函數(shù)(聯(lián)機(jī)函數(shù)) 463

43.1 字符串和內(nèi)存操作函數(shù) 464

43.1.1 字符串比較函數(shù)strcmp() 464

43.1.2 字符串長度函數(shù)strlen() 466

43.1.3 字符串復(fù)制函數(shù)strcpy() 466

43.1.4 內(nèi)存設(shè)置函數(shù)memset() 467

43.1.5 內(nèi)存復(fù)制函數(shù)memcpy() 468

43.1.6 內(nèi)存對比函數(shù) memcmp() 470

43.1.7 IDA腳本 471

第44章 C99限制 472

第45章 無分支函數(shù)abs() 475

45.1 x64下的GCC 4.9.1優(yōu)化 475

45.2 ARM64下的GCC 4.9優(yōu)化 475

第46章 參數(shù)個(gè)數(shù)可變函數(shù) 477

46.1 計(jì)算算術(shù)平均值 477

46.1.1 cdecl調(diào)用規(guī)范 477

46.1.2 基于寄存器的調(diào)用規(guī)范 478

46.2 vprintf()函數(shù)例子 480

第47章 字符串剪切 482

47.1 x64下的MSVC 2013優(yōu)化 483

47.2 x64下采用編輯器GCC 4.9.1進(jìn)行

非優(yōu)化操作 484

47.3 x64下的GCC 4.9.1優(yōu)化 485

47.4 ARM64:非優(yōu)化的

GCC(Linaro)4.9 486

47.5 ARM64:優(yōu)化GCC(Linaro)4.9 487

47.6 ARM: Keil 6/2013優(yōu)化

(ARM模式) 488

47.7 ARM:Keil 6/2013

(Thumb模式)優(yōu)化 489

47.8 MIPS 489

第48章 toupper()函數(shù) 491

48.1 x64 491

48.1.1 兩個(gè)比較操作 491

48.1.2 一個(gè)比較操作 492

48.2 ARM 493

48.2.1 ARM64下的GCC 493

48.3 總結(jié) 494

第49章 不正確的反匯編代碼 495

49.1 x86環(huán)境下的,從一開始錯(cuò)誤的

反匯編 495

49.2 一些隨機(jī)數(shù),怎么看起來像

反匯編指令? 496

第50章 混淆 501

50.1 字符串 501

50.2 可執(zhí)行代碼 501

50.2.1 插入垃圾代碼 501

50.2.2 用多個(gè)指令組合代替原來的

一個(gè)指令 502

50.2.3 始終執(zhí)行或者從來不會(huì)執(zhí)行的

代碼 502

50.2.4 把指令序列搞亂 502

50.2.5 使用間接指針 503

50.3 虛擬機(jī)以及偽代碼 503

50.4 一些其他的事情 503

50.5 練習(xí) 503

50.5.1 練習(xí)1 503

第51章 C  504

51.1 類 504

51.1.1 一個(gè)簡單的例子 504

51.1.2 類繼承 510

51.1.3 封裝 513

51.1.4 多重繼承 515

51.1.5 虛擬方法 518

51.2 ostream流 521

51.3 引用 522

51.4 STL(standard language file system)標(biāo)準(zhǔn)

語言文件系統(tǒng) 522

51.4.1 std::string(字符串) 523

51.4.2 std::list函數(shù) 529

51.4.3 std::vector標(biāo)準(zhǔn)向量 539

51.4.4 std::map()和std::set() 547

第52章 數(shù)組的負(fù)數(shù)偏移 558

第53章 16位的Windows程序 561

53.1 例子#1 561

53.2 例子#2 561

53.3 例子#3 562

53.4 例子#4 563

53.5 例子#5 566

53.6 例子#6 569

53.6.1 全局變量 571

第四部分 Java

第54章 JAVA 575

54.1 簡介 575

54.2 返回一個(gè)值 575

54.3 簡單的計(jì)算函數(shù) 579

54.4 JVM的內(nèi)存模型 582

54.5 簡單的函數(shù)調(diào)用 582

54.6 調(diào)用函數(shù)beep()(蜂鳴器) 584

54.7 線性同余隨機(jī)數(shù)產(chǎn)生器(PRNG) 584

54.8 條件跳轉(zhuǎn) 586

54.9 傳遞參數(shù) 588

54.10 位操作 589

54.11 循環(huán) 590

54.12 開關(guān)函數(shù)switch() 592

54.13 數(shù)組 593

54.13.1 簡單的例子 593

54.13.2 數(shù)組元素求和 594

54.13.3 單一變量的主函數(shù)main()依然

是一個(gè)數(shù)組 595

54.13.4 預(yù)設(shè)初始值的的數(shù)組 596

54.13.5 可變參數(shù)函數(shù) 597

54.13.6 二維數(shù)組 599

54.13.7 三維數(shù)組 600

54.13.8 小結(jié) 601

54.14 字符串 601

54.14.1 第 一個(gè)例子 601

54.14.2 第 二個(gè)例子 602

54.15 例外 603

54.16 類 606

54.17 簡單的補(bǔ)丁 608

54.17.1 第 一個(gè)例子 608

54.17.2 第 二個(gè)例子 610

54.18 總結(jié) 612

第五部分 在代碼中發(fā)現(xiàn)重要而有趣的內(nèi)容

第55章 可執(zhí)行文件的識(shí)別 615

55.1 Microsoft Visual C  615

55.1.1 命名規(guī)則 615

55.2 GCC編譯器 615

55.2.1 命名規(guī)則 615

55.2.2 Cygwin 615

55.2.3 MinGW 615

55.3 Intel FORTRAN 615

55.4 Watcom以及OpenWatcom 616

55.4.1 命名規(guī)則 616

55.5 Borland編譯器 616

55.5.1 Dephi編程語言 616

55.6 其他的已知DLL文件 617

第56章 Win32環(huán)境下與外部通信 618

56.1 在Windows API中**經(jīng)常使用的函數(shù) 618

56.2 tracer:解析指定模塊的所有函數(shù) 618

第57章 字符串 620

57.1 字符串 620

57.1.1 C/C 中的字符串 620

57.1.2 Borland Delphi 620

57.1.3 Unicode編碼 620

57.1.4 Base64 623

57.2 錯(cuò)誤/調(diào)試信息 623

57.3 可疑的魔數(shù)字符串 623

第58章 調(diào)用宏assert()

(中文稱為斷言) 624

第59章 常數(shù) 625

59.1 魔數(shù) 625

59.1.1 動(dòng)態(tài)主機(jī)配置協(xié)議(Dynamic Host Configuration Protocol,

DHCP) 626

59.2 尋找常數(shù) 626

第60章 發(fā)現(xiàn)正確的指令 627

第61章 可疑的代碼模型 629

61.1 XOR異或指令 629

61.2 手寫匯編代碼 629

第62章 在跟蹤程序的過程中使用魔數(shù) 631

第63章 其他的事情 632

63.1 一般的觀點(diǎn) 632

63.2 C  632

63.3 一些二進(jìn)制文件模型 632

63.4 內(nèi)存“快照”對比 633

63.4.1 Windows注冊表 633

63.4.2 瞬變比較器Blink-comparator 633

第六部分 操作系統(tǒng)相關(guān)

第64章 參數(shù)的傳遞方法(調(diào)用規(guī)范) 637

64.1 cdecl [C Declaration的縮寫] 637

64.2 stdcall [Standard Call的縮寫] 637

64.2.1 有可變參數(shù)個(gè)數(shù)的函數(shù) 638

64.3 fastcall 638

64.3.1 GCC regparm 639

64.3.2 Watcom/OpenWatcom 639

64.4 thiscall 639

64.5 64位下的x86 639

64.5.1 Windows x64 639

64.5.2 64位下的Linux 642

64.6 浮點(diǎn)數(shù)float和雙精度數(shù)double兩種

類型的返回值 642

64.7 修改參數(shù) 643

64.8 將指針作為一個(gè)函數(shù)的參數(shù) 643

第65章 線程本地存儲(chǔ)TLS 646

65.1 重新審視線性同余發(fā)生器 646

65.1.1 Win32系統(tǒng) 646

65.1.2 Linux系統(tǒng) 650

第66章 系統(tǒng)調(diào)用(syscall-s) 652

66.1 Linux 652

66.2 Windows 653

第67章 Linux 654

67.1 與位置無關(guān)的代碼 654

67.1.1 Windows 656

67.2 在Linux下的LD_PRELOAD 656

第68章 Windows NT 660

68.1 CRT (Win32) 660

68.2 Win32 PE文件 663

68.2.1 術(shù)語 664

68.2.2 基地址 664

68.2.3 子系統(tǒng) 664

68.2.4 操作系統(tǒng)版本 665

68.2.5 段 665

68.2.6 再分配Relocations(relocs) 666

68.2.7 輸出和輸入 666

68.2.8 資源 669

68.2.9 .NET 669

68.2.10 線程本地存儲(chǔ)(Thread Local

Storage,TLS) 669

68.2.11 工具 669

68.2.12 更進(jìn)一步 669

68.3 Windows SEH 669

68.3.1 讓我們暫時(shí)把MSVC

放在一邊 669

68.3.2 讓我們重新回到MSVC 674

68.3.3 Windows x64 687

68.3.4 關(guān)于SEH的更多信息 691

68.4 Windows NT:關(guān)鍵段 691

第七部分 常用工具

第69章 反匯編工具 697

69.1 IDA 697

第70章 調(diào)試工具 698

70.1 tracer 698

70.2 OllyDbg 698

70.3 GDB 698

第71章 系統(tǒng)調(diào)用的跟蹤工具 699

71.1 strace/dtruss 699

第72章 反編譯工具 700

第73章 其他工具 701

第八部分 更多范例

第74章 修改任務(wù)管理器(Vista) 705

74.1 使用LEA指令賦值 707

第75章 修改彩球游戲 709

第76章 掃雷(Windows XP) 711

76.1 練習(xí)題 715

第77章 人工反編譯與Z3 SMT

求解法 716

77.1 人工反編譯 716

77.2 Z3 SMT求解法 719

第78章 加密狗 724

78.1 例1:PowerPC平臺(tái)的MacOS Classic

程序 724

78.2 例2: SCO OpenServer 731

78.2.1 解密錯(cuò)誤信息 739

78.3 例3: MS-DOS 741

第79章 “QR9”:魔方態(tài)加密模型 747

第80章 SAP 776

80.1 關(guān)閉客戶端的網(wǎng)絡(luò)數(shù)據(jù)包壓縮功能 776

80.2 SAP 6.0的密碼驗(yàn)證函數(shù) 787

第81章 Oracle RDBMS 791

81.1 V$VERSION表 791

81.2 X$KSMLRU表 799

81.3 V$TIMER表 800

第82章 匯編指令與屏顯字符 805

82.1 EICAR 805

第83章 實(shí)例演示 807

83.110 PRINT CHR$(205.5 RND(1));:

GOTO 10 807

83.1.1 Trixter的42字節(jié)程序 807

83.1.2 筆者對Trixter算法的改進(jìn):

27字節(jié) 808

83.1.3 從隨機(jī)地址讀取隨機(jī)數(shù) 808

83.1.4 其他 809

83.2 曼德博集合 809

83.2.1 理論 810

83.2.2 demo程序 814

83.2.3 筆者的改進(jìn)版 816

第九部分 文件分析

第84章 基于XOR的文件加密 821

84.1 Norton Guide:單字節(jié)XOR

加密實(shí)例 821

84.1.1 信息熵 822

84.2 4字節(jié)XOR加密實(shí)例 822

84.2.1 練習(xí)題 824

第85章 Millenium游戲的存檔文件 825

第86章 Oracle的.SYM文件 829

第87章 Oracle的.MSDB文件 836

87.1 本章總結(jié) 839

第十部分 其他

第88章 npad 843

第89章 修改可執(zhí)行文件 845

89.1 文本字符串 845

89.2 x86指令 845

第90章 編譯器內(nèi)部函數(shù) 846

第91章 編譯器的智能短板 847

第92章 OpenMP 848

92.1 MSVC 850

92.2 GCC 852

第93章 安騰指令 854

第94章 8086的尋址方式 857

第95章 基本塊重排 858

95.1 PGO的優(yōu)化方式 858

第十一部分 推薦閱讀

第96章 參考書籍 863

96.1 Windows 863

96.2 C/C  863

96.3 x86/x86-64 863

96.4 ARM 863

96.5 加密學(xué) 863

第97章 博客 864

97.1 Windows平臺(tái) 864

第98章 其他內(nèi)容 865

第十二部分 練習(xí)題

第99章 初等難度練習(xí) 869

99.1 練習(xí)題1.4 869

第 100章 中等難度練習(xí) 870

100.1 練習(xí)題2.1 870

100.1.1 Optimizing MSVC 2010 x86 870

100.1.2 Optimizing MSVC 2012 x64 871

100.2 練習(xí)題2.4 871

100.2.1 Optimizing MSVC 2010 871

100.2.2 GCC 4.4.1 872

100.2.3 Optimizing Keil

(ARM mode) 873

100.2.4 Optimizing Keil

(Thumb mode) 874

100.2.5 Optimizing GCC 4.9.1

(ARM64) 874

100.2.6 Optimizing GCC 4.4.5

(MIPS) 875

100.3 練習(xí)題2.6 876

100.3.1 Optimizing MSVC 2010 876

100.3.2 Optimizing Keil

(ARM mode) 877

100.3.3 Optimizing Keil

(Thumb mode) 878

100.3.4 Optimizing GCC 4.9.1

(ARM64) 878

100.3.5 Optimizing GCC 4.4.5 (MIPS) 879

100.4 練習(xí)題2.13 879

100.4.1 Optimizing MSVC 2012 880

100.4.2 Keil(ARM mode) 880

100.4.3 Keil(Thumb mode) 880

100.4.4 Optimizing GCC 4.9.1

(ARM64) 880

100.4.5 Optimizing GCC 4.4.5

(MIPS) 881

100.5 練習(xí)題2.14 881

100.5.1 MSVC 2012 881

100.5.2 Keil(ARM mode) 882

100.5.3 GCC 4.6.3 for Raspberry Pi

(ARM mode) 882

100.5.4 Optimizing GCC 4.9.1

(ARM64) 883

100.5.5 Optimizing GCC 4.4.5

(MIPS) 884

100.6 練習(xí)題2.15 885

100.6.1 Optimizing MSVC 2012 x64 886

100.6.2 Optimizing GCC 4.4.6 x64 888

100.6.3 Optimizing GCC 4.8.1 x86 889

100.6.4 Keil(ARM模式):面向

Cortex-R4F CPU的代碼 890

100.6.5 Optimizing GCC 4.9.1

(ARM64) 891

100.6.6 Optimizing GCC 4.4.5

(MIPS) 892

100.7 練習(xí)題2.16 893

100.7.1 Optimizing MSVC 2012 x64 893

100.7.2 Optimizing Keil

(ARM mode) 893

100.7.3 Optimizing Keil

(Thumb mode) 894

100.7.4 Non-optimizing GCC 4.9.1

(ARM64) 894

100.7.5 Optimizing GCC 4.9.1

(ARM64) 895

100.7.6 Non-optimizing GCC

4.4.5(MIPS) 898

100.8 練習(xí)題2.17 899

100.9 練習(xí)題2.18 899

100.10 練習(xí)題2.19 899

100.11 練習(xí)題2.20 899

第 101章 高難度練習(xí) 900

101.1 練習(xí)題3.2 900

101.2 練習(xí)題3.3 900

101.3 練習(xí)題3.4 900

101.4 練習(xí)題3.5 900

101.5 練習(xí)題3.6 901

101.6 練習(xí)題3.8 901

第 102章 Crackme/Keygenme 902

附錄A x86 903

A.1 數(shù)據(jù)類型 903

A.2 通用寄存器 903

A.2.1 RAX/EAX/AX/AL 903

A.2.2 RBX/EBX/BX/BL 904

A.2.3 RCX/ECX/CX/CL 904

A.2.4 RDX/EDX/DX/DL 904

A.2.5 RSI/ESI/SI/SIL 904

A.2.6 RDI/EDI/DI/DIL 904

A.2.7 R8/R8D/R8W/R8L 905

A.2.8 R9/R9D/R9W/R9L 905

A.2.9 R10/R10D/R10W/R10L 905

A.2.10 R11/R11D/R11W/R11L 905

A.2.11 R12/R12D/R12W/R12L 905

A.2.12 R13/R13D/R13W/R13L 905

A.2.13 R14/R14D/R14W/R14L 906

A.2.14 R15/R15D/R15W/R15L 906

A.2.15 RSP/ESP/SP/SPL 906

A.2.16 RBP/EBP/BP/BPL 906

A.2.17 RIP/EIP/IP 906

A.2.18 段地址寄存器

CS/DS/ES/SS/FS/GS 907

A.2.19 標(biāo)識(shí)寄存器 907

A.3 FPU寄存器 907

A.3.1 控制字寄存器(16位) 908

A.3.2 狀態(tài)字寄存器(16位) 908

A.3.3 標(biāo)記字寄存器(16位) 909

A.4 SIMD寄存器 909

A.4.1 MMX寄存器 909

A.4.2 SSE與AVX寄存器 909

A.5 FPU調(diào)試寄存器 909

A.5.1 DR6規(guī)格 910

A.5.2 DR7規(guī)格 910

A.6 指令 911

A.6.1 指令前綴 911

A.6.2 常見指令 911

A.6.3 不常用的匯編指令 916

A.6.4 FPU指令 921

A.6.5 可屏顯的匯編指令(32位) 922

附錄B ARM 925

B.1 術(shù)語 925

B.2 版本差異 925

B.3 32位ARM(AArch32) 925

B.3.1 通用寄存器 925

B.3.2 程序狀態(tài)寄存器/CPSR 925

B.3.3 VFP(浮點(diǎn))和NEON寄存器 926

B.4 64位ARM(AArch64) 926

B.4.1 通用寄存器 926

B.5 指令 927

B.5.1 Conditional codes速查表 927

附錄C MIPS 928

C.1 寄存器 928

C.1.1 通用寄存器GPR 928

C.1.2 浮點(diǎn)寄存器FPR 928

C.2 指令 928

C.2.1 轉(zhuǎn)移指令 929

附錄D 部分GCC庫函數(shù) 930

附錄E 部分MSVC庫函數(shù) 931

附錄E 部分MSVC庫函數(shù) 931

附錄G 練習(xí)題答案 935

G.1 各章練習(xí) 935

G.1.1 “?!薄?35

G.1.2 “switch()/case/default”語句 935

G.1.3 練習(xí)題#1 935

G.1.4 “Loop”語句 935

G.1.5 練習(xí)題#3 935

G.1.6 練習(xí)題#4 935

G.1.7 C語言字符串處理練習(xí)題 936

G.1.8 算術(shù)指令替代 936

G.1.9 FPU練習(xí)題 936

G.1.10 數(shù)組練習(xí)題 936

G.1.11 位操作練習(xí)題 937

G.1.12 結(jié)構(gòu)體練習(xí)題 939

G.1.13 混淆技術(shù)練習(xí)題 940

G.1.14 除9練習(xí)題 940

G.2 初級(jí)練習(xí)題 940

G.2.1 練習(xí)題1.1 940

G.2.2 練習(xí)題1.4 940

G.3 中級(jí)練習(xí)題 941

G.3.1 練習(xí)題2.1 941

G.3.2 練習(xí)題2.4 941

G.3.3 練習(xí)題2.6 942

G.3.4 練習(xí)題2.13 942

G.3.5 練習(xí)題2.14 943

G.3.6 練習(xí)題2.15 943

G.3.7 練習(xí)題2.16 943

G.3.8 練習(xí)題2.17 943

G.3.9 練習(xí)題2.18 943

G.3.10 練習(xí)題2.19 943

G.3.11 練習(xí)題2.20 943

G.4 高難度練習(xí)題 943

G.4.1 練習(xí)題3.2 943

G.4.2 練習(xí)題3.3 943

G.4.3 練習(xí)題3.4 944

G.4.4 練習(xí)題3.5 944

G.4.5 練習(xí)題3.6 944

G.4.6 練習(xí)題3.8 944

G.5 其他練習(xí)題 944

G.5.1 “掃雷(Windows XP)” 944

參考文獻(xiàn) 9472100433B

逆向工程權(quán)威指南造價(jià)信息

市場價(jià) 信息價(jià) 詢價(jià)
材料名稱 規(guī)格/型號(hào) 市場價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
夷草卷 規(guī)格:長100cm×寬30cm 查看價(jià)格 查看價(jià)格

瀚藝

m2 13% 南寧瀚藝生態(tài)苗圃種植基地
小型指南 品種:公告欄;產(chǎn)品說明:1、尺寸:每組高50mm;2、材質(zhì):絲印灰色顏色文字PMS425C于2mm不銹鋼板;發(fā)光訊息文字內(nèi)容,顏色按照分區(qū)顏 查看價(jià)格 查看價(jià)格

麥肯標(biāo)識(shí)

13% 深圳市麥肯標(biāo)識(shí)有限公司
司法圖書角桌 (750+400)*2400*1200,18mm木紋免漆板(定制成品) 查看價(jià)格 查看價(jià)格

個(gè) 13% 廣西華泰家具有限公司
電梯廳小型指南 品種:公告欄;產(chǎn)品說明:1、尺寸:高1400mm,長400mm,離地650mm;2、10mm厚實(shí)心不銹鋼,銀色打砂;3、8mm厚超白鋼化玻璃 查看價(jià)格 查看價(jià)格

麥肯標(biāo)識(shí)

13% 深圳市麥肯標(biāo)識(shí)有限公司
電梯樓層目錄 330×480 查看價(jià)格 查看價(jià)格

杰之群

個(gè) 13% 深圳市杰之群廣告有限公司
電梯廳小型指南 品種:公告欄;產(chǎn)品說明:1、尺寸:高1400mm,長400mm,離地650mm;2、10mm厚實(shí)心不銹鋼,銀色打砂;3、8mm厚超白鋼化玻璃 查看價(jià)格 查看價(jià)格

麥肯標(biāo)識(shí)

13% 深圳市麥肯標(biāo)識(shí)有限公司
操作指南燈箱 見附圖 查看價(jià)格 查看價(jià)格

個(gè) 13% 廣州卓邦廣告制品有限公司
雙層軸中空壁管 雙層軸中空壁管 SN8;規(guī)格:Ф160品牌:康泰管業(yè) 查看價(jià)格 查看價(jià)格

康泰管業(yè)

m 13% 康泰塑膠科技集團(tuán)有限公司
材料名稱 規(guī)格/型號(hào) 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時(shí)間
工程駁船 100T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2015年4季度信息價(jià)
工程駁船 200T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2015年3季度信息價(jià)
工程駁船 200T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2015年2季度信息價(jià)
工程駁船 200T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2014年2季度信息價(jià)
工程駁船 100T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2014年1季度信息價(jià)
工程駁船 100T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2013年4季度信息價(jià)
工程駁船 200T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2013年2季度信息價(jià)
工程駁船 100T以內(nèi) 查看價(jià)格 查看價(jià)格

臺(tái)班 清遠(yuǎn)市英德市2013年1季度信息價(jià)
材料名稱 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時(shí)間
圖書 詳見本預(yù)算表隨后附件的圖書目錄|153m44 1 查看價(jià)格 北京藍(lán)鯨知圖科技有限公司 廣東   2022-10-11
項(xiàng)目指南+商業(yè)總指南 1、鏡面黑色不銹鋼(aH-2887)折殼標(biāo)志,面超白鋼化清玻璃面板廣告燈箱(項(xiàng)目指南)背托高清打印燈片內(nèi)容,附超白鋼化清玻璃+背貼淺灰色直紋貼膜內(nèi)藏600OK LED發(fā)光效果防水工藝2、打砂黑色|1套 3 查看價(jià)格 廣東恒創(chuàng)標(biāo)識(shí)廣告有限公司 廣東   2022-07-19
指南 詳見公區(qū)PDF|3個(gè) 3 查看價(jià)格 深圳市美圖標(biāo)識(shí)工程制作有限公司 廣東   2022-05-23
文物目錄檢索柜(目錄柜) 1、專業(yè)定制文物目錄檢索柜(目錄柜)2、規(guī)格:W800×D400×H1800|1個(gè) 1 查看價(jià)格 成都東凌辦公家具有限公司 四川   2019-10-31
商場指南 700×1800×70,詳見公區(qū)PDF|3個(gè) 3 查看價(jià)格 深圳市美圖標(biāo)識(shí)工程制作有限公司 廣東   2022-05-23
逆向流斜板 斜板斜長1.0m,斜板間距80mm,斜板厚度2mm,安裝角度60° 材質(zhì) PP|57m2 3 查看價(jià)格 南京貝特環(huán)保通用設(shè)備制造有限公司 全國   2022-12-06
逆向流斜板 材質(zhì)PP 斜板斜長1.0m,斜板間距80mm,斜板厚度2mm,安裝角度60°|110m2 3 查看價(jià)格 南京貝特環(huán)保通用設(shè)備制造有限公司 全國   2022-12-06
指南 a、3M品牌透明貼膜,圖文絲印b、10mmTHK.鋼化超白玻切割成型c、蝕刻不填色d、1.5mmTHK.304#不銹鋼刨槽折彎成型,表面不銹鋼鍍茶金色效果,豎紋拉絲,內(nèi)置骨架方通固定|2套 3 查看價(jià)格 廣東恒創(chuàng)標(biāo)識(shí)廣告有限公司 廣東   2022-06-20

逆向工程是一種分析目標(biāo)系統(tǒng)的過程,旨在于識(shí)別系統(tǒng)的各組件以及組件間關(guān)系,以便于通過其它形式、或在較高的抽象層次上,重建系統(tǒng)的表征。

本書專注于軟件的逆向工程,是寫給初學(xué)者的一本經(jīng)典指南。全書共分為12個(gè)部分,共102章,涉及X86/X64、ARM/ARM-64、MIPS、Java/JVM等重要話題,詳細(xì)解析了Oracle RDBMS、Itanium、軟件狗、LD_PRELOAD、棧溢出、ELF、Win32 PE文件格式、x86-64(第、critical sections、syscalls、線程本地存儲(chǔ)TLS、地址無關(guān)代碼(PIC)、以配置文件為導(dǎo)向的優(yōu)化、C STL、OpenMP、SHE等眾多技術(shù)話題,堪稱是逆向工程技術(shù)百科全書。除了詳細(xì)講解,本書來給出了很多習(xí)題來幫助讀者鞏固所學(xué)的知識(shí),附錄部分給出了習(xí)題的解答。

本書適合對逆向工程技術(shù)、操作系統(tǒng)底層技術(shù)、程序分析技術(shù)感興趣的讀者閱讀,也適合專業(yè)的程序開發(fā)人員參考。

逆向工程權(quán)威指南圖書目錄常見問題

  • 建筑施工的圖書目錄

    第2版前言第1版前言第1章 土方工程1.1 土的分類與工程性質(zhì)1.2 場地平整、土方量計(jì)算與土方調(diào)配1.3 基坑土方開挖準(zhǔn)備與降排水1.4 基坑邊坡與坑壁支護(hù)1.5 土方工程的機(jī)械化施工復(fù)習(xí)思考題第2...

  • 小學(xué)生禮儀的圖書目錄

    第一篇 個(gè)人禮儀1 講究禮貌 語言文明2 規(guī)范姿勢 舉止優(yōu)雅3 服飾得體 注重形象第二篇 家庭禮儀1 家庭和睦 尊重長輩2 情同手足 有愛同輩第三篇 校園禮儀1 尊重師長 虛心學(xué)習(xí)2 團(tuán)結(jié)同學(xué) 共同進(jìn)...

  • 綠色建筑的圖書目錄

    第一篇 綜合篇第一章 綠色建筑的理念與實(shí)踐第二章 綠色建筑評價(jià)標(biāo)識(shí)總體情況第三章 發(fā)揮“資源”優(yōu)勢,推進(jìn)綠色建筑發(fā)展第四章 綠色建筑委員會(huì)國際合作情況第五章 上海世博會(huì)園區(qū)生態(tài)規(guī)劃設(shè)計(jì)的研究與實(shí)踐第六...

逆向工程權(quán)威指南圖書目錄文獻(xiàn)

工程常用圖書目錄 工程常用圖書目錄

格式:pdf

大小:87KB

頁數(shù): 5頁

評分: 4.7

1 工程常用圖書目錄(電氣、給排水、暖通、結(jié)構(gòu)、建筑) 序號(hào) 圖書編號(hào) 圖書名稱 價(jià)格(元) 備注 JTJ-工程 -24 2009JSCS-5 全國民用建筑工程設(shè)計(jì)技術(shù)措施-電氣 128 JTJ-工程 -25 2009JSCS-3 全國民用建筑工程設(shè)計(jì)技術(shù)措施-給水排水 136 JTJ-工程 -26 2009JSCS-4 全國民用建筑工程設(shè)計(jì)技術(shù)措施-暖通空調(diào) ?動(dòng)力 98 JTJ-工程 -27 2009JSCS-2 全國民用建筑工程設(shè)計(jì)技術(shù)措施-結(jié)構(gòu)(結(jié)構(gòu)體系) 48 JTJ-工程 -28 2007JSCS-KR 全國民用建筑工程設(shè)計(jì)技術(shù)措施 節(jié)能專篇-暖通空調(diào) ?動(dòng)力 54 JTJ-工程 -29 11G101-1 混凝土結(jié)構(gòu)施工圖平面整體表示方法制圖規(guī)則和構(gòu)造詳圖(現(xiàn)澆混凝土框架、剪力墻、框架 -剪力墻、框 支剪力墻結(jié)構(gòu)、現(xiàn)澆混凝土樓面與屋面板) 69 代替 00G101

立即下載
電廠圖書目錄 電廠圖書目錄

格式:pdf

大小:87KB

頁數(shù): 40頁

評分: 4.3

柜號(hào) 序號(hào) G1 1 G1 2 G1 3 G2 4 G2 5 G2 6 G2 7 G2 8 G2 9 G1 10 G2 11 G2 12 G2 13 G2 14 G1 15 G1 16 G1 17 G2 18 G2 19 G2 20 G1 21 G3 22 G3 23 G3 24 G3 25 G3 26 G3 27 G1 28 G1 29 G3 30 G3 31 G2 32 G2 33 G2 34 G2 35 G2 36 G2 37 G2 38 下右 39 下右 40 下右 41 下右 42 下右 43 下右 44 下右 45 下右 46 下右 47 下右 48 下右 49 下右 50 下右 51 下右 52 下右 53 下左 54 下左 55 下左 56 下左 57 下左 58 下左 59 下左 60 下左 61 下左 62 下左 63 下左 64 下左 65 下左 66 下左 67 下

立即下載

逆向工程(又名反向工程,Reverse Engineering-RE)是對產(chǎn)品設(shè)計(jì)過程的一種描述。在2007年初,我國相關(guān)的法律為逆向工程正名,承認(rèn)了逆向技術(shù)用于學(xué)習(xí)研究的合法性。

在工程技術(shù)人員的一般概念中,產(chǎn)品設(shè)計(jì)過程是一個(gè)從設(shè)計(jì)到產(chǎn)品的過程,即設(shè)計(jì)人員首先在大腦中構(gòu)思產(chǎn)品的外形、性能和大致的技術(shù)參數(shù)等,然后在詳細(xì)設(shè)計(jì)階段完成各類數(shù)據(jù)模型,最終將這個(gè)模型轉(zhuǎn)入到研發(fā)流程中,完成產(chǎn)品的整個(gè)設(shè)計(jì)研發(fā)周期。這樣的產(chǎn)品設(shè)計(jì)過程我們稱為“正向設(shè)計(jì)”過程。逆向工程產(chǎn)品設(shè)計(jì)可以認(rèn)為是一個(gè)從產(chǎn)品到設(shè)計(jì)的過程。簡單地說,逆向工程產(chǎn)品設(shè)計(jì)就是根據(jù)已經(jīng)存在的產(chǎn)品,反向推出產(chǎn)品設(shè)計(jì)數(shù)據(jù)(包括各類設(shè)計(jì)圖或數(shù)據(jù)模型)的過程。從這個(gè)意義上說,逆向工程在工業(yè)設(shè)計(jì)中的應(yīng)用已經(jīng)很久了。比如早期的船舶工業(yè)中常用的船體放樣設(shè)計(jì)就是逆向工程的很好實(shí)例。

隨著計(jì)算機(jī)技術(shù)在各個(gè)領(lǐng)域的廣泛應(yīng)用,特別是軟件開發(fā)技術(shù)的迅猛發(fā)展,基于某個(gè)軟件,以反匯編閱讀源碼的方式去推斷其數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)和程序設(shè)計(jì)信息成為軟件逆向工程技術(shù)關(guān)注的主要對象。軟件逆向技術(shù)的目的是用來研究和學(xué)習(xí)先進(jìn)的技術(shù),特別是當(dāng)手里沒有合適的文檔資料,而你又很需要實(shí)現(xiàn)某個(gè)軟件的功能的時(shí)候。也正因?yàn)檫@樣,很多軟件為了壟斷技術(shù),在軟件安裝之前,要求用戶同意不去逆向研究。

逆向工程的實(shí)施過程是多領(lǐng)域、多學(xué)科的協(xié)同過程。

逆向工程能在擁有現(xiàn)有物理部件之上,利用激光掃描儀、結(jié)構(gòu)光源轉(zhuǎn)換儀或X射線斷層成像之類3D掃描儀技術(shù)進(jìn)行尺寸測量,再通過CAD、CAM、CAE或其他軟件構(gòu)筑3D虛擬模型的方法。逆向工程經(jīng)常被用于軍事上,在二戰(zhàn)和冷戰(zhàn)中經(jīng)常被用到。

對設(shè)計(jì)師而言,有一項(xiàng)到關(guān)重要的技能是學(xué)校里學(xué)不到的,那就是與人打交道。然而,無論在哪個(gè)項(xiàng)目中,同他人合作往往都成為困難的部分。隨著設(shè)計(jì)項(xiàng)目的日益復(fù)雜化,人們會(huì)越來越依賴遠(yuǎn)程辦公,設(shè)計(jì)領(lǐng)域技術(shù)的進(jìn)步越來越需要善于合作的專業(yè)人士。

逆向工程權(quán)威指南相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識(shí)
  • 相關(guān)專欄

最新詞條

安徽省政采項(xiàng)目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時(shí)籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機(jī) 廣東合正采購招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢有限公司 泛海三江 威海鼠尾草 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 廣東國咨招標(biāo)有限公司 甘肅中泰博瑞工程項(xiàng)目管理咨詢有限公司 山東創(chuàng)盈項(xiàng)目管理有限公司 拆邊機(jī) 當(dāng)代建筑大師 廣西北纜電纜有限公司 大山檳榔 上海地鐵維護(hù)保障有限公司通號(hào)分公司 舌花雛菊 甘肅中維國際招標(biāo)有限公司 華潤燃?xì)猓ㄉ虾#┯邢薰? 湖北鑫宇陽光工程咨詢有限公司 GB8163標(biāo)準(zhǔn)無縫鋼管 中國石油煉化工程建設(shè)項(xiàng)目部 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動(dòng)態(tài)監(jiān)測工作的通知 電梯平層準(zhǔn)確度 廣州利好來電氣有限公司 四川中澤盛世招標(biāo)代理有限公司