OD载入exe文件,可是保存却为dll文件
尝试破解鼠标点击精灵mcSpirit.exe(vb程序,无壳),OD载入mcSpirit.exe,搜索字符串“注册码错误”无果,于是命令行输入bp rtcMsgBox,F9运行,输入假码,断在660DC5F3 >55 push ebp
660DC5F4 8BEC mov ebp,esp
堆栈显示,
返回到 mcSpirit.00430821 来自 MSVBVM60.rtcMsgBox
跟随至
0043081B .FF15 D8104000 call dword ptr ds:[<&MSVBVM60.#595>] ;MSVBVM60.rtcMsgBox
00430821 .8D4D A0 lea ecx,dword ptr ss:
00430824 .8D55 B0 lea edx,dword ptr ss:
00430827 .51 push ecx
上面0043081B 的call就是弹出错误提示框的,再向上有一个很大的跳转
004304E8 .6A 03 push 3
004304EA .FFD7 call edi ;<&MSVBVM60.__vbaFreeVarList>
004304EC .83C4 10 add esp,10
004304EF .66:85DB test bx,bx
004304F2 0F84 CC020000 je mcSpirit.004307C4‘此跳转修改jnz后,保存为exe文件,输入假码,显示注册成功,请重启程序,重启后还是未注册版。怀疑是标志位验证。
上面还有几个call,不知道F7跟入哪个。
004304C4 .FF15 58124000 call dword ptr ds:[<&MSVBVM60.__vbaFreeS>;MSVBVM60.__vbaFreeStrList
004304CA .83C4 0C add esp,0C
004304CD .8D4D E0 lea ecx,dword ptr ss:
004304D0 .FF15 1C134000 call dword ptr ds:[<&MSVBVM60.__vbaFreeO>;MSVBVM60.__vbaFreeObj
尝试在004304C4 .FF15 58124000 call dword ptr ds:[<&MSVBVM60.__vbaFreeS>;MSVBVM60.__vbaFreeStrList下断,F7进入,来到
660E60C5 >53 push ebx
660E60C6 56 push esi
660E60C7 8B7424 10 mov esi,dword ptr ss:
660E60CB 57 push edi
660E60CC 8D7C24 18 lea edi,dword ptr ss:
660E60D0 33DB xor ebx,ebx
660E60D2 8B06 mov eax,dword ptr ds:
660E60D4 85C0 test eax,eax
将 660E60C5 >53 push ebx
660E60C6 56 push esi
修改为 660E60C5 mov bx,1
660E60C9 retn ,右键复制到可执行文件,所有改动,保存文件,
自动显示保存为MSVBVM60.DLL,这是什么原因呢?为何不是保存为exe文件呢?
关于此破解,还请高手指点一下思路 你修改的时候修改的是msvbvm60.dll里面的内容,一般来说,主程序的内存地址不可能有这么大 有可能你修改的不是主程序文件 你跑到DLL内容里了 那么请教各位高手我应该怎么操作才能破解此软件 好象保存改后的MSVBVM60.DLL在该程序安装目录即可,以前弄过类似的一个,好象可以 6楼的方法不行我试过了 另外这个软件可以追码吗 有的修改后保存为DLL也是可以破解的。
PS:求助的帖子不要用原创标签
[ 本帖最后由 杨家将 于 2009-8-19 14:34 编辑 ] /:010 看不懂 msvbvm60 - msvbvm60.dll - DLL文件信息
DLL 文件: msvbvm60 或者 msvbvm60.dll
DLL 名称: VB Virtual Machine
描述:
msvbvm60.dll是微软Microsoft Visual Basic虚拟机相关模块。
属于: Visual Basic
你进的是 MSVBVM60.DLL改的也是 MSVBVM60.DLL
所以说你改的不在程序领空,改的地方不对啦~!/:017
页:
[1]
2