本类共有 70 篇文章,今日更新 0

unix软件ncftpd 2.7.1之破解

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-18 18:31:14 | 浏览: 人次 ]


破解之前,介绍一下ncftpd是unix类(如linux,freebsd,solaris,sco等)下的一个ftp服务器软件。该软件以安全性高,重负载特性好而著称。其对教育用户免费,对商业用户收取$99~199美元不等,对试用用户则有连接数限制。好,我们开始!  

第一步:安装ida pro 4.17 for windows。  
        过程略。(当然如果你精通unix,会用unix下的dasm脚本,就不必了)  

第二步:下载ncftpd。 from http://www.ncftp.com  
        过程略。(有很多unix版本,各取所需。就是没有windows版本。)  

第三步:用winzip解包(同样如果你会用unix的话请用 tar -zxvf XXXXXX命令解包。)  
        以ncftpd-2.7.1-freebsd4.4-i386-export.tar.gz为例。  
        第一次解除压缩得到ncftpd-2.7.1-freebsd4.4-i386-export.tar  
        第二次解除tar,得到原始文件。  
        从中提出ncftpd文件。  

第三步:反汇编ncftpd。  
        打开ida,选择目标文件ncftpd,以elf文件格式和自己计算机相对应的cpu进行反汇编。  

第四步:哈哈,写不下去了^_^。因为要用到unix了 :)。如果大家有用过ncftpd就知道如果没有licence,在登    陆ncftpd的时候会出现“unregistered copy”的提示信息。哼哼,很眼熟吧。熟悉windows破解的大    侠可能已经知道该怎么做了。对,在ida中搜索“unregistered copy”字符串。我们来到下面:  
       


以下代码,请从下往上看:  



.text:0804C090  
.text:0804C090 ; Attributes: bp-based frame  
.text:0804C090  
.text:0804C090 sub_0_804C090  proc near              ; CODE XREF: sub_0_804E478+A6p  
.text:0804C090  
.text:0804C090 var_18          = dword ptr -18h  
.text:0804C090  
.text:0804C090                push    ebp  
.text:0804C091                mov    ebp, esp  
.text:0804C093                sub    esp, 8  
.text:0804C096                mov    al, ds:byte_0_8098720<===>ds:byte_0_8098720应该为非0h非66h。  
.text:0804C09B                test    al, al  
.text:0804C09D                jz      loc_0_804C1A0<==========>去 " (unregistered copy)"  
.text:0804C0A3                cmp    al, 66h  
.text:0804C0A5                jz      loc_0_804C12C<==========>不感兴趣,应该是注册为其它版。  
.text:0804C0AB                cmp    ds:byte_0_80984A0, 0<====>ds:byte_0_80984A0必为0h  
.text:0804C0B2                jz      short loc_0_804C0EE<====>去 " (licensed copy)"  
.text:0804C0B4                cmp    dword_0_80833E0, 3  
.text:0804C0BB                jle    short loc_0_804C0CC  
.text:0804C0BD                mov    ds:dword_0_8097D20, 1  
.text:0804C0C7  
.text:0804C0C7 locret_0_804C0C7:                      ; CODE XREF: sub_0_804C090+99j  
.text:0804C0C7                leave  
.text:0804C0C8                retn  
.text:0804C0C8  
.text:0804C0C9                align 4  
.text:0804C0CC  
.text:0804C0CC loc_0_804C0CC:                          ; CODE XREF: sub_0_804C090+2Bj  
.text:0804C0CC                push    8085F10h  
.text:0804C0D1                push    3Eh  
.text:0804C0D3                push    1  
.text:0804C0D5                push    offset aSorryTheBanner ; "Sorry, the \"banner\" option is not avail"...  
.text:0804C0DA                call    _fwrite  
.text:0804C0DF                mov    [esp+18h+var_18], 1  
.text:0804C0E6                call    sub_0_804ECE4  
.text:0804C0EB                add    esp, 10h  
.text:0804C0EE  
.text:0804C0EE loc_0_804C0EE:        ; CODE XREF: sub_0_804C090+22j<======>不用我说了吧  
.text:0804C0EE                push    edx  
.text:0804C0EF                push    50h  
.text:0804C0F1                push    offset aNcftpdServer ; "NcFTPd Server"  
.text:0804C0F6                push    offset byte_0_80984A0  
.text:0804C0FB                call    sub_0_806E298  
.text:0804C100                add    esp, 0Ch  
.text:0804C103                push    50h  
.text:0804C105                push    offset aLicensedCopy ; " (licensed copy)"<=====>哈哈,看到正解了  
.text:0804C10A  
.text:0804C10A loc_0_804C10A:                          ; CODE XREF: sub_0_804C090+10Bj  
.text:0804C10A                                        ; sub_0_804C090+157j  
.text:0804C10A                push    offset byte_0_80984A0  
.text:0804C10F                call    sub_0_806E4E8  
.text:0804C114                add    esp, 10h  
.text:0804C117           

[1] [2] [3] [4] 下一页

广告位