首页
社区
课程
招聘
[注意]《加密与解密(第三版)》勘误(2009.9.9更新)
2008-6-7 22:44 214949

[注意]《加密与解密(第三版)》勘误(2009.9.9更新)

2008-6-7 22:44
214949
我们很希望本书尽量完美,但总难免会有些问题和错误,故恳请广大读者批评指正。
本帖将收集 《加密与解密(第三版)》所有勘误,希望您发现问题和错误不吝指正,对于相应错误的第一位反馈者,会将你论坛ID放进第四版的致谢名单中(以此帖汇总的为准)。

勘误表

Lm 表示第m 行,L-n 表示倒数第n 行 ,Dn 表示第n次印刷(D1表示2008年7月第一次印刷,D2表示2008年7月第二次印刷)

PⅤ L-10 D1/D2
反馈者:shoooo
原文:看雪资深版主。看雪论坛ID为linhansh
更正:看雪资深版主。看雪论坛ID为linhanshi

PⅤ L9 D1
反馈者: ddstrg
原文: 我并不是读书感兴趣
更正: 我并不是读书感兴趣

Ⅹ L-20 D1/D2
反馈者:家有睡神
原文:调试SHE
更正:调试SEH

PⅪ L12 D1/D2
反馈者:shoooo
原文:北极星2003、笨雄、rackabcer、nbragon、inhanshi
更正:北极星2003、笨雄、crackabcer、cnbragon、linhanshi

PⅣ L-17 D1/D2
反馈者:shoooo
原文:13.9.2 Themidia的SDK分析
更正:13.9.2 Themida的SDK分析

PⅪ L12 D1/D2
反馈者:shoooo
原文:感谢linhansh在工具方面提供的帮助!
更正:感谢linhanshi在工具方面提供的帮助!

PⅪ L6 D1/D2
反馈者:shoooo
原文:特别感谢盛大网络发展有限公司徐海
更正:特别感谢盛大网络发展有限公司徐海

P5 L-1 D1/D2
反馈者:清风
原文:用此函数设置
更正:用此函数设置

P4   L18  D1/D2/D3/D4
原文: 现在称 Win32
更正: 现在称 Win32

P5 L-12 D1/D2
反馈者:senhuxi
原文:hmemcpy函数的注释排版有问题
更正:三行注释均下移一行

P5 L-1,L-2 D1/D2
反馈者:kmlch
原文:Memcpy
更正:memcpy

P11 L9 D1/D2
反馈者:未秋叶已落
原文:和这个程序执行无关的东西
更正:和这个程序执行无关的东西

P21 L-9 D1/D2
反馈者:kmlch
原文: 模块加载/卸载、线程创建结束等事件的处理
更正: 模块加载/卸载、线程创建/结束等事件的处理

P22 L12 D1/D2
反馈者:kmlch
原文: 遇到CALL过,不跟进
更正: 遇到CALL过,不跟进
说明: 文中下面多次用到路过,还要用步过的,建议统一表述为其中的三个中的一个。

P22 L13 D1/D2
反馈者:usufu
原文:直到出现RET指时中断(表2-1)
更正:直到出现RET指时中断

P23 L2,D1
反馈者:yangjt
原文:会返回到4013FA这句
更正:会返回到4013FF这句

P27 L7,D1
反馈者:yangjt
原文:击一次ZF的值取反
更正:击一次ZF的值取反

P32 L1 D1/D2
反馈者:senhuxi
原文:其中的一个设置为44013AA
更正:其中的一个设置为4013AA

P36 L-11,L-8 D1/D2
反馈者:青枫
原文:40147C
更正:401476
(附图2.36光条应该停在401476这行)

P37 L2,D1
反馈者:yangjt
原文:弹出时从堆栈窗口中看到的
更正:中断时从堆栈窗口中看到的

P37 L6,D1
反馈者:yangjt
原文:要得到第一个参数的
更正:要得到第一个参数的内存地址

P43 L-17,D2
反馈者:XLSDG
原文:OllDbg出会现假死现像
更正:OllDbg会现假死现

P44 L4,D1
反馈者:yangjt
原文:这类语言的编译后程序
更正:这类语言编译后的程序

P45 L-2 D1
反馈者:hdy981
原文:intel
更正:Intel

P46 L3 D1/D2
反馈者:hdy981
原文:OllyDdg
更正:OllyDbg

P50 L1 D1
反馈者:senhuxi
原文:WindProc
更正:图3.10 内容为"WindProc",而相对应的图3.11却为"WindClass"

P60 L-1 D1
反馈者:嗜血狂君
原文:功能就是将40011AB到4011C3之间的
更正:功能就是将401060到401074之间的

P62 L15 D1/D2
反馈者:青枫
原文:在DA\SIG目录中
更正:在IDA\SIG目录中

P78 L-8 D1/D2
反馈者:pathletboy
原文:pascal程序实体不合适。
更正:(更正暂时留着,修正的代码以后放出)

P79 L9  D1/D2/D3/D4
反馈者:AsmDebuger
原文:mov eax, [ebp-4]   ; 将局部变量指针返回到eax
更正:mov eax, [ebp-4]   ; 将局部变量返回到eax

P80 L4,D1
反馈者:yangjt
原文:将参数b的值
更正:将参数a的值

P81 L13 D1
反馈者:Gruuuuubby
原文:0040101B puash ecx
更正:0040101B push ecx

P83 L5,D1
反馈者:yangjt
原文:基址加上某变量
更正:基址加变址寻址


P99   L14  D1/D2/D3/D4
反馈者:jerrysun
原文:
inc cx
Loop B20
更正:
inc bx
Loop B20

P106 L18 D1/D2
反馈者:Xacs
原文:进入子程序(keymakep设置第一次中断地址)
更正:进入子程序(keymake里设置第一次中断地址)

P107 L-23   D1/D2/D3/D4
反馈者:keagan
原文:将 序列号 1212
更正:将 序列号 1234

P113 L9 D1/D2
反馈者:littlewisp
原文:1.使用SetTime()函数
更正:1.使用SetTimer()函数

P115 L7 D1/D2
反馈者:senhuxi
原文:来到地址4010C6,输入修改指令"jmp 4010C6"
更正:来到地址4010C6,输入修改指令"jmp 4010D6"

P135 L1 D1/D2
反馈者:kan
原文:“push ecx,ecx”中即为
更正:“push ecx”,ecx中即为

P136 L16 D1/D2
反馈者:lizaixue
原文:其设计时基于和MD4相同的原理
更正:其设计基于和MD4相同的原理

P202 L-11  D1/D2/D3/D4
反馈者:keagan
原文:correct=pediy
更正:correct="pediy"

P264 L-14 D1
反馈者:usufu
原文:在32位Windows系统中,以为不存在共享地址空间,所以已用程序无需加以区别。
更正:在32位Windows系统中,已经不存在共享地址空间,所以已用程序无需加以区别。

P266 L-3 D1
反馈者:junxiong
原文:MAGE_NT_SIGNATURE
更正:IMAGE_NT_SIGNATURE

P266 L-20   D1/D2/D3/D4
反馈者:keagan
原文:图10.3 查看PE文件 MD-DOS 头部
更正:图10.3 查看PE文件 MS-DOS 头部

P268  L3   D1/D2/D3/D4
反馈者:雨中的鱼
原文:DLL这个字段的值一般是0210h
更正:DLL这个字段的值一般是210Eh

P277 L-3 D1/D2
反馈者:kangaroo
原文:k=1800h,故 ……4020D2h - 400000h – 1800h = 8D2h
更正:k=1A00h,故 ……4020D2h - 400000h – 1A00h = 6D2h

p285 L26  D1/D2/D3/D4
反馈者:manbug
原文:数据目录表(DataDirectory)的第11个成员指向绑定输入。
更正:数据目录表(DataDirectory)的第12个成员指向绑定输入。

P288 L-2 D1
反馈者:senhuxi
原文:文件偏移0C00h处是输出表内容,具体如图10.21所示。
更正:(这句话没问题,是图10.21有问题)图10.21“Offset"用的是10进制表示

P288 L-9 D1
反馈者:usufu
原文:即输表在内存中偏移4000h的地方。
更正:即输表在内存中偏移4000h的地方。

P296  L5     D1/D2/D3/D4
反馈者:雨中的鱼
原文:NumberOfNamedEntries为0,NumberOfIdEntries为1
更正:NumberOfNamedEntries为1,NumberOfIdEntries为0

P307  L-6    D1/D2/D3/D4
反馈者:未秋叶落
原文:   可以选择“关闭”或者最后将其附加到调试器上的“调试”按钮。
更正:   可以选择“确定”或者最后将其附加到调试器上的“取消”按钮。

P320   L-4   D1/D2/D3/D4
反馈者:hdy981
原文:用SDK
更正:用SDK

P325 L-17 D1/D2
反馈者:hdy981
原文:被映
更正:被映

P326 L-7 D1
反馈者:hdy981
原文:大多数
更正:大多数

P332 L-7 D1/D2/D3/D4
反馈者:isiah
原文:其把内存指定地址的映像文件读取出来
更正:其是把内存指定地址的映像文件读取出来

P335 L-4 D1
反馈者:hdy981
原文:就可以Dump内存像了
更正:就可以Dump内存像了

P337 L-1   D1/D2/D3/D4
反馈者:obaby
原文:大小为450B8h-405000h=B8h。
更正:大小为4050B8h-405000h=B8h。

P367 L9 D1/D2
原文:13.9.2 Themidia的SDK分析
更正:13.9.2 Themida的SDK分析

P388 L15 D1
反馈者:轩辕小聪
原文:callloc_next
更正:call loc_next

P432 L5 D1
反馈者:smartsl
原文:这段代码恢复了Rizng 3级对ntdll.dll
更正:这段代码恢复了Ring 3级对ntdll.dll

P462  L-2 D1
反馈者:hdy981
原文:在后面会用Getmulehandle取基地址
更正:在后面会用GetModuleHandle  取基地址

P467  L15     D1/D2/D3/D4
反馈者:hdy981
原文:    S_FileIsDll     DD  0 ;存放原始是事为DLL的标志
更正:    S_FileIsDll     DD  0 ;存放原始程序为DLL的标志

P474 L-275
反馈者:kangaroo
原文:VBegin代码所有的:add esp,4
更正: 更正为:add ebp,4
注:光盘源码正确。

P516 L-9 D1
反馈者:junxiong
原文:执行这句后,ebp=401005h
更正:执行这句后,edx=401005h

P516 L-10 D1
反馈者:junxiong
原文:执行这句后,ebp=401005h
更正:执行这句后,edx=401000h

P525 L-7 D1/D2
反馈者:Fido
原文:创建DLL文件
更正:调用DLL函数

P538 L-1  D1/D2/D3/D4
反馈者:yangjt
原文:MOV ESP,EBP
更正:MOV EBP,ESP

参考文献 L-8 D1
反馈者:usufu
原文:季文.80X86汇编语言程序设计教程
更正:季文.80X86汇编语言程序设计教程

(85楼前的帖己整理)

光盘映像文件勘误

18.2.2 Debug API机制 和 18.2.3 利用调试寄存器机制 目录下的源码:
搜索:ContinueDebugEvent(pi.dwProcessId, pi.dwThreadId, dwState) ;
替换:ContinueDebugEvent(DBEvent.dwProcessId, DBEvent.dwThreadId, dwState) ;


注:与勘误无关的回帖保留随时删除的权利。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (122)
雪    币: 107
活跃值: (311)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Fido 2008-7-3 09:45
2
0
格式:
页码:第几页第几行
错误:*******

我发现的是

页码:525页..中下位置
错误:重复了两次<创建DLL文件>
书上这么写:
1.创建DLL文件
*****
2.创建DLL文件
****

应该是属于印刷错误?????希望大家积极提交一下.

BTW:
谢谢kanxue~
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
senhuxi 2008-7-3 14:41
3
0
P5 L-12 D1
反馈者:senhuxi
原文:注释排版问题
更正:注释应下移一行

P32 L1 D1
原文:其中的一个设置为44013AA
更正:其中的一个设置为4013AA
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
青枫 2008-7-3 20:45
4
0
P5 L-1
反馈者: 清风
原文: 用此,函数设置
更正: 用此函数设置

开始一直读不通,汗~
雪    币: 450
活跃值: (120)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
哈哈在世 2008-7-4 15:27
5
0
我的书从p531开始倒过来读了,应该是印刷的问题,是今天早上拿到的书
雪    币: 122
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
未秋叶落 2008-7-5 16:01
6
0
P11  L8  D1
反馈者:未秋叶已落 (由于看雪不能注册五个汉字的ID,所以我的ID少了一个字)
原文:和这个程序执行不无关的东西。。。
更正:和这个程序执行无关的东西
(不知道是不是因为我没看懂的原因,如果是,请删掉本贴)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
静水无痕 2008-7-5 20:55
7
0
我买的书在74页以后到91页之间要倒过来读.今天拿到的书
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
青枫 2008-7-5 23:10
8
0
P39
6.条件断点
(1)按寄存器条件中断
原文中条件断点设在40147C这行,但是在输入命令的时候是在401476下的条件断点(bp 401476 eax==0400000)
我试验了一下,在40147C这行,用eax==040000的条件下断断不下来,只有在41476这行才能断下来。
(原谅我没有按格式来排版,如有不对请删除)

P62  L15  D1
反馈者: 青枫
原文:    在DA\SIG目录中
更正:    在IDA\SIG目录中

P115  L3  D1
反馈者: 青枫
原文:  输入修改指令“jmp 4010C6”
更正:  输入修改指令"jmp 4010D6"
雪    币: 231
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
usufu 2 2008-7-6 12:37
9
0
P22 L8 D1
表2-1 OllDbg的单步跟踪功能键
其中对Ctrl+F9的描述是:直到出现RET指时中断
应该为直到出现RET指时中断。
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
senhuxi 2008-7-6 13:52
10
0
P115 L3 D1
反馈者:senhuxi
原文:来到地址4010C6,输入修改指令"jmp 4010C6"
更正:这里是不是有错???我看了光盘里的"Timer方法1.exe",修改的地方是:

004010C2                       . /EB 12         jmp     short 004010D6                   ;  Case 110 (WM_INITDIALOG) of switch 004010A5
004010C4                       . |24 08         and     al, 8

原文件该处代码为:

004010C2   .  8B7424 08     mov     esi, dword ptr [esp+8]           ;  Case 110 (WM_INITDIALOG) of switch 004010A5

________________________________________________________________________________________________________

还有一个,光盘里有个"Timer方法3.exe"应该是对应书上"方法2"的吧
雪    币: 182
活跃值: (50)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
pathletboy 2 2008-7-6 14:15
11
0
P78 L-8 D1
反馈者:pathletboy
因为不是简单的印刷错误,所以给出问题描述.
问题描述如下:
原代码和下页的反汇编代码不符.
pascal函数如未申明为stdcall则3个以内则采用寄存器传参.故79页的反汇编代码表完全与78页的原代码不符.

P78 L4 D1
反馈者:pathletboy
原文:call MyAdd
更正:call MyAdd1

P78 L5 D1
反馈者:pathletboy
原文:堆栈在MyAdd函数里平衡
更正:堆栈在MyAdd1函数里平衡
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kankan山石 2008-7-6 19:38
12
0
P135  L1  D1
反馈者:kan
原文: “push ecx,ecx”中即为
更正: “push ecx”,ecx中即为
雪    币: 411
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kmlch 2008-7-7 10:12
13
0
P5  L-1  D1
P5  L-2  D1
反馈者:kmlch
原文: Memcpy
更正: memcpy

P18  L-2  D1
反馈者:kmlch
原文: 可以设置让OllyDbg忽略或不忽略那些异常
更正: 可以设置让OllyDbg忽略或不忽略哪些异常

P21 L-9 D1
反馈者:kmlch
原文: 模块加载/卸载、线程创建结束等事件的处理
更正: 模块加载/卸载、线程创建/结束等事件的处理

P22 L12 D1
反馈者:kmlch
原文: 遇到CALL跳过,不跟进
更正: 遇到CALL路过,不跟进
说明: 文中下面多次用到路过,还要用步过的,建议统一表述为其中的三个中的一个。
雪    币: 299
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
clide2000 7 2008-7-8 17:19
14
0
P5 L-1 D1
反馈者:clide2000
原文:用此,函数设置
更正:用此函数设置
雪    币: 14
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hdy981 2008-7-8 19:54
15
0
P46 L3 D1
反馈者:hdy981
原文:OllyDdg
更正:OllyDbg
雪    币: 32403
活跃值: (18855)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2008-7-8 20:58
16
0
“忽略或不忽略那些异常”这句感觉正常。



感谢,4楼清风己反馈。
雪    币: 4476
活跃值: (2859)
能力值: ( LV13,RANK:283 )
在线值:
发帖
回帖
粉丝
littlewisp 2 2008-7-8 22:21
17
0
P113
     L9
     1.使用SetTime函数
    应该为:使用SetTimer函数
雪    币: 109
活跃值: (383)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
cater 5 2008-7-8 22:28
18
0
笨熊
喜欢..呵呵呵
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
轩辕小聪 7 2008-7-9 15:41
19
0
P388 L3 D1
反馈者:轩辕小聪
原文:FlagDataDWORD
更正:FlagData        DWORD

P388 L15 D1
反馈者:轩辕小聪
原文:callloc_next
更正:call        loc_next

P388 L40 D1
反馈者:轩辕小聪
原文:pushfs:[0]
更正:push        fs:[0]

注:都属于代码中间缺少空格(或/t)。
光盘映像中的源代码相应处则无误,应该是印刷时的问题。
雪    币: 14
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hdy981 2008-7-10 00:13
20
0
P325 L-17 D1
反馈者:hdy981
原文:被映像到
更正:被映射到

P326 L-7 D1
反馈者:hdy981
原文:决大多数
更正:绝大多数

P332  L7 D1
反馈者:hdy981
原文:处理ANSI字符的CUI版本
更正:处理ANSI字符的GUI版本

P335  L-4 D1
反馈者:hdy981
原文:就可以Dump内存境像了
更正:就可以Dump内存镜像了
(另外,从P332开始,“映像”和“镜像”这两个词语就经常混杂出现,希望能够统一起来)

P372  L-9 D1
反馈者:hdy981
原文:pusha
更正:pushad
雪    币: 182
活跃值: (50)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
pathletboy 2 2008-7-10 12:10
21
0
这个没错。你用IDA反汇编出来的就是pusha
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
家有睡神 2008-7-10 12:32
22
0
PX 内容导读 系统篇 第11章“结构化异常处理”
调试SHE处理的程序
应该为SEH
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sjdz 2008-7-10 17:04
23
0
P5 L1 D1/D2(行数勘误说明错误应为L-1)
反馈者:清风
原文:用此,函数设置
更正:用此函数设置

P5 L-12 D1/D2
反馈者:senhuxi
原文:hmemcpy函数的注释排版有问题
更正:注释应下移一行(勘误说明不够详细,应为三行注释均下移一行)
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
senhuxi 2008-7-11 09:04
24
0
P50 L1 D1
反馈者:senhuxi
原文:WindProc
更正:图3.10 内容为"WindProc",而相对应的图3.11却为"WindClass"
雪    币: 231
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
usufu 2 2008-7-11 11:51
25
0
在反馈一个错误
PX L24(以最右侧的内容开始数) D1
在内容导读中,系统篇,第11章“结构化异常处理”的右侧简短介绍中,最后一行
原文:调试SHE处理的程序,就会更加自如
更正:调试SEH处理的程序,就会更加自如
游客
登录 | 注册 方可回帖
返回