首页
社区
课程
招聘
[旧帖] [注意]发现《OllyDBG 入门系列(五)-消息断点及 RUN 跟踪 》中的一个小错误 0.00雪花
发表于: 2010-1-1 15:48 1390

[旧帖] [注意]发现《OllyDBG 入门系列(五)-消息断点及 RUN 跟踪 》中的一个小错误 0.00雪花

2010-1-1 15:48
1390
刚开始学习CCDebuger的OllyDBG 入门系列,发现其中有一个小错误
“注册码位数,必须为十进制17位”
“注册码的第 17 位我尚未发现有何用处。”
这个注册码 应该是16位
ECX是注册码长度+1

原文如下:
004010F0 |> 41               INC ECX
004010F1 |. AC               LODS BYTE PTR DS:[ESI]                              ; 取注册码的每个字符
004010F2 |. 0AC0             OR AL,AL                                            ; 判断是否为空
004010F4 |. 74 0A            JE SHORT cycle.00401100                             ; 没有则跳走
004010F6 |. 3C 7E            CMP AL,7E                                           ; 判断字符是否为非ASCII字符
004010F8 |. 7F 06            JG SHORT cycle.00401100                             ; 非ASCII字符跳走
004010FA |. 3C 30            CMP AL,30                                           ; 看是否小于30H,主要是判断是不是数字或字母等
004010FC |. 72 02            JB SHORT cycle.00401100                             ; 小于跳走
004010FE |.^ EB F0           JMP SHORT cycle.004010F0
00401100 |> 83F9 11          CMP ECX,11                                          ; 比较注册码位数,必须为十进制17位(应该是16)

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

“注册码的第 17 位我尚未发现有何用处。”


所以这句话是对的。
2010-1-1 16:28
0
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
3
很细心嘛 其实你看这里 Count = 11(17)去掉ASCII的字符串结束一位00 有效输入只有16位了的
所以序列号它就只取16位 多余的被截断了 无用
004010A6 |. 6A 11 push 11 ; /Count = 11 (17.)
004010A8 |. 68 71214000 push 00402171 ; |Buffer = cycle.00402171
004010AD |. 68 E9030000 push 3E9 ; |ControlID = 3E9 (1001.)
004010B2 |. FF75 08 push dword ptr [ebp+8] ; |hWnd
004010B5 |. E8 0F020000 call <jmp.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA

2010-1-1 16:42
0
雪    币: 555
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
嗯  看了CCDebuger的文章真是受益匪浅,看雪是个好地方
2010-1-1 17:23
0
游客
登录 | 注册 方可回帖
返回
//