【文章标题】: Skin++ 3.0 For Delphi破解分析
【文章作者】: StudyCrack
【作者邮箱】: leiyihui@163.com
【作者QQ号】: 52977150
【软件名称】: Skin++ 3.0 For Delph
【下载地址】: 自己搜索下载
【使用工具】: OD
【操作平台】: Winxp SP3
【软件介绍】: Delphi 皮肤工具
【作者声明】: 只为技术探讨,没有其他目的。如涉及软件版权问题,概与本人无关--------------------------------------------------------------------------------
【详细过程】
首先我们新建一个delphi工程,编译成工程,先用系统的皮肤文件PixOS.ssk,
一运行程序,程序将会弹出NAG,提示我们要注册。
我们先用OD载入编译好的程序,然后下断sppLoadSkin(这是控件加载的函数)
下断后,我们F7进,再F8一次就进入SkinPPBorland.dll里了,
100011C0 >/$ 6A FF push -1
100011C2 |. 68 4EF20610 push 1006F24E ; SE 处理程序安装
100011C7 |. 64:A1 0000000>mov eax, dword ptr fs:[0]
100011CD |. 50 push eax
100011CE |. 64:8925 00000>mov dword ptr fs:[0], esp
100011D5 |. 51 push ecx
100011D6 |. 53 push ebx
100011D7 |. 57 push edi
100011D8 |. 8B7C24 1C mov edi, dword ptr [esp+1C]
100011DC |. 8D4C24 1C lea ecx, dword ptr [esp+1C]
100011E0 |. 57 push edi
100011E1 |. E8 5AD70600 call <jmp.&MFC42.#537_CString::CString>
100011E6 |. 33DB xor ebx, ebx
100011E8 |. 68 9CF10810 push 1008F19C ; pixos
100011ED |. 8D4C24 20 lea ecx, dword ptr [esp+20]
100011F1 |. 895C24 18 mov dword ptr [esp+18], ebx
100011F5 |. E8 52D70600 call <jmp.&MFC42.#2764_CString::Find>
100011FA |. 83F8 FF cmp eax, -1
100011FD 75 48 jnz short 10001247
100011FF |. 68 94F10810 push 1008F194 ; ferix
10001204 |. 8D4C24 20 lea ecx, dword ptr [esp+20]
10001208 |. E8 3FD70600 call <jmp.&MFC42.#2764_CString::Find>
1000120D |. 83F8 FF cmp eax, -1
10001210 |. 75 35 jnz short 10001247
10001212 |. 68 88F10810 push 1008F188 ; mediaplayer
10001217 |. 8D4C24 20 lea ecx, dword ptr [esp+20]
1000121B |. E8 2CD70600 call <jmp.&MFC42.#2764_CString::Find>
10001220 |. 83F8 FF cmp eax, -1
10001223 |. 75 22 jnz short 10001247
第一个问题:如果插件没有注册的话,它只能使用默认的pixos,ferix,mediaplayer三种皮肤(其实只是对文件名的限制,
你也可以加载别的皮肤,然后改成上面的三个文件名,同样可以用。
爆破点1:
100011FA |. 83F8 FF cmp eax, -1 上面是测试是否为pixor皮肤,如果是则换肤处理,否则进行下面两个文件
名的处理,如果是默认的三种皮肤则处理,否则就不予以处理。
100011FD 75 48 jnz short 10001247 我们把这里改成jmp 10001247就没有文件名限制了。
好的,我们继续F8走,看是哪个CALL出现NAG,然后我们把它NOP掉
1000133A |. /EB 0C jmp short 10001348
1000133C |> |8B0D 94350910 mov ecx, dword ptr [10093594]
10001342 |. |8999 14010000 mov dword ptr [ecx+114], ebx
10001348 |> /E8 D3930000 call 1000A720
1000134D E8 8EFDFFFF call 100010E0
10001352 |. 8D4C24 1C lea ecx, dword ptr [esp+1C]
10001356 |. C74424 14 FFF>mov dword ptr [esp+14], -1
1000135E |. E8 D7D50600 call <jmp.&MFC42.#800_CString::~CString>
10001363 |. 8B4C24 0C mov ecx, dword ptr [esp+C]
1000134D E8 8EFDFFFF call 100010E0 程序是这里弹出NAG窗口,要求我们注册,我们直接把它NOP掉
最后,我们保存修改,呵呵,已经没有限制了,
呵呵!
--------------------------------------------------------------------------------
【版权声明】: 本文原创于StudyCrack, 转载请注明作者并保持文章的完整, 谢谢!
2008年06月19日 13:26:17