首 页文章中心黑客软件黑客动画绿色软件私服技术私服下载本站论坛
您当前的位置:黑客之家文章中心脱壳破解基础知识 → 文章内容 退出登录 用户管理
本类热门文章
相关文章
站内广告
破解中的软件注册重启验证分析(图)
作者:佚名  来源:不详  发布时间:2008-4-30 2:43:54

减小字体 增大字体

企业资料保密专家是一款专门针对移动硬盘(或U盘)文件夹加密的软件,采用了独到安全的加密算法。其主要功能有快速移动加密,可以把文件夹里的所有资料进行加密处理;强度压缩加密,是作者自创的强度加密算法,对一个文件夹设置密码,并压缩加密生成一个EXE可执行文件;硬盘加密和系统安全设置,可以对硬盘进行锁定保护,加上系统安全的相关设置,为电脑提供了双保险。

  重启验证

  软件没有加壳,使用“Borland Delphi 6.0-7.0”编写,但继续用Kanal扫描了一下,结果如图1所示,实在是吓了我一身冷汗,为什么呢?

                                       

  软件竟然使用了CRC32、MD5等算法,不吓死人才怪呢!不过软件注册验证都使用了这些算法吗?在后来的实战中知道,答案是否定的,否则本文就继续不下去了,嘻嘻!运行程序,试着注册看看是否有什么注册失败之类的文字。这里先说一下如何找到软件的注册框。运行后,直接点“高级设置”,就会看到一个登录框,输入123就可以进去了,进去后再点“注册与卸载”,注册框就出来了,随便输入一通,得到如图2所示的结果。

                                                

  “注册码已经登记,请重新启动你的电脑看是否注册成功”,汗!启不启动都明显是不可能成功的嘛,所以就不启动了!没有错误提示,此时我们一般优先考虑使用API断点来解决了,但对付Delphi的程序还有一个利器,就是 DeDe3.50.04 Fix超强版,用DeDe载入看看,结果如图3所示。

                         

  很明显看到“u_zhuce”,跟着看看右边的分析,很让人失望,试了很多次都没把关键点分析出来,可能是我水平太低了,所以这条路是行不通了,于是我就想用OD载入静态分析来看看。

  破前分析

  使用OD载入目标程序,再使用老罗的大牛插件搜索,可以看到很多中文和英文字符串,经过漫长的静态分析,有几个字符令我眼前一亮,如图4所示。在其中可以看到“yes”下面跟着一行“zhuce”,再下面又有两行“nozhuce”,于是我在图4高亮显示那里双击,来到了下面的代码处。

                                           

004E123B  B9 60164E00  mov ecx,企业资料.004E1660

;\syssn.dll

004E1240  8B55 FC  mov edx,dword ptr ss:[ebp-4]

004E1243  E8 5C3AF2FF  call 企业资料.00404CA4

004E1248  8B85 0CFEFFFF  mov eax,dword ptr ss:[ebp-1F4]

004E124E  E8 FD3BF2FF  call 企业资料.00404E50

004E1253  50     push eax

004E1254  E8 C760F2FF  call <jmp.&kernel32.SetFileAttributesA>

004E1259  8D95 08FEFFFF  lea edx,dword ptr ss:[ebp-1F8]

004E125F  8B45 F8  mov eax,dword ptr ss:[ebp-8]

004E1262  E8 817EF2FF  call 企业资料.004090E8

004E1267  8B85 08FEFFFF  mov eax,dword ptr ss:[ebp-1F8]

004E126D  50      push eax

004E126E  8D95 00FEFFFF  lea edx,dword ptr ss:[ebp-200]

004E1274  8BC3    mov eax,ebx

004E1276  E8 F10A0000  call 企业资料.004E1D6C

;算法call

004E127B  8B85 00FEFFFF  mov eax,dword ptr ss:[ebp-200]

004E1281  8D95 04FEFFFF  lea edx,dword ptr ss:[ebp-1FC]

004E1287  E8 5C7EF2FF  call 企业资料.004090E8

004E128C  8B95 04FEFFFF mov edx,dword ptr ss:[ebp-1FC]

004E1292  58    pop eax

004E1293  E8 043BF2FF  call 企业资料.00404D9C

;经典比较call

004E1298  75 46   jnz short 企业资料.004E12E0

;关键跳转

004E129A  8BC6   mov eax,esi

004E129C  BA 74164E00  mov edx,企业资料.004E1674

;yes

004E12A1  E8 4E37F2FF  call 企业资料.004049F4

004E12A6  B8 489E4E00   mov eax,企业资料.004E9E48

004E12AB  BA 80164E00  mov edx,企业资料.004E1680

;zhuce

004E12B0  E8 3F37F2FF   call 企业资料.004049F4

004E12B5  6A 06     push 6

004E12B7  8D85 FCFDFFFF  lea eax,dword ptr ss:[ebp-204]

004E12BD  B9 60164E00  mov ecx,企业资料.004E1660

;\syssn.dll

004E12C2  8B55 FC   mov edx,dword ptr ss:[ebp-4]

  从上面的代码很容易分析出004E1276就是算法Call。到了004E1293的时候,可以发现真假注册码的比较,再下面一个则是关键跳转,很明显这里就是注册验证的核心了。我们进到算法Call里看看有什么神秘的东西。

  算法过程

  进去后,我们可以看见下面的代码

004E1D9C  50    push eax

004E1D9D  8D55 F4   lea edx,dword ptr ss:[ebp-C]

004E1DA0  8BC3   mov eax,ebx

004E1DA2  E8 69010000   call 企业资料.004E1F10

;机器码算法

004E1DA7  8B55 F4  mov edx,dword ptr ss:[ebp-C]

;机器码

004E1DAA  66:B9 D600  mov cx,0D6

;cx=0D6

004E1DAE  8BC3  mov eax,ebx

004E1DB0  E8 BBFEFFFF  call 企业资料.004E1C70

;算法call

004E1DB5  8B45 FC  mov eax,dword ptr ss:[ebp-4]

004E1DB8  8B55 F8  mov edx,dword ptr ss:[ebp-8]

004E1DBB  E8 342CF2FF  call 企业资料.004049F4

上一页 1 2 3 4 下一页

[] [返回上一页] [打 印]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 文章投稿 - 软件发布 - 购物资讯网 - _