成功加入购物车

去购物车结算 X
剡溪书局
  • 全新正版 逆向工程核心原理 (韩)李承远 9787115350183 人民邮电出版社

全新正版 逆向工程核心原理 (韩)李承远 9787115350183 人民邮电出版社

举报

本店所售图书,保证正版新书,有个别图片和实书封面不一样,以实书封面为准,最快当天,一般隔天发货。支持7天无理由退换货.开票联系客服

  • 出版时间: 
  • 装帧:    平装
  • 开本:    16开
  • ISBN:  9787115350183
  • 出版时间: 
  • 装帧:  平装
  • 开本:  16开

售价 98.70 7.6折

定价 ¥129.80 

品相 全新

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2023-04-14

    数量
    库存3
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 商品分类:
      计算机与互联网
      货号:
      31180382
      商品描述:
      目录
      第一部分 代码逆向技术基础

      第1章 关于逆向工程 2

      1.1 逆向工程 2

      1.2 代码逆向工程 2

      1.2.1 逆向分析法 2

      1.2.2 源代码、十六进制代码、汇编代码 4

      1.2.3 “打补丁”与“破解” 5

      1.3 代码逆向准备 5

      1.3.1 目标 5

      1.3.2 激情 6

      1.3.3 谷歌 6

      1.4 学习逆向分析技术的禁忌 6

      1.4.1 贪心 6

      1.4.2 急躁 7

      1.5 逆向分析技术的乐趣 7

      第2章 逆向分析Hello World!程序 8

      2.1 Hello World!程序 8

      2.2 调试HelloWorld.exe程序 9

      2.2.1 调试目标 9

      2.2.2 开始调试 9

      2.2.3 入口点 10

      2.2.4 跟踪40270C函数 10

      2.2.5 跟踪40104F跳转语句 12

      2.2.6 查找main()函数 12

      2.3 进一步熟悉调试器 14

      2.3.1 调试器指令 14

      2.3.2 “大本营” 15

      2.3.3 设置“大本营”的四种方法 15

      2.4 快速查找指定代码的四种方法 17

      2.4.1 代码执行法 18

      2.4.2 字符串检索法 19

      2.4.3 API检索法(1):在调用代码中设置断点 20

      2.4.4 API检索法(2):在API代码中设置断点 21

      2.5 使用“打补丁”方式修改“Hello World!”字符串 23

      2.5.1 “打补丁” 23

      2.5.2 修改字符串的两种方法 24

      2.6 小结 28

      第3章 小端序标记法 31

      3.1 字节序 31

      3.1.1 大端序与小端序 32

      3.1.2 在OllyDbg中查看小端序 32

      第4章 IA-32寄存器基本讲解 34

      4.1 什么是CPU寄存器 34

      4.2 IA-32寄存器 34

      4.3 小结 40

      第5章 栈 41

      5.1 栈 41

      5.1.1 栈的特征 41

      5.1.2 栈操作示例 41

      第6章 分析abex’ crackme#1 44

      6.1 abex’ crackme #1 44

      6.1.1 开始调试 45

      6.1.2 分析代码 45

      6.2 破解 47

      6.3 将参数压入栈 47

      6.4 小结 48

      第7章 栈帧 49

      7.1 栈帧 49

      7.2 调试示例:stackframe.exe 49

      7.2.1 StackFrame.cpp 50

      7.2.2 开始执行main()函数&生成栈帧 51

      7.2.3 设置局部变量 52

      7.2.4 add()函数参数传递与调用 53

      7.2.5 开始执行add()函数&生成栈帧 54

      7.2.6 设置add()函数的局部变量(x, y) 55

      7.2.7 ADD运算 55

      7.2.8 删除函数add()的栈帧&函数执行完毕(返回) 56

      7.2.9 从栈中删除函数add()的参数(整理栈) 57

      7.2.10 调用printf()函数 58

      7.2.11 设置返回值 58

      7.2.12 删除栈帧&main()函数终止 58

      7.3 设置OllyDbg选项 59

      7.3.1 Disasm选项 59

      7.3.2 Analysis1选项 60

      7.4 小结 61

      第8章 abex’ crackme #2 62

      8.1 运行abex’ crackme #2 62

      8.2 Visual Basic文件的特征 63

      8.2.1 VB专用引擎 63

      8.2.2 本地代码和伪代码 63

      8.2.3 事件处理程序 63

      8.2.4 未文档化的结构体 63

      8.3 开始调试 63

      8.3.1 间接调用 64

      8.3.2 RT_MainStruct结构体 64

      8.3.3 ThunRTMain()函数 65

      8.4 分析crackme 65

      8.4.1 检索字符串 65

      8.4.2 查找字符串地址 66

      8.4.3 生成Serial的算法 68

      8.4.4 预测代码 69

      8.4.5 读取Name字符串的代码 69

      8.4.6 加密循环 70

      8.4.7 加密方法 70

      8.5 小结 72

      第9章 Process Explorer——最很好的进程管理工具 74

      9.1 Process Explorer 74

      9.2 具体有哪些优点呢 75

      9.3 sysinternals 75

      第10章 函数调用约定 76

      10.1 函数调用约定 76

      10.1.1 cdecl 76

      10.1.2 stdcall 77

      10.1.3 fastcall 78

      第11章 视频讲座 79

      11.1 运行 79

      11.2 分析 79

      11.2.1 目标(1):去除消息框 79

      11.2.2 打补丁(1):去除消息框 81

      11.2.3 目标(2):查找注册码 83

      11.3 小结 85

      第12章 究竟应当如何学习代码逆向分析 86

      12.1 逆向工程 86

      12.1.1 任何学习都应当有目标 86

      12.1.2 拥有积极心态 86

      12.1.3 要感受其中的乐趣 86

      12.1.4 让检索成为日常生活的一部分 87

      12.1.5 最重要的是实践 87

      12.1.6 请保持平和的心态 87

      第二部分 PE文件格式

      第13章 PE文件格式 90

      13.1 介绍 90

      13.2 PE文件格式 90

      13.2.1 基本结构 91

      13.2.2 VA&RVA 92

      13.3 PE头 92

      13.3.1 DOS头 93

      13.3.2 DOS存根 94

      13.3.3 NT头 94

      13.3.4 NT头:文件头 95

      13.3.5 NT头:可选头 97

      13.3.6 节区头 101

      13.4 RVA to RAW 104

      13.5 IAT 105

      13.5.1 DLL 105

      13.5.2 IMAGE_IMPORT_DESCRIPTOR 107

      13.5.3 使用notepad.exe练习 108

      13.6 EAT 112

      13.6.1 IMAGE_EXPORT_DIRECTORY 113

      13.6.2 使用kernel32.dll练习 114

      13.7 不错PE 116

      13.7.1 PEView.exe 116

      13.7.2 Patched PE 117

      13.8 小结 118

      第14章 运行时压缩 121

      14.1 数据压缩 121

      14.1.1 无损压缩 121

      14.1.2 有损压缩 121

      14.2 运行时压缩器 122

      14.2.1 压缩器 122

      14.2.2 保护器 123

      14.3 运行时压缩测试 123

      第15章 调试UPX压缩的notepad程序 127

      15.1 notepad.exe的EP代码 127

      15.2 notepad_upx.exe的EP代码 127

      15.3 跟踪UPX文件 129

      15.3.1 OllyDbg的跟踪命令 129

      15.3.2 循环 #1 129

      15.3.3 循环 #2 130

      15.3.4 循环 #3 131

      15.3.5 循环 #4 131

      15.4 快速查找UPX OEP的方法 132

      15.4.1 在POPAD指令后的JMP指令处设置断点 132

      15.4.2 在栈中设置硬件断点 133

      15.5 小结 133

      第16章 基址重定位表 135

      16.1 PE重定位 135

      16.1.1 DLL/SYS 135

      16.1.2 EXE 136

      16.2 PE重定位时执行的操作 136

      16.3 PE重定位操作原理 138

      16.3.1 基址重定位表 138

      16.3.2 IMAGE_BASE_RELOCATION结构体 139

      16.3.3 基址重定位表的分析方法 139

      16.3.4 练习 141

      第17章 从可执行文件中删除.reloc节区 142

      17.1 .reloc节区 142

      17.2 reloc.exe 142

      17.2.1 删除.reloc节区头 142

      17.2.2 删除.reloc节区 143

      17.2.3 修改IMAGE_FILE_HEADER 143

      17.2.4 修改IMAGE_OPTIONAL_HEADER 144

      17.3 小结 145

      第18章 UPack PE文件头详细分析 146

      18.1 UPack说明 146

      18.2 使用UPack压缩notepad.exe 146

      18.3 使用Stud_PE工具 148

      18.4 比较PE文件头 148

      18.4.1 原notepad.exe的PE文件头 149

      18.4.2 notepad_upack.exe运行时压缩的PE文件头 149

      18.5 分析UPack的PE文件头 150

      18.5.1 重叠文件头 150

      18.5.2 IMAGE_FILE_HEADER.SizeOfOptionalHeader 150

      18.5.3 IMAGE_OPTIONAL_HEADER.NumberOf-RvaAndSizes 152

      18.5.4 IMAGE_SECTION_HEADER 153

      18.5.5 重叠节区 155

      18.5.6 RVA to RAW 156

      18.5.7 导入表(IMAGE_IMPORT_DESCRIPTOR array) 158

      18.5.8 导入地址表 160

      18.6 小结 161

      第19章 UPack调试? 查找OEP 162

      19.1 OllyDbg运行错误 162

      19.2 解码循环 163

      19.3 设置IAT 165

      19.4 小结 166

      第20章 “内嵌补丁”练习 167

      20.1 内嵌补丁 167

      20.2 练习:Patchme 168

      20.3 调试:查看代码流 168

      20.4 代码结构 172

      20.5 “内嵌补丁”练习 173

      20.5.1 补丁代码要设置在何处呢 173

      20.5.2 制作补丁代码 175

      20.5.3 执行补丁代码 176

      20.5.4 结果确认 177

      第三部分 DLL注入

      第21章 Windows消息钩取 180

      21.1 钩子 180

      21.2 消息钩子 180

      21.3 SetWindowsHookEx() 181

      21.4 键盘消息钩取练习 182

      21.4.1 练习示例HookMain.exe 182

      21.4.2 分析源代码 185

      21.5 调试练习 187

      21.5.1 调试HookMain.exe 188

      21.5.2 调试Notepad.exe进程内的KeyHook.dll 190

      21.6 小结 192

      第22章 恶意键盘记录器 194

      22.1 恶意键盘记录器的目标 194

      22.1.1 在线游戏 194

      22.1.2 网上银行 194

      22.1.3 商业机密泄露 194

      22.2 键盘记录器的种类与发展趋势 195

      22.3 防范恶意键盘记录器 195

      22.4 个人信息 195

      第23章 DLL注入 197

      23.1 DLL注入 197

      23.2 DLL注入示例 198

      23.2.1 改善功能与修复Bug 198

      23.2.2 消息钩取 198

      23.2.3 API钩取 198

      23.2.4 其他应用程序 199

      23.2.5 恶意代码 199

      23.3 DLL注入的实现方法 199

      23.4 CreateRemoteThread() 199

      23.4.1 练习示例myhack.dll 199

      23.4.2 分析示例源代码 203

      23.4.3 调试方法 208

      23.5 AppInit_DLLs 210

      23.5.1 分析示例源码 211

      23.5.2 练习示例myhack2.dll 212

      23.6 SetWindowsHookEx() 214

      23.7 小结 214

      第24章 DLL卸载 216

      24.1 DLL卸载的工作原理 216

      24.2 实现DLL卸载 216

      24.2.1 获取进程中加载的DLL信息 219

      24.2.2 获取目标进程的句柄 220

      24.2.3 获取FreeLibrary() API地址 220

      24.2.4 在目标进程中运行线程 220

      24.3 DLL卸载练习 220

      24.3.1 复制文件及运行notepad.exe 220

      24.3.2 注入myhack.dll 221

      24.3.3 卸载myhack.dll 222

      第25章 通过修改PE加载DLL 224

      25.1 练习文件 224

      25.1.1 TextView.exe 224

      25.1.2 TextView_patched.exe 225

      25.2 源代码 - myhack3.cpp 227

      25.2.1 DllMain() 227

      25.2.2 DownloadURL() 228

      25.2.3 DropFile() 229

      25.2.4 dummy() 230

      25.3 修改TextView.exe文件的准备工作 231

      25.3.1 修改思路 231

      25.3.2 查看IDT是否有足够空间 231

      25.3.3 移动IDT 233

      25.4 修改TextView.exe 235

      25.4.1 修改导入表的RVA值 235

      25.4.2 删除绑定导入表 235

      25.4.3 创建新IDT 235

      25.4.4 设置Name、INT、IAT 236

      25.4.5 修改IAT节区的属性值 238

      25.5 检测验证 240

      25.6 小结 241

      第26章 PE Tools 242

      26.1 PE Tools 242

      26.1.1 进程内存转储 243

      26.1.2 PE编辑器 245

      26.2 小结 245

      第27章 代码注入 247

      27.1 代码注入 247

      27.2 DLL注入与代码注入 247

      27.3 练习示例 249

      27.3.1 运行notepad.exe 249

      27.3.2 运行CodeInjection.exe 249

      27.3.3 弹出消息框 250

      27.4 CodeInjection.cpp 250

      27.4.1 main()函数 251

      27.4.2 ThreadProc()函数 251

      27.4.3 InjectCode()函数 254

      27.5 代码注入调试练习 256

      27.5.1 调试notepad.exe 256

      27.5.2 设置OllyDbg选项 256

      27.5.3 运行CodeInjection.exe 257

      27.5.4 线程开始代码 258

      27.6 小结 259

      第28章 使用汇编语言编写注入代码 260

      28.1 目标 260

      28.2 汇编编程 260

      28.3 OllyDbg的汇编命令 260

      28.3.1 编写ThreadProc()函数 262

      28.3.2 保存文件 265

      28.4 编写代码注入程序 266

      28.4.1 获取ThreadProc()函数的二进制代码 266

      28.4.2 CodeInjection2.cpp 267

      28.5 调试练习 270

      28.5.1 调试notepad.exe 270

      28.5.2 设置OllyDbg选项 270

      28.5.3 运行CodeInjection2.exe 271

      28.5.4 线程起始代码 272

      28.6 详细分析 272

      28.6.1 生成栈帧 272

      28.6.2 THREAD_PARAM结构体指针 273

      28.6.3 “User32.dll”字符串 274

      28.6.4 压入“user32.dll”字符串参数 274

      28.6.5 调用LoadLibraryA(“user32.dll”) 275

      28.6.6 “MessageBoxA”字符串 276

      28.6.7 调用GetProcAddress(hMod,“MessageBoxA”) 276

      28.6.8 压入MessageBoxA()函数的参数 1 -MB_OK 277

      28.6.9 压入MessageBoxA()函数的参数 2 -“ReverseCore” 277

      28.6.10 压入MessageBoxA()函数的参数 3 -“www.reversecore.com” 278

      28.6.11 压入MessageBoxA()函数的参数 4 -NULL 279

      28.6.12 调用MessageBoxA() 279

      28.6.13 设置ThreadProc()函数的返回值 280

      28.6.14 删除栈帧及函数返回 280

      28.7 小结 280

      第四部分 API钩取

      第29章 API钩取:逆向分析之“花” 282

      29.1 钩取 282

      29.2 API是什么 282

      29.3 API钩取 283

      29.3.1 正常调用API 283

      29.3.2 钩取API调用 284

      29.4 技术图表 284

      29.4.1 方法对象(是什么) 285

      29.4.2 位置(何处) 285

      29.4.3 技术(如何) 286

      29.4.4 API 286

      第30章 记事本WriteFile() API钩取 288

      30.1 技术图表-调试技术 288

      30.2 关于调试器的说明 289

      30.2.1 术语 289

      30.2.2 调试器功能 289

      30.2.3 调试器的工作原理 289

      30.2.4 调试事件 289

      30.3 调试技术流程 290

      30.4 练习 291

      30.5 工作原理 293

      30.5.1 栈 293

      30.5.2 执行流 295

      30.5.3 “脱钩”&“钩子” 295

      30.6 源代码分析 295

      30.6.1 main() 296

      30.6.2 DebugLoop() 296

      30.6.3 EXIT_PROCESS_DEBUG_EVENT 298

      30.6.4 CREATE_PROCESS_DEBUG_EVENT-OnCreateProcess-DebugEvent() 298

      30.6.5 EXCEPTION_DEBUG_EVENT-OnException-DebugEvent() 300

      第31章 关于调试器 305

      31.1 OllyDbg 305

      31.2 IDA Pro 305

      31.3 WinDbg 306

      第32章 计算器显示中文数字 308

      32.1 技术图表 308

      32.2 选定目标API 309

      32.3 IAT钩取工作原理 312

      32.4 练习示例 314

      32.5 源代码分析 316

      32.5.1 DllMain() 316

      32.5.2 MySetWindowTextW() 317

      32.5.3 hook_

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看