接触vc两年了,我的window应用一直没穿过衣服。最近上网一查,Skinmagic可为MFC穿上了漂亮的衣服,这令我非常激动。然而官网上只发布了试用版本,其特点是在加载皮肤时会出现AfxMessage()提示注册的对话框,令使用者甚是不爽。于是我上网找破解版的dll,后来发现网上有破解2.3版本的方法,就参照了2.3的破解方法破解了2.4版本。在此要感谢行业内无私奉献者,同时也有幸成为其中一员,为行业的进步出点力。破解步骤如下:
1. 下载SkinMagic试用版本。SkinMagic最新版本下载官网:www.appspeed.com。
2. 下载反汇编工具W32dsm8.93(下载到硬盘后可能被杀毒软件认为是恶意软件,可不理会之),用于查找弹出提示注册对话框的代码执行位置。具体操作如下:
1) 打开W32dsm8.93界面,用Disassembler菜单的Open File to disassembl,代码被加载到分析窗口上。
2) 将待破解的dll 打开,再用Refs菜单下的String Data Reference打开W32Dasm List of String Data Items对话框,找到列表框中的”This application uses trial version”,双击之。
3) 在分析窗口上可以看到有4个连续的push语句,有两段相同这样push语句块,第1个push语句就是弹出AfxMessageBox()的入口地址,第2个push语句块的结尾是AfxMessageBox()的结尾地址,记住这两个值,2.4版本的skinmagic此值是0006622和000664f,将这两个地址值之间(包括此两地址)的代码删除即可。
3. 使用UltraEdit或其他代码编辑工具删除步骤2找到的代码段。用UE打开待破解的dll(之前须关闭W32dsm8.93,否则修改不成功),Ctrl+G输入上步骤找到的第1个入口的地址, 2.4版本skinmagic的是0x0006622,从此值开始用90(汇编中NOP指令)填到上步骤找到的结束地址,2.4版本的skinmagic为000664f。
4. 保存dll文件,运行VC程序,AfxMessageBox()不见啦!