首页
社区
课程
招聘
[旧帖] [求助]OD提示“VB6CHS入口点超出代码范围,可能是个自修改或自解压文件” 0.00雪花
发表于: 2007-6-10 01:53 12876

[旧帖] [求助]OD提示“VB6CHS入口点超出代码范围,可能是个自修改或自解压文件” 0.00雪花

2007-6-10 01:53
12876
【求助】OD提示“VB6CHS入口点超出代码范围,可能是个自修改或自解压文件”
用OD加载后运行至 0F34  SYSENTER 再按F7时出现这一提示,同时程序出现注册窗口
添加“注册”键的 WM_LBUTTONUP 消息断点之后按 F9 运行断至733B0801
当前模块是MSVBVM60

733B0801 >  55              PUSH EBP
733B0802    8BEC            MOV EBP,ESP
733B0804    83EC 30         SUB ESP,30
733B0807    53              PUSH EBX
733B0808    8B5D 08         MOV EBX,DWORD PTR SS:[EBP+8]
733B080B    56              PUSH ESI
733B080C    57              PUSH EDI
733B080D    53              PUSH EBX
733B080E    E8 A157FFFF     CALL MSVBVM60.733A5FB4
733B0813    8B7D 0C         MOV EDI,DWORD PTR SS:[EBP+C]
733B0816    8BF0            MOV ESI,EAX
733B0818    85F6            TEST ESI,ESI
733B081A    0F84 B6000000   JE MSVBVM60.733B08D6
733B0820    8B46 30         MOV EAX,DWORD PTR DS:[ESI+30]
733B0823    F640 20 10      TEST BYTE PTR DS:[EAX+20],10
733B0827    0F85 F3000000   JNZ MSVBVM60.733B0920
733B082D    8BC7            MOV EAX,EDI
733B082F    48              DEC EAX
733B0830    48              DEC EAX
733B0831    0F84 4B010000   JE MSVBVM60.733B0982
733B0837    2D 80000000     SUB EAX,80
733B083C    0F84 40010000   JE MSVBVM60.733B0982
733B0842    8365 F0 00      AND DWORD PTR SS:[EBP-10],0
733B0846    8B46 28         MOV EAX,DWORD PTR DS:[ESI+28]
733B0849    8B00            MOV EAX,DWORD PTR DS:[EAX]
733B084B    8078 37 1D      CMP BYTE PTR DS:[EAX+37],1D
733B084F    0F84 F6650100   JE MSVBVM60.733C6E4B
733B0855    8D45 F8         LEA EAX,DWORD PTR SS:[EBP-8]
733B0858    8365 F8 00      AND DWORD PTR SS:[EBP-8],0
733B085C    50              PUSH EAX
......

MSVBVM60后面跟的都只是地址,没有函数名,请大家指点一下怎么找到它的关键call
软件下载地址 http://www.onlinedown.net/soft/10954.htm

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶上去,我单步运行到它弹出注册码错误的地方,
整个过程中只在 MSVBVM60 USER32 IMM32之间跳来跳去,没看见进入用户代码
2007-6-10 15:23
0
雪    币: 228
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
用OD载入,点击“查看”、“可执行模块”、“MSVBVM60”,在_VbaStrCmp函数上下断点(这个函数是VB程序破解的经典断点呢)。

然后F9运行,被断下来,但这里不是我们要的地方,继续按F9五次之后,来到
16468943    B8 48404616     mov     eax, 16464048                    ; UNICODE "SoftwareCode"
16468948    890B            mov     dword ptr [ebx], ecx
1646894A    8B4D BC         mov     ecx, dword ptr [ebp-44]
1646894D    8945 C0         mov     dword ptr [ebp-40], eax
16468950    894B 04         mov     dword ptr [ebx+4], ecx
16468953    8943 08         mov     dword ptr [ebx+8], eax
16468956    8B45 C4         mov     eax, dword ptr [ebp-3C]
16468959    56              push    esi
1646895A    8943 0C         mov     dword ptr [ebx+C], eax
1646895D    FF92 90030000   call    dword ptr [edx+390]
16468963    3BC7            cmp     eax, edi

发现关键字符“SoftwareCode”,继续F8单步,又来到:
16468668    52              push    edx
16468669    50              push    eax
1646866A    FFD3            call    ebx                                ;机器码和"2cab2station2"组合
1646866C    8B3D A4114616   mov     edi, dword ptr [<&MSVBVM60.__vba>; MSVBVM60.__vbaStrMove       
16468672    8BD0            mov     edx, eax
16468674    8D4D D8         lea     ecx, dword ptr [ebp-28]
16468677    FFD7            call    edi
16468679    50              push    eax
1646867A    68 18404616     push    16464018                         ; UNICODE "123"
1646867F    FFD3            call    ebx                                ;1646866A处组合的字串再与"123"组合
16468681    8BD0            mov     edx, eax
16468683    8D4D D4         lea     ecx, dword ptr [ebp-2C]
16468686    FFD7            call    edi
16468688    50              push    eax
16468689    E8 62730000     call    1646F9F0                        ;关键Call,返回后,真注册码的地址放于EAX中
1646868E    8BD0            mov     edx, eax
16468690    8D4D E8         lea     ecx, dword ptr [ebp-18]
16468693    FFD7            call    edi

于是打开KeyMake,在1646868E下断,指令长度2,第一字节8B,中断次数1,内存方式保存EAX为注册码,记得把“宽字符串”勾上,注册机制作完毕。
2007-6-11 02:32
0
雪    币: 228
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
顺手把注册机给你做了吧,祝使用愉快

晕,不让我上传附件……那你就到我的网盘去下载吧:
http://www.edisk.org/?zlm324
2007-6-11 02:47
0
雪    币: 222
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
支持下,应该单独立文,这样或许可以加精收藏,以后找也方便,其他人也可以从中受益
2007-6-11 09:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我调VC中也遇到这个情况,说程序是自解压文件。
我仿照这个方法试试。
谢谢
2007-6-11 11:20
0
雪    币: 228
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
单独开了帖,感谢你的建议p:
2007-6-11 12:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
非常感谢 斜阳残雪
我学了个把月破解了,但是这个还是不知道门路,看来得听高手们的建议先打好基础
2007-6-11 22:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
继续按F9五次是为了找到关键的地方,但是怎么判断已经到了关键的地方呢?
好像很多破文都提到按F9五次,具体为什么呢?
2007-6-11 22:23
0
雪    币: 228
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
10
哈哈,你按一个F9,然后F8单步,跟一段你就知道跟注册有没有关系啦。

5次并不是个定数,而是说明前4次函数的调用都跟注册码无关。这个是自己一步步试验出来的,不是什么公式
2007-6-12 14:23
0
游客
登录 | 注册 方可回帖
返回
//