通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 网络攻防 >> 文章正文
IP-Tools中的密码学算法详细分析
责任编辑:酷酷の鱼   更新日期:2008-1-18
 

软件介绍:
    集成了许多TCP/IP实用工具于一体,比如本地信息、连接信息、端口扫描、PING、TRACE、WHOIS、
    FINGER、NSLOOKUP、Telnet客户端、NETBIOS信息、IP监视器等等

IP-Tools的功能确实非常强大,ks-soft公司的客户包括Adobe Systems Incorporated,Intel Corporation,IBM Corporation
等大公司,不知道是否这些公司也用IP-Tools,刚拿到这个软件的时候没想到它的算法会很复杂
随着分析的不断深入才发现自己对它用的算法却似乎没有见到过,这个算法具有良好的雪崩效应,以及扩散
和混乱,有一个单向陷门函数, 同时又具有一个密钥对,一个是加密密钥,另一个是解密密钥
它和RSA的大数运算很相似,注册码为640位,我想这种单向函数应该称为非对称算法的
单向函数,也就是说是公钥密码学和单向函数的混合加密.如果这个算法是作者自己设计和实现的,那么
我想他有一定的密码学知识,其注册码的验证很像中途攻击,有点碰撞的意思
呵呵,说多啦,开始我们的算法分析之旅吧
     
                             eXt |Cnbragon(Radio):Go go go !
----------------------------------------------------------------------------------------
PeID查看,无壳,Borland Delphi 4.0 - 5.0,Kanal 插件分析知有Base64,但可惜的是它并没有用在注册
算法当中,如果是Base64,那将会是件很容易的事,可事实并非如此,它只用在最后把用户名和注册码加密
后放入注册表中,这不是我们要研究的重点,不过你可以看看
这里:
HKCU\Software\KS-Soft\IP-Tools\UserName  
HKCU\Software\KS-Soft\IP-Tools\UserSNum
还有这里:
Software\Microsoft\Windows\CurrentVersion\Devices\00102
"DATA5"="..."
"DATA6"="..."
程序在启动的时候会有自校验.当然会从上面的这个地方读出注册码再验证一遍

为了对付它,我动用了DeDe,IDA和Ollydbg (Desert Eagle,AK47/B43,AWP),当然Ollydbg是主武器(我是我们
队的sniper嘛,有空切磋切磋哦).通过DeDe的分析,可以很容易的断在注册处理的地方,如下
----------------------------------------------------------------------------------------
00509FF0 <>|.  E8 E3C0F2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
00509FF5   |.  8B45 F8            mov eax,dword ptr ss:[ebp-8]
00509FF8   |.  8D55 FC            lea edx,dword ptr ss:[ebp-4]
00509FFB <>|.  E8 88F4EFFF        call <IP_TOOLS.sub_409488>                    ;  ->sysutils.Trim(AnsiString):AnsiString;
0050A000   |.  8B55 FC            mov edx,dword ptr ss:[ebp-4]
0050A003   |.  8BC7               mov eax,edi
0050A005 <>|.  E8 FEC0F2FF        call <IP_TOOLS.sub_436108>                    ;  ->controls.TControl.SetText(TControl;TCaption);
0050A00A   |.  8D55 F0            lea edx,dword ptr ss:[ebp-10]
0050A00D   |.  8B06               mov eax,dword ptr ds:[esi]
0050A00F <>|.  8BB8 E8020000      mov edi,dword ptr ds:[eax+2E8]                ;  *RxGIFAnimator1:TRxGIFAnimator
0050A015   |.  8BC7               mov eax,edi
0050A017 <>|.  E8 BCC0F2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
0050A01C   |.  8B45 F0            mov eax,dword ptr ss:[ebp-10]
0050A01F   |.  8D55 F4            lea edx,dword ptr ss:[ebp-C]
0050A022 <>|.  E8 61F4EFFF        call <IP_TOOLS.sub_409488>                    ;  ->sysutils.Trim(AnsiString):AnsiString;
0050A027   |.  8B55 F4            mov edx,dword ptr ss:[ebp-C]
0050A02A   |.  8BC7               mov eax,edi
0050A02C <>|.  E8 D7C0F2FF        call <IP_TOOLS.sub_436108>                    ;  ->controls.TControl.SetText(TControl;TCaption);
0050A031   |.  8D55 EC            lea edx,dword ptr ss:[ebp-14]
0050A034   |.  8B06               mov eax,dword ptr ds:[esi]
0050A036 <>|.  8B80 E4020000      mov eax,dword ptr ds:[eax+2E4]                ;  *Label1:TLabel
0050A03C <>|.  E8 97C0F2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
0050A041   |.  8B45 EC            mov eax,dword ptr ss:[ebp-14]
0050A044   |.  E8 E7A4FCFF        call <IP_TOOLS.sub_4D4530>
0050A049   |.  84C0               test al,al
0050A04B   |.  74 3C              je short <IP_TOOLS.loc_50A089>
0050A04D   |.  68 E4A25000        push <IP_TOOLS.aSorryYourRegis>               ;  ASCII "Sorry, your registration name ("
0050A052   |.  8D55 E4            lea edx,dword ptr ss:[ebp-1C]
0050A055   |.  8B06               mov eax,dword ptr ds:[esi]
0050A057 <>|.  8B80 E4020000      mov eax,dword ptr ds:[eax+2E4]                ;  *Label1:TLabel
0050A05D <>|.  E8 76C0F2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
0050A062   |.  FF75 E4            push dword ptr ss:[ebp-1C]
0050A065   |.  68 0CA35000        push <IP_TOOLS.aIsFoundOnTheBl>               ;  ASCII ") is found on the "Black List".

"
0050A06A   |.  68 38A35000        push <IP_TOOLS.aIfYouHaveAnyQu>               ;  ASCII "If you have any questions, please, contact KS-Soft: line1@ks-soft.net[/email]; [email]line2@ks-soft.net"
0050A06F   |.  8D45 E8            lea eax,dword ptr ss:[ebp-18]
0050A072   |.  BA 04000000        mov edx,4                                     ;  上面是得到用户名并检查是否在黑名单中,黑名单N多:D
0050A077 <>|.  E8 28A2EFFF        call <IP_TOOLS.sub_4042A4>                    ;  ->system.@LStrCatN;
0050A07C   |.  8B45 E8            mov eax,dword ptr ss:[ebp-18]
0050A07F <>|.  E8 E448F5FF        call <IP_TOOLS.sub_45E968>                    ;  ->dialogs.ShowMessage(AnsiString);
0050A084   |.  E9 EF010000        jmp <IP_TOOLS.loc_50A278>
0050A089 <>|>  8D55 E0            lea edx,dword ptr ss:[ebp-20]                 ;  loc_50A089
0050A08C   |.  8B06               mov eax,dword ptr ds:[esi]
0050A08E <>|.  8B80 E4020000      mov eax,dword ptr ds:[eax+2E4]                ;  *Label1:TLabel
0050A094 <>|.  E8 3FC0F2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
0050A099   |.  837D E0 00         cmp dword ptr ss:[ebp-20],0
0050A09D   |.  0F84 CB010000      je <IP_TOOLS.loc_50A26E>
0050A0A3   |.  8D55 DC            lea edx,dword ptr ss:[ebp-24]
0050A0A6   |.  8B06               mov eax,dword ptr ds:[esi]
0050A0A8 <>|.  8B80 E8020000      mov eax,dword ptr ds:[eax+2E8]                ;  *RxGIFAnimator1:TRxGIFAnimator
0050A0AE <>|.  E8 25C0F2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
0050A0B3   |.  837D DC 00         cmp dword ptr ss:[ebp-24],0
0050A0B7   |.  0F84 B1010000      je <IP_TOOLS.loc_50A26E>
0050A0BD   |.  8D55 D8            lea edx,dword ptr ss:[ebp-28]
0050A0C0   |.  8B06               mov eax,dword ptr ds:[esi]
0050A0C2 <>|.  8B80 E4020000      mov eax,dword ptr ds:[eax+2E4]                ;  *Label1:TLabel
0050A0C8 <>|.  E8 0BC0F2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
0050A0CD   |.  8B45 D8            mov eax,dword ptr ss:[ebp-28]
0050A0D0 <>|.  E8 67C0FEFF        call <IP_TOOLS.sub_4F613C>                    ;  ->:TDebugForm._PROC_004F613C()
0050A0D5   |.  8BF8               mov edi,eax                                   ;  上面这个call是对用户名进行加密处理
0050A0D7   |.  8D55 D4            lea edx,dword ptr ss:[ebp-2C]
0050A0DA   |.  8B06               mov eax,dword ptr ds:[esi]
0050A0DC <>|.  8B80 E8020000      mov eax,dword ptr ds:[eax+2E8]                ;  *RxGIFAnimator1:TRxGIFAnimator
0050A0E2 <>|.  E8 F1BFF2FF        call <IP_TOOLS.sub_4360D8>                    ;  ->controls.TControl.GetText(TControl):TCaption;
0050A0E7   |.  8B45 D4            mov eax,dword ptr ss:[ebp-2C]
0050A0EA <>|.  E8 E9C0FEFF        call <IP_TOOLS.sub_4F61D8>                    ;  ->:TDebugForm._PROC_004F61D8()
0050A0EF   |.  66:3BF8            cmp di,ax                                     ;  上面这个call是对注册码进行解密处理
0050A0F2   |.  0F85 76010000      jnz <IP_TOOLS.loc_50A26E>
0050A0F8   |.  A1 9CA95400        mov eax,dword ptr ds:[54A99C]
0050A0FD   |.  BA FF010000        mov edx,1FF
0050A102   |.  E8 19C0FEFF        call <IP_TOOLS.HashToInt>                     ;得到的640位大数进行处理,这个是用户名的
0050A107   |.  8BF8               mov edi,eax
0050A109   |.  A1 20A85400        mov eax,dword ptr ds:[54A820]
0050A10E   |.  BA FF010000        mov edx,1FF
0050A113   |.  E8 08C0FEFF        call <IP_TOOLS.HashToInt>                     ;得到的640位大数进行处理,这个是注册码的
0050A118   |.  3BF8               cmp edi,eax                                   ;结果相同吗?不同就出错,相同就继续检验

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月18日发布 每日计算机病毒及木马播报
    普通文章 07年病毒高速出新“工业化”入侵特征明显
    普通文章 病毒制造门槛低 互相模仿导致泛滥
    普通文章 我国IP地址数已达到1.35亿个 但缺口仍然很大
    普通文章 关于URL解析漏洞在PDF文档中的利用
    推荐文章 推荐:对网软网上购物系统的一点点分析
    普通文章 自己动手编写简单远程控制
    普通文章 IP-Tools中的密码学算法详细分析
    普通文章 **CHM 3.50 注册流程及算法分析(续)
    热门文章
    普通文章windows下利用OpenVPN搭建VPN服务器
    普通文章验证码 kaptcha 杂谈
    普通文章计算机病毒鼻祖里奇拟挑战谷歌
    普通文章利用漏洞传播 内嵌在网页中的木马病毒
    普通文章2007年病毒感染3000余万台电脑
    普通文章假低价信息吸引买主 盗号程序10秒内划走银行卡存款
    普通文章捷克黑客入侵电视节目遭指控
    普通文章美国男子用垃圾邮件操纵中国公司股价被起诉
    普通文章White_Dune 存在本地缓冲区溢出及格式串处理漏洞
    普通文章Trolltech Qt QSslSocket类证书验证绕过安全限制漏洞
    精彩专题