-
-
[原创]菜鸟文章,换个思维搞破解
-
发表于:
2010-9-27 10:29
6575
-
【文章标题】: 菜鸟文章,换个思维搞破解
【文章作者】: linglin
【作者邮箱】: linglin365@gmail.com
【作者主页】: www.linglin.org
【作者QQ号】: 77726911
【软件名称】: 区县联网审计
【软件大小】: 100MB
【下载地址】: 自己搜索下载
【加壳方式】: 没加壳
【保护方式】: 注册码
【编写语言】: dephi
【操作平台】: Windows
【软件介绍】: 审计行业软件软件
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
先介绍下这个软件,此软件是一个行业软件,用来审计采集数据的的,基于C/S结构,服务器和机器码绑定,通过机器码向上级机关领取注册码。
由于我们公司要运维这个软件,但是又没有练习的环境,我以前也会点点破解,所以这个任务就被我领下来了。
先在机关的正式环境上查看,服务器注册后,会在安装目录下生成一个REGISTRATION_AUDITOFFICE.DAT文件,用记事本可以打开,里面是保存的
我们输入的注册码。
在我们的测试环境中打开激活器,随便输入都提示保存成功,然后查看REGISTRATION_AUDITOFFICE.DAT文件,里面也是保存的我们输入的注册码
启动服务端,不管你注册玛正确与否都能正常启动,并且不报任何提示。然后用客户机连接,则提示连接丢失。如果注册成功,则能正常使用。
了解了这些信息,马上开OD,然后附加服务器进程,然后再用客户机连接,则无论如何也不能连接上,计算机假死,看来不能动态跟踪,于是只能
采用OD载入服务端程序,查找参考字串,没有任何提示,由于我技术有限,跟踪查找几天都没结果。
后来记得那天是一个炎热的下午,我买了加解密三,在看的时候突然一想,客户机为什么知道我注册码不对?那么应该是客户机应该也有个检测过程
,服务器不好弄。我试下客户机呢,马上开干,用OD载入,查找参考字串:“服务器程序注册文件中产品授权码错误”然后双击,来到如下程序段
005C13A4 . 83E8 FE sub eax,-2 ; Switch (cases FFFFFFFE..FFFFFFFF)
005C13A7 . 74 1F je short AuditOff.005C13C8
005C13A9 . 48 dec eax
005C13AA . 75 38 jnz short AuditOff.005C13E4
005C13AC . B9 64000000 mov ecx,64 ; Case FFFFFFFF of switch 005C13A4
005C13B1 . BA 88145C00 mov edx,AuditOff.005C1488 ; 服务器程序没有注册文件或注册文件格式错误!
005C13B6 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
005C13B9 . E8 DAF0FFFF call AuditOff.005C0498
005C13BE . 33C0 xor eax,eax
005C13C0 . 5A pop edx
005C13C1 . 59 pop ecx
005C13C2 . 59 pop ecx
005C13C3 . 64:8910 mov dword ptr fs:[eax],edx
005C13C6 . EB 60 jmp short AuditOff.005C1428
005C13C8 > B9 64000000 mov ecx,64 ; Case FFFFFFFE of switch 005C13A4
005C13CD . BA BC145C00 mov edx,AuditOff.005C14BC ; 服务器程序注册文件中产品授权码错误!
005C13D2 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
005C13D5 . E8 BEF0FFFF call AuditOff.005C0498
005C13DA . 33C0 xor eax,eax
005C13DC . 5A pop edx
005C13DD . 59 pop ecx
005C13DE . 59 pop ecx
005C13DF . 64:8910 mov dword ptr fs:[eax],edx
005C13E2 . EB 60 jmp short AuditOff.005C1428
005C13E4 > 8B45 FC mov eax,dword ptr ss:[ebp-4] ; Default case of switch 005C13A4
005C13E7 . E8 DCFAFFFF call AuditOff.005C0EC8
005C13EC . B9 C8000000 mov ecx,0C8
005C13F1 . BA EC145C00 mov edx,AuditOff.005C14EC ; 已连接到应用服务器
005C13F6 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
005C13F9 . E8 9AF0FFFF call AuditOff.005C0498
005C13FE . C645 FB 01 mov byte ptr ss:[ebp-5],1
005C1402 . 33C0 xor eax,eax
005C1404 . 5A pop edx
005C1405 . 59 pop ecx
005C1406 . 59 pop ecx
005C1407 . 64:8910 mov dword ptr fs:[eax],edx
005C140A . EB 1C jmp short AuditOff.005C1428
005C140C .^ E9 2F26E4FF jmp AuditOff.00403A40
005C1411 . B9 64000000 mov ecx,64
005C1416 . BA 08155C00 mov edx,AuditOff.005C1508 ; 连接应用服务器失败!
005C141B . 8B45 FC mov eax,dword ptr ss:[ebp-4]
005C141E . E8 75F0FFFF call AuditOff.005C0498
005C1423 . E8 442AE4FF call AuditOff.00403E6C
005C1428 > 33C0 xor eax,eax
005C142A . 5A pop edx
005C142B . 59 pop ecx
005C142C . 59 pop ecx
005C142D . 64:8910 mov dword ptr fs:[eax],edx
005C1430 . 68 4B145C00 push AuditOff.005C144B
005C1435 > 8D45 F4 lea eax,dword ptr ss:[ebp-C]
005C1438 . 8B15 80C44900 mov edx,dword ptr ds:[49C480] ; AuditOff.0049C484
005C143E . E8 CD3CE4FF call AuditOff.00405110
005C1443 . C3 retn
通过分析,代码中的005C13E2 . EB 60 jmp short AuditOff.005C1428为跳转到错误,将这句NOP掉,保存,再启动程序则可以饶过。
至此,破解完成,很菜的文章。
--------------------------------------------------------------------------------
【经验总结】
这篇文章很菜,我发表出来,是主要给像我一样的菜鸟一个提示和思路,有些时候换种思维,也许问题解决的更快。
另外不知道能否申请精华?
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2010年09月27日 10:27:52
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课