叶帆VBfriedn2006去灰色限制[LCG]
本帖最后由 CHHSun 于 2010-5-10 10:37 编辑去叶帆VBfriedn2006灰色限制,
限制有好多好多这里只说说方法。
看在线注册里是需要一个图片来验证注册的,安装完后文件夹里只有DLL和INI等一些文件,想要调试我们还
需要安装VB企业或专业版来辅助,精简版的不行。
要改的代码在VBFriend2006.dll里,有壳UPX,这里不说脱壳了,ESP定律就行。
调试该软件只做学习去限制用,没有其它用途。
----------
载入VB主程序,运行起来出现主窗口后菜单下面会出现6个小图标,下断BP CreateFileA点最后一个小图标(
系统配置,帮助文件里有说明),中断后看堆栈返回
堆栈:
0012DF04 6CDD059F/CALL 到 CreateFileA 来自 AcGenral.6CDD0599
0012DF08 0012E1C0|FileName = "D:\Program Files\YFSoft\VB?,B4,"码之友2006\YFRegister.bmp"
0012DF0C C0000000|Access = GENERIC_READ|GENERIC_WRITE
0012DF10 00000003|ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
0012DF14 0012E180|pSecurity = 0012E180
0012DF18 00000004|Mode = OPEN_ALWAYS
0012DF1C 00000080|Attributes = NORMAL
0012DF20 00000000\hTemplateFile = NULL需要YFRegister.bmp来验证是否注册,我们没有。
返回6CDD0599,下断,F9,F8单步一段时间返回到程序领空,来到
110805D9 .8BCE mov ecx, esi
110805DB .FFD7 call edi在段首下断,
11080460 $55 push ebp下断
重新点击系统配置小图标,中断后,堆栈中返回
11076A28 .8BF8 mov edi, eax
向上找到段首下断
11076970 $55 push ebp下断
重新点击系统配置小图标,中断后,堆栈中返回后找到段首
11067BC0 $55 push ebp下断
这地方就是读图片的,地方,我们单步慢慢跟
11067DC7 .85C0 test eax, eax
11067DC9 .74 10 je short 11067DDB ;如果有YFRegister.bmp就
跳,这里先不管,也可以自己建个图片
11067DCB .C745 FC 06000>mov dword ptr , 6
11067DD2 .66:C705 44170>mov word ptr , 0
11067DDB >C745 FC 08000>mov dword ptr , 8 ;下面值0ffff
11067DE2 .66:C705 44170>mov word ptr , 0
11067DEB .C745 FC 09000>mov dword ptr , 9
11067DF2 .C785 90FCFFFF>mov dword ptr , 110D1158 ;|70
11067DFC .C785 88FCFFFF>mov dword ptr , 4008
11067E06 .6A 00 push 0到里我们先不管他,继续向看走走看看什么时候运行窗口。
到这里运行了
11067E7F .E8 ECEA0000 call 11076970 ; 还是在下一行下断吧,要不
就F7进去在走出来,VB代码真是长呀,不服不行。
走到
11069472 .85D2 test edx, edx
11069474 .74 10 je short 11069486
11069476 .C745 FC 1D000>mov dword ptr , 1D
1106947D .66:C705 44170>mov word ptr , 0FFFF ;把0FFFF给110D1744
11069486 >C745 FC 24000>mov dword ptr , 24 ;跳到这里
1106948D .0FBF05 44170D>movsx eax, word ptr ;和110D1744=0000想比,
11069494 .85C0 test eax, eax ;EAX为1就下面就跳
11069496 .0F85 04100000 jnz 1106A4A0 ;不跳需要注册,跳过后窗
口上的图片注册失效就没有了,在看看VB中的小窗口[叶帆软件]VBFriend 2006,里的条目追加上的(需注册
)没有了
这个JNZ是关键,后期跟踪发现和110D1744相比较的比较多,如果EAX值1的话,不出现需要注册了,但是保存
按键是灰的。所以我们要找110D1744=0000在哪里来的,在1106948D这一行下个内存防问断点看看哪个地方给
他的0000,(途中会发现cmp word ptr , 0FFFF 和0FFFF相比)
最后找到我们开头的地方
11067DC9 .74 10 je short 11067DDB ;如果有YFRegister.bmp就
跳,这里先不管,也可以自己建个图片
11067DCB .C745 FC 06000>mov dword ptr , 6
11067DD2 .66:C705 44170>mov word ptr , 0 这里一处
11067DDB >C745 FC 08000>mov dword ptr , 8 ;下面值0ffff
11067DE2 .66:C705 44170>mov word ptr , 0 这里一处,最后发现改这里,后面的JNZ才跳过
11067DEB .C745 FC 09000>mov dword ptr , 9
改成11067DE2 .66:C705 44170>mov word ptr , 0FFFF
运行一下看到,保存按钮激活了。
改为1的话,按钮不激活,但是可以改其它跳激活,后期发现按钮就是不起作用,所以还的0FFFF。
---------
去基本配置里的灰色限制,去这东西的确不好下手,我费了好长时间在找到方法。
先看看界面里,基本设置里有个3 min, 在字串里找到他,双击进入
110C17EB .B8 F8830111 mov eax, 110183F8 ;3 min下断后,重新点击系统配置小图标,断下后F8
110C199D .803D 22150D11>cmp byte ptr , 0AA ;下面有四个这样的不
跳,基本设置里灰铵钮变亮
110C19A4 .75 49 jnz short 110C19EF ;不让跳,NOP
110C19A6 .66:833D 44170>cmp word ptr , 0FFFF ;又是和0FFF比
110C19AE .75 3F jnz short 110C19EF ;110D1744是0FFFF就不跳 ,前面已经改过0FFFF
110C19B0 .8B06 mov eax, dword ptr
110C19B2 .56 push esi
改完四处这样的地方,基本配置里的灰色就去掉了。
------
由于限制太多,就不一一说了,
总结个方法,多数情况下都是cmp word ptr , 0FFFF那么我们找到他所有的这一句看看都下
上断慢慢改。这样可以在这一行上右键查找参考---地址常量,有好多这种0FFFF。
模块和函数保存的地方
110C3DE0 C605 27150D11>cmp byte ptr , 0AA
110C4489 C605 28150D11>cmp byte ptr , 0AA
改为MOV
就这地方不好找。
www.52pojie.cn
CHHSun
2010.05.07 谢谢分享!下载来试试:)eee :rggrg高深莫测,看不懂 只能膜拜了。。 - - 注册码的保存文件真是....竟然是图片格式... 谢谢分享!下载来试试 新手 啥也看不动··这啥!!!!! 看不懂是什么东西 哈哈
页:
[1]