Batch Image Resizer V2.88 追码、爆破
【文章标题】:Batch Image Resizer V2.88 追码、爆破【文章作者】: geekcat【作者邮箱】: [email protected]
【作者主页】:
【软件名称】: Batch Image Resizer V2.88
【软件大小】: 739 KB (756,748 字节)
【加壳方式】: 无
【保护方式】: 注册码
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: OD、PEID
【操作平台】: XP SP3【下载地址】:http://www.onlinedown.net/softdown/29844_2.htm【破解声明】:破解在于交流思路和过程,结果并不重要,请不要用于非法用途;
【软件介绍】: 批量修改大小,旋转,转换图像的工具,支持的格式有:JPEG, BMP, GIF, PCX, PNG。新版本允许你在编辑GIJ动画文件前查看它。【破解声明】:PYG第九轮作业九--------------------------------------------------------------------------------------------------------------------------------【破解过程】
1、OD加载程序,运行输入注册信息提示“Thanks for registration! Please restart Batch Image Resizer.” 软件的主窗口上和关于里都有有“Trial Version”这样的字符串;2、搜索字符串,看到“Trial Version”、“Full Version”,双击来到汇编窗口,来到段首下断F9运行、断下F8向下走:代码:
00402B98 8B85 C8000000 mov eax,dword ptr ss:00402B9E .85C0 test eax,eax00402BA0 74 43 je short BatchIma.00402BE5 ;爆破这,启动时注册框没有了,软件主窗口试用版也变成了全功能版,但关于你显示的还是试用版 je 00402BA200402BA2 .68 24134200 push BatchIma.00421324 ;(Full Version)00402BA7 .8D4C24 1C lea ecx,dword ptr ss:………………………………………………………………………………………………………省略去中间N多代码00402BE0 .E9 9C000000 jmp BatchIma.00402C8100402BE5 >68 14134200 push BatchIma.00421314 ;(Trial Version)00402BEA .8D4C24 1C lea ecx,dword ptr ss:
3、不是完美爆破这样肯定不行,于换个地方下手吧!软件有请提示请重启软件,这肯重启验证的了;开始查看注册信息保存在什么地方;4、在注册表里找到之前输入的注册信息,于是下注册表断点”RegQueryValueExA“F9跑起来,当在堆栈窗口出现以下信息返回程序领空;
0012E0E8 73DCA3D4/CALL 到 RegQueryValueExA 来自 mfc42.73DCA3D20012E0EC 000000BC|hKey = 0xBC0012E0F0 004213C8|ValueName = "Registration Code"0012E0F4 00000000|Reserved = NULL0012E0F8 0012E118|pValueType = 0012E1180012E0FC 003E40C0|Buffer = 003E40C00012E100 0012E110\pBufSize = 0012E1100012E104 0012F296ASCII "atchImageResizer.exe"
5、来到程序领空F8向下走;代码:
00405E8C|.52 push edx00405E8D|.E8 58080100 call <jmp.&MFC42.#535>00405E92|.8D4424 1C lea eax,dword ptr ss:00405E96|.8BCE mov ecx,esi00405E98|.50 push eax00405E99|.E8 82000000 call BatchIma.00405F2000405E9E|.8B7424 14 mov esi,dword ptr ss: ; 爆破点: 修改为 或jmp short 00405ED3 假码:(ASCII "1234567890abcdefghijk")00405EA2|.8B4424 18 mov eax,dword ptr ss: ;爆破点: 修改为 或jmp short 00405ED3 真码: (ASCII "L5Y9KYRG7YCKF2U7") 在信息窗口出现真码00405EA6|>8A10 /mov dl,byte ptr ds:00405EA8|.8ACA |mov cl,dl00405EAA|.3A16 |cmp dl,byte ptr ds:00405EAC|.75 1C |jnz short BatchIma.00405ECA ;这个循环是对比真假码的每一位,出现不等时就退出循环00405EAE|.3ACB |cmp cl,bl00405EB0|.74 14 |je short BatchIma.00405EC600405EB2|.8A50 01 |mov dl,byte ptr ds:00405EB5|.8ACA |mov cl,dl00405EB7|.3A56 01 |cmp dl,byte ptr ds:00405EBA|.75 0E |jnz short BatchIma.00405ECA00405EBC|.83C0 02 |add eax,0x200405EBF|.83C6 02 |add esi,0x200405EC2|.3ACB |cmp cl,bl00405EC4|.^ 75 E0 \jnz short BatchIma.00405EA600405EC6|>33C0 xor eax,eax00405EC8|.EB 05 jmp short BatchIma.00405ECF00405ECA|>1BC0 sbb eax,eax00405ECC|.83D8 FF sbb eax,-0x100405ECF|>3BC3 cmp eax,ebx00405ED1|.75 0C jnz short BatchIma.00405EDF ;爆破点:修改为 jnz00405ED300405ED3|.C785 C8000000>mov dword ptr ss:,0x1 ;全部变量ebp+0xC800405EDD|.EB 06 jmp short BatchIma.00405EE500405EDF|>899D C8000000 mov dword ptr ss:,ebx00405EE5|>8D4C24 18 lea ecx,dword ptr ss:
注册名:[email protected]注册码:L5Y9KYRG7YCKF2U7
----------------------------------------------------------------------------------------------------------------------------【破解总结】:1、字符串没加密,容易切入注册验证流程中;2、注册信息明文保存,要改进;3、注册码明文出现寄存器里,这点要改进应该加密;4、真假两个注册码对比时,直接修改成真码跟真对比或假码跟假码对比,之前N大在有一课时也这样说了;5、直接修改跳过真假对比跳到全局变理处,去验证代码!----------------------------------------------------------------------------------------------------------------------------【版权声明】:本文原创于geekcat,转载请注明作者并保存文章的完整!
页:
[1]