首页
社区
课程
招聘
[原创]菜鸟文章,换个思维搞破解
发表于: 2010-9-27 10:29 6574

[原创]菜鸟文章,换个思维搞破解

2010-9-27 10:29
6574

【文章标题】: 菜鸟文章,换个思维搞破解
【文章作者】: 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


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (8)
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看过
楼主加油啦
顶起
留名
2010-9-27 15:18
0
雪    币: 362
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
帮你顶一下...
2010-9-27 19:02
0
雪    币: 68
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持一下,, 加油 LZ
2010-10-9 22:45
0
雪    币: 31
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我也来支持一下。
2010-10-10 11:09
0
雪    币: 7
活跃值: (31)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
不是你换了思路...而是你一开始就走了弯路 - -  判断怎么可能在服务器上....那个只能返回参数 - - 除非你客户端需要参数...
2010-10-23 18:08
0
雪    币: 7
活跃值: (31)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
引用:采用OD载入服务端程序,查找参考字串,没有任何提示,由于我技术有限,跟踪查找几天都没结果。

这个 肯定没有的啦- - 他只需要一堆16进制数据就差不多了吧- -
2010-10-23 18:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不错,至少ok了
2010-12-8 11:14
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
太厉害了...支持楼主
2010-12-16 11:01
0
游客
登录 | 注册 方可回帖
返回
//