能力值:
( LV2,RANK:10 )
|
-
-
76 楼
P51 L13 D3
原文:Options/Misc
更正:Options/General/Misc
|
能力值:
( LV4,RANK:50 )
|
-
-
77 楼
P28 算法分析代码区 D3
反馈者:renwoxiao
原文:if(lstrcmp(rcode,name)==0)
更正:if(lstrcmp(rcode,code)==0)
|
能力值:
( LV2,RANK:10 )
|
-
-
78 楼
我买的是第4次印刷.
要慢慢看看是否有上面的问题需要修正.
想自己删了此回复,没权限.
|
能力值:
( LV15,RANK:880 )
|
-
-
79 楼
P337 l-1 D2
反馈者:obaby
原文:大小为450B8h-405000h=B8h。
更正:大小为4050B8h-405000h=B8h。
|
能力值:
( LV2,RANK:10 )
|
-
-
80 楼
P60 L-1 D4
原文:将 4011AB 到 4011C3
更正:将 401060 到 401074
|
能力值:
( LV2,RANK:10 )
|
-
-
81 楼
P107 L-23 D4
原文:将 序列号 1212
更正:将 序列号 1234
|
能力值:
( LV2,RANK:10 )
|
-
-
82 楼
P202 L-11 D4
原文:correct=pediy
更正:correct="pediy"
|
能力值:
( LV2,RANK:10 )
|
-
-
83 楼
337页,L-1,D1
2008年7月第一次印刷,337页倒数第一行:
原文:大小为450B8h-405000h=B8h
应该更正为:大小为4050B8h-405000h=B8h
不然这个公式不成立呀.
|
能力值:
( LV2,RANK:10 )
|
-
-
84 楼
P266 L-20 D4
原文:图10.3 查看PE文件 MD-DOS 头部
更正:图10.3 查看PE文件 MS-DOS 头部
|
能力值:
( LV2,RANK:10 )
|
-
-
85 楼
坛主还真是很细心呢!!!那些都是小问题.
|
能力值:
( LV2,RANK:10 )
|
-
-
86 楼
P8 L22,D3
反馈者:a王
原文:完全从底层做起
更正:完全从底层做起,
P9 L7,D3
反馈者:a王
原文:并且发送给
更正:,并且发送给
P43 L7,D3
反馈者:a王
原文:为什么删除了断点……重新出现
更正:删除了所有的断点……重新出现怎么办?
点评:语句不通!
P42 L22,D3
反馈者:a王
原文:乱码的问题
更正:出现乱码怎么办?
P42 L38,D3
反馈者:a王
原文:当前领空
更正:当前领空?
P43 L1,D3
反馈者:a王
原文:修改EIP
更正:修改EIP?
P43 L4,D3
反馈者:a王
原文:UDD
更正:UDD?
P43 L9,D3
反馈者:a王
原文:OllyDbg……会提示……
更正:在OllyDbg……为什么会提示……?
P43 L10,D3
反馈者:a王
原文:解决的办法是
更正:解决的办法是:
P43 L12,D3
反馈者:a王
原文:出会现假死现象
更正:为什么会出现假死现象?
P43 L16,D3
反馈者:a王
原文:显示
更正:显示?
P43 L18,D3
反馈者:a王
原文:出错“…file”
更正:为什么出错“…file”?
P43 L20,D3
反馈者:a王
原文:形式
更正:形式?
在本书的前面还有一个错误,我由于没做记号,现在不知道在哪里了,等我看第2遍的时候再提出来吧! 《这本书昨天才买,看到50页了!》
|
能力值:
( LV2,RANK:10 )
|
-
-
87 楼
坛主注意了,上面
P107 L-23 D1/D2/D3/D4
反馈者:keagan
原文:将 序列号 1212
更正:将 序列号 1234
我用的就是D3,序列号是1234,看都没看就写D1/D2/D3/D4,还查错,
|
能力值:
( LV2,RANK:10 )
|
-
-
88 楼
难免有错,感谢更正
|
能力值:
( LV2,RANK:10 )
|
-
-
89 楼
2009.08第五次印刷
P167
中间
原文:Kcrypto ANALyzer
更正:Krypto ANALyzer
倒数第二行:
原文:Elgamal公钥密码
更正:ElGamal公钥密码
|
能力值:
( LV2,RANK:10 )
|
-
-
90 楼
谢谢版主 辛苦了
|
能力值:
( LV2,RANK:10 )
|
-
-
91 楼
《加密与解密》我读了2遍,现在还在复习,发现了一些印刷小问题。同时我把遇到的问题也单独列出来了。希望管理员能帮我解决下。
P31 L-7 D3
原文:DR7设定状态
更正:DR7设定控制位
P32 L-7 D3
原文:004013D0
更正:004013CE
P36 L-13 D3
原文:如果结果非0或者表达式无效
更正:如果结果非0或者表达式有效
P269 L-11 D3
原文:未初始化数据通常在.bbs块中
更正:未初始化数据通常在.bss块中
P236 L-9 D3
原文:原程序的输入表是不存的
更正:原程序的输入表是不存在的
P360 L11 D3
原文:sub ebx,B20000
更正:sub ebx,3D0000
P478 L2 D3
原文:在相关handler执行前恢复标志位,执行后保存标志位
更正:在相关handler执行前保存标志位,执行后恢复标志位
P496 L-22 D3
原文:图18.2中的SF标志位就是Single Step标志了
更正:图18.2中的TF标志位就是Single Step标志了
同样P499中的L14中的SF要改为TF
P525 L-11 D3
原文:当Visual C++以stdaoll方式将C函数输出时
更正:当Visual C++以stdcall方式将C函数输出时
问题:P61 L-5 D3
在IDA中对于使用SMC或其他加密代码,可以使用其他方法将数据解码,如OD动态调试,然后通过IDA的“Additional binary file”功能将解码文件重新加载,这样的做法比IDC脚本来得更有效。
问题:P63 L2 D3
IDA为了方便用户自己制作识别库文件,提供了Flirt数据库生成工具Flair,这将给反汇编工作带来更多便利。这里的Flair工具找不到。
问题:P499,例子中间的注释中说,“当收到第一个异常信号,表示中断在程序的第一条指令,即入口点,把dr0设置成程序的入口地址”。已经到了入口点,为何还要设置程序的入口点。
问题:P499中,L-11,Regs.DR0=Regs.EAX,为何要选EAX?可以用EBX吗?
问题:P499的程序在光盘中,编译后运行程序运行不了,即没反映。
问题:P516 《代码的自定位技术》,
00401000 call 00401005
00401005 pop edx
在DLL文件中,添加此代码,DLL的地址会被重定位,但是call后面的地址不会被重定位,所以edx不会得到00401005
|
能力值:
( LV7,RANK:110 )
|
-
-
92 楼
D4
P271的表格:10-4数据目录表成员
这个表格中标题为“序号,成员,结构,偏移量”
里面的“结构”是否说法有误?“结构”下面的东西是
IMAGE_DIRECTORY_ENTRY_EXPORT
IMAGE_DIRECTORY_ENTRY_IMPORT
。。。
这些都是#define,而并非是结构。
|
能力值:
( LV2,RANK:10 )
|
-
-
93 楼
P117 L15 D2
反馈者:konyka
原文:CreateFileA函数设断查看其打开文件名指针
更正:CreateFileA函数设断查看其打开的文件名指针
P117 L-10 D2
反馈者:konyka
原文:图5.6中的 Include中的"PackMe"
更正:"PacMe"
P118 L12 D2
反馈者:konyka
原文:读KeyFile第一个字节,保存在4034FA
更正:读KeyFile第一个字节(保存在4034FA内存单元中)
P119 L12 D2
反馈者:konyka
原文:指向上面的图案中C
更正:指向上面图案中的C
P125 L7 D2
反馈者:konyka
原文:这个脚本就将整个程序访问缓冲区所有指令列出了
更正:这个脚本就把整个程序访问缓冲区的所有指令列出来了
说明:语句不顺
P125 L-20 D2
反馈者:konyka
原文:其中r/m32表示32位寄存器
更正:其中r/m32表示32位寄存器/存储器
P125 L-16 D2
反馈者:konyka
原文:只需要确实指令的范围
更正:只需要确定指令的范围
P126 L-15 D2
反馈者:konyka
原文:jnz short 004014C1
更正:jmp short 004014C1
P127 L-2 D2
反馈者:konyka
原文:GetFileAttributes A(W)
更正:GetFileAttributesA(W)
P130 L-1 D2
反馈者:konyka
原文:GetSystemtime
更正:GetSystemTime
P130 L6 D2
反馈者:konyka
原文:GetFileAttributes A(W)
更正:GetFileAttributesA(W)
P130 L-4 D2
反馈者:konyka
原文:DialogBoxParam A(W)
更正:DialogBoxParamA(W)
P130 L-3 D2
反馈者:konyka
原文:CreateWindowEx A(W)
更正:CreateWindowExA(W)
P263 L-6 D2
反馈者:konyka
原文:认识PE文件不是作为单一内存映射文件被装入内存是很重要的
更正:认识到PE文件不是作为单一内存影射文件被装入内存是很重要的
P263 L-3 D2
反馈者:konyka
原文:这样如果知道在磁盘的数据结构中寻找一些内容,那么几乎都能在被装入到内存映射文件中找到相同的信息
更正:这样如果知道在磁盘的数据结构中找到的一些内容,那么几乎都能在被装入的内存映射文件中找到相同的信息
P264 L-14 D2
反馈者:konyka
原文:所以以用程序无需加以区分
更正:所以应用程序无需加以区分
P264 L-14 D2
反馈者:konyka
原文:在32位Windows系统中,以为不存在共享地址空间
更正:在32位Windows系统中,因为不存在共享地址空间
P265 L1 D2
反馈者:konyka
原文:为了在PE文件中避免有确定的内存地址
更正:为了在PE文件中避免有绝对的内存地址
P266 L-2 D2
反馈者:konyka
原文:#define IMAGE_NT_SIGNATURE 0x00004550
更正:#define IMAGE_NT_SIGNATURE 0x50450000
P267 L5 D2
反馈者:konyka
原文:字段前的注释标出了字段相对于PE文件头的偏移量
更正:字段前的数字标出了字段相对于PE文件头的偏移量
P267 L6 D2
反馈者:konyka
原文:IMAGE_FILE_HEADER STRUC
更正:IMAGE_FILE_HEADER STRUCT
说明:P266使用的是"IMAGE_NT_HEADERS STRUCT"的形式 以后很多出现结构的地方使用的却是“STRUC”
应该统一一下;书中这样的结构不知道是通过什么查看的 似乎不是winnt.h中的定义
很像是IDA中显示的结构样式
P268 L-24 D2
反馈者:konyka
原文:字段前的注释标出了字段相对于PE文件头的偏移量
更正:字段前的数字标出了字段相对于PE文件头的偏移量
P268 L-23 D2
反馈者:konyka
原文:IMAGE_OPTIONAL_HEADER32 STRUC
更正:IMAGE_OPTIONAL_HEADER32 STRUCT
P269 L3 D2
反馈者:konyka
原文:未初始化数据通常在.bbs块中
更正:未初始化数据通常在.bss块中
P271 L7 D2
反馈者:konyka
原文:IMAGE_DATA_DIRECTORY STRUC
更正:IMAGE_DATA_DIRECTORY STRUCT
P272 L-4 D2
反馈者:konyka
原文:IMAGE_SECTION_HEADER STRUC
更正:IMAGE_SECTION_HEADER STRUCT
P272 L-3 D2
反馈者:konyka
原文:NAME DBYTE 8 DUP (?)
更正:NAME BYTE 8 DUP (?)
P279 L-14 D2
反馈者:konyka
原文:PE文件头的可选映像头中数据目录表的第二成员指向输入表
更正:PE文件头的可选映像头中数据目录表的第二个成员指向输入表
P280 L-5 D2
反馈者:konyka
原文:存有一个输入函数的相关信息结构
更正:存有一个输入函数的相关信息
说明:语法错误
P281 L14 D2
反馈者:konyka
原文:此时,输入表中其他部分就不重要了
更正:此时,输入表中的其他部分就不重要了
P281 L-8 D2
反馈者:konyka
原文:数据目录表的第二成员指向输入表
更正:数据目录表的第二个成员指向输入表
P281 L-8 D2
反馈者:konyka
原文:该指针具体位置
更正:该指针的具体位置
P283 L1 D2
反馈者:konyka
原文:再来看看同一IID结构中FirstThunk情况
更正:再来看看同一IID结构中FirstThunk的情况
P285 L-7 D2
反馈者:konyka
原文:IMAGE_BOUND_IMPORT_DESCRIPTOR STRUC
更正:IMAGE_BOUND_IMPORT_DESCRIPTOR STRUCT
P286 L5 D2
反馈者:konyka
原文:NumberOfModuleForwarderRef
更正:NumberOfModuleForwarderRefs
P287 L7 D2
反馈者:konyka
原文:IMAGE_EXPORT_DIRECTORY STRUC
更正:IMAGE_EXPORT_DIRECTORY STRUCT
P287 L13 D2
反馈者:konyka
原文:基数,加上序数就是函数地址数组的索引值
更正:基数,序数减去这个基数就是函数地址数组的索引值
P287 L-18 D2
反馈者:konyka
原文:Base: 这个字段包含用于这个可执行文件输出表的起始序数值
更正:Base: 这个字段包含用于这个PE文件输出表的起始序数值
说明:“可执行文件”欠妥,可能是EXE 也可能是DLL
P287 L-15 D2
反馈者:konyka
原文:表明用这个序数值没有代码
更正:用这个序数值表明没有代码
P289 L10 D2
反馈者:konyka
原文:此行出现个两个"输出序数"
更正:其实此两处并不是输出序数,而是EAT的索引
P289 L14 L15 D2
反馈者:konyka
原文:但如果可执行文件
更正:但如果PE文件
说明:“可执行文件”欠妥,可能是EXE 也可能是DLL
P289 L19 D2
反馈者:konyka
原文:如果可执行文件不在首选的地址装入
更正:如果PE文件不在首选的地址装入
说明:“可执行文件”欠妥,可能是EXE 也可能是DLL,
另外很多"装入"改成"载入"更合适,
类似的问题后文还有很多 不一一列举了
P290 L-9 L-8 D2
反馈者:konyka
原文:基址重定位数据组织方法采用类似按页分割的方法
更正:基址重定位数据的组织方法采用类似按页分割的方法
P290 L-5 D2
反馈者:konyka
原文:IMAGE_BASE_RELOCATION STRUC
更正:IMAGE_BASE_RELOCATION STRUCT
P290 L-2 D2
反馈者:konyka
原文:重定项位数组
更正:重定位项数组
P291 L4 D2
反馈者:konyka
原文:则是TypeOffset大小
更正:则是TypeOffset数组大小
P291 L16 D2
反馈者:konyka
原文:实际基本都是这情况
更正:实际中基本都是这种情况
P292 L3 D2
反馈者:konyka
原文:图10.24中的"Size OfBlock"
更正:SizeOfBlock
P296 L13 D2
反馈者:konyka
原文:图10.13中40F0灰色部分"49 00 59"
更正:图10.13中40F0灰色部分"49 00 59 00"
说明:少选一个字节
P297 L-19 D2
反馈者:konyka
原文:IMAGE_TLS_DIRECTORY32 STRUC
更正:IMAGE_TLS_DIRECTORY32 STRUCT
P298 L2 D2
反馈者:konyka
原文:这些结构保持存储在文件中的变量的类型
更正:这些结构保存存储在文件中的变量的类型
P298 L3 D2
反馈者:konyka
原文:debug目录里的元素数量
更正:debug目录的元素数量
P298 L4 D2
反馈者:konyka
原文:IMAGE_DEBUG_DIRECTORY STRUC
更正:IMAGE_DEBUG_DIRECTORY STRUCT
P308 L7 D2
反馈者:konyka
原文:源于其对应于设置其的API函数
更正:源于设置其API的函数
P309 L7 D2
反馈者:konyka
原文:状态栏就有如一行字符提示
更正:状态栏就有如下一行字符提示
P309 L-5 D2
反馈者:konyka
原文:执行原来的代码的部分
更正:执行原来的代码部分
P310 L4 D2
反馈者:konyka
原文:可以在跟踪软件的运行以后
更正:可以在跟踪软件的运行后
P320 L8 D2
反馈者:konyka
原文:要使这款壳有强大的保护
更正:要发挥这款壳强大的保护功能
P329 L-16 D2
反馈者:konyka
原文:将“401130”放到370284这句处
更正:将“401130”放到370283这句处
P330 L10 D2
反馈者:konyka
原文:一定会中断在外壳对代码写入的那句上面
更正:一定会中断在外壳对代码读取的那句指令上面
P330 L14 D2
反馈者:konyka
原文:程序将中断如下代码处
更正:程序将中断在如下代码处
P333 L2 D2
反馈者:konyka
原文:BOOLMoudle32Next
更正:BOOL Moudle32Next
P372 L1 D2
反馈者:konyka
原文:被CodeReplace保护代码的pcode数据
更正:被CodeReplace保护的代码的pcode数据
P372 L7 D2
反馈者:konyka
原文:被CodeReplace保护代码的pcode分析的结果
更正:被CodeReplace保护的代码的pcode的分析结果
P378 L-4 D2
反馈者:konyka
原文:资源提取出来放在壳外面
更正:资源提取出来放在壳里面
光盘错误
PEDIY_BOOK3\chap13目录下的
13.9 静态脱壳 与 13.10 加密壳 章节号颠倒
P380 L-7 D2
反馈者:konyka
原文:F(U,R)取合法值
更正:F(U,R)是合法值
P382 L-3 D2
反馈者:konyka
原文:甚至无法求出R哪怕是小小的一段
更正:甚至无法求出R,哪怕是小小的一段
P383 L-1 D2
反馈者:konyka
原文:影响下一条指令正确识别
更正:影响下一条指令的正确识别
P384 L-16 D2
反馈者:konyka
原文:就像这里40100Bh地址
更正:就像这里401009h地址
P386 L-3 D2
反馈者:konyka
原文:分析出解密函数的位置编写程序
更正:分析出解密函数的位置并编写程序
P388 L-15 D2
反馈者:konyka
原文:pushfs:[0]
更正:push fs:[0]
说明:光盘代码是正确的
P389 L23 D2
反馈者:konyka
原文:mov [sContext].iDr7, 11h
更正: mov [sContext].ContextFlags, CONTEXT_DEBUG_REGISTERS
mov [sContext].iDr7, 101h
说明:光盘代码是正确的
P390 L1 D2
反馈者:konyka
原文:以防止跟踪者不修改代码
更正:以防止跟踪者不修改代码,
P398 L14 D2
反馈者:konyka
原文:address2值为14Feh
更正:address2值为14FEh
P399 L-8 D2
反馈者:konyka
原文:故没有提到重定位的解决
更正:故没有提到重定位的解决方法
P399 L-3 D2
反馈者:konyka
原文:最好遵守这里给出的准则
更正:最好遵守这里给出的原则
说明:用词欠妥
第15章 反跟踪技术
这章里面提到的源码都是开源项目reactOS的源码,并非Windows的源码,而作者多次说“Windows”的源码
把对2K的模拟开源系统reactos的源码当作windows 2K来讲解,并且章节的最初,一开篇就引用reactos的
源码当做微软的windows源码,毫无任何说明
开源的reactos并不是真正的微软windows系列源码,不能混为一谈,即使能从中得到windows的一些内部细节.
通过reactos了解windows的机制是个不错的途径
P404 L18 D2
反馈者:konyka
原文:是TIB的反身指针
更正:是TIB的自身指针
P404 L18 D2
反馈者:konyka
原文:指向PEB首地址
更正:指向TEB首地址
P405 L7 D2
反馈者:konyka
原文:PROCESS_BASIC_INFORMATION pbi = {0}
更正:PROCESS_BASIC_INFORMATION pbi = {0};
说明:光盘代码也有同样错误
P419 L-15 D2
反馈者:konyka
原文:它的价值不只于此
更正:它的价值不止于此
P420 L-5 D2
反馈者:konyka
原文:NtCurrentTeb()->DbgSs Reserved[1]
更正:NtCurrentTeb()->DbgSsReserved[1]
P433 L3 D2
反馈者:konyka
原文:再读取“mov eax,
更正:,再读取“mov eax,
P433 L11 D2
反馈者:konyka
原文:Phantom
更正:Phant0m
P433 L-11 D2
反馈者:konyka
原文:用这种方法不能检测到
更正:用这种方法检测不到
P433 L-10 D2
反馈者:konyka
原文:活方法是
更正:活的方法是
P433 L-9 D2
反馈者:konyka
原文:来检测到SoftICE是否激活
更正:来检测SoftICE是否激活
P434 L-18 D2
反馈者:konyka
原文:ntroskrnl.exe
更正:ntoskrnl.exe
光盘中
PEDIY_BOOK3\chap15\15.3 真正的奥秘:小技巧一览\15.3.1 SoftICE检测方法\int41中的
handler: // 异常回调处理函数
mov ebx,[esp+0ch]
add dword ptr [ebx+0b8h],02h // CONTEXT.EIP+2
mov ebx,[esp+4]
cmp [ebx], 80000004h // 0C0000005正常,80000004被调试
jz Table
inc mark
中的
jz Table 是不是有问题 似乎应该是jnz Table
P435 L14 D2
反馈者:konyka
原文:可以认定是检测到OllyDbg了
更正:可以认定检测到OllyDbg了
|
能力值:
( LV2,RANK:10 )
|
-
-
94 楼
P268 L3 D2
反馈者:konyka
原文:0210h
更正:2102h
P462 L2 D2
反馈者:konyka
原文:在后面会用Getmulehandle取基地址
更正:在后面会用GetModuleHandle取基地址
P494 L9 D2
反馈者:konyka
原文:读取目标进程的代码是到了补丁时机
更正:读取目标进程的代码是否到了补丁时机
P496 L-21 D2
反馈者:konyka
原文:将该位置位的代码可以如下所示
更正:设置该位置位的代码可以如下所示
P497 L17 D2
反馈者:konyka
原文:BOOLWhileDoFlag=TRUE;
更正:BOOL WhileDoFlag=TRUE;
P498 L-6 D2
反馈者:konyka
原文:Dr X
更正:DrX
P500 L12 D2
反馈者:konyka
原文:caseEXIT_PROCESS_DEBUG_EVENT:
更正:case EXIT_PROCESS_DEBUG_EVENT:
P500 L-23 D2
反馈者:konyka
原文:将目录进程
更正:将目标进程
P500 L-10 D2
反馈者:konyka
原文:ntcontinue
更正:NtContinue
P500 L-3 D2
反馈者:konyka
原文:然后是用
更正:然后使用
P500 L-2 D2
反馈者:konyka
原文:ntcontinue
更正:NtContinue
P505 L12 D2
反馈者:konyka
原文:发现系统一些DLL
更正:发现一些系统DLL
P505 L23 D2
反馈者:konyka
原文:去除补丁限制
更正:去除限制
P507 L-5 D2
反馈者:konyka
原文:BB40hh
更正:BB40h
P507 L14 D2
反馈者:konyka
原文:repz movsd
更正:rep movs
|
能力值:
( LV2,RANK:10 )
|
-
-
95 楼
PⅤ L9 D1
反馈者: ddstrg
原文: 我并不是读书感兴趣
更正: 我并不是读书不感兴趣
引用原文和更正内容都少了“对”字,不要以讹传讹。
PⅤ L9 D1
反馈者: ddstrg
原文: 我并不是对读书感兴趣
更正: 我并不是对读书不感兴趣
|
能力值:
( LV2,RANK:10 )
|
-
-
96 楼
好多啊!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
97 楼
感谢各位分享
|
能力值:
( LV2,RANK:10 )
|
-
-
98 楼
P23 L2,D1 反馈者:yangjt 原文:会返回到4013FA这句 更正:会返回到4013FF这句
我书上原本就是4013FF啊
|
能力值:
( LV2,RANK:10 )
|
-
-
99 楼
这个支持下!!
|
能力值:
( LV2,RANK:10 )
|
-
-
100 楼
P450 保存重定位表把我搞昏了。。
if(nNewItemOffset > 0xff) //如果是本段重定位数据的第一项。
偏移是12位,为什么这里只用了8位?
原注释:
//保存数据需要的字节长
我觉得应改为:
//需重定位个数
|
|
|