工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > Delphi > 正文
对《QQ列表精灵》源代码分析和仿制
[文章信息]
作者:宋宏软件园
时间:2004-10-23
出处:csdn
责任编辑:方舟
[文章导读]
该软件是本人在2002年根据“腾讯QQ”的“oicq2000.cfg”文件的漏洞,制作的可以更改,编辑,删除登陆列表的程序
advertisement
热点推荐
· 真没想到VB也可以这样用之指针技术
· 禁止QQ登录的方法
· 给你的XML文件做个数字签名
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
[正文]
  该软件是本人在2002年根据“腾讯QQ”的“oicq2000.cfg”文件的漏洞,制作的可以更改,编辑,删除登陆列表的程序,并且可以里面的信息得到自动登陆的密码。

  发现漏洞:

  我们在一台电脑登陆过QQ之后,下次启动QQ的时候就会看到在号码列表的下拉菜单中会出现这个号码,这些号码实际上是保存在QQ安装目录的“dat\oicq2000.cfg”文件里,用记事本打开就可以看到登陆过的号码了。

  分析漏洞:

  样本:

  下面来研究“oicq2000.cfg”这个文件,用任何一个16进制的编辑器打开文件就会看到所有登陆过的号码,它的格式是这个样子的。

  例如:00 00 00 00 00 00 00 00 05 00 00 00 06 00 00 00 31 32 33 34 35 36 06 00 00 00 32 32 32 32 32 32

  第1位 表示是否有密码,如果你在登陆QQ的时候选择了“记住密码”的话,这个位就是01,否则是00

  第2位—>第8位 无内容 00 00 00 00 00 00 00

  第9位 表示这个列表文件共有几个号码,之后用三个“00”进行分隔,之后的“05”表示第一个QQ号码的位数,之后在用三个“00”进行分隔,接下来的“31 32 33 34 35 36”表示的是16进制的123456。紧接其后的是下一个号码的位数,如此循环,最后几位就是列表中最后一个QQ号码了。

  例如:(这个是带自动记录密码的列表文件的格式)

01 00 00 00 02 00 00 00 92 86 00 00 00 05 00 00 00 06 00 00 00 31 32 33 34 35 36

  假设我们的号码123456的密码是my,则它记录的格式如上。

  第1位 表示这个列表中含有密码,然后是分隔符号,接下来的“02”表示保存的密码的位数为2位,然后是分隔符,接着的“92 86”就是密码了,我们的密码为“my”,对应的16进制为“6D 79”,对比如下:

92 86
6D 79

  原来每一位与下面对应的相加都是“FF”,如 92+6D=FF,86+79=FF,这样我们就可以轻易的将密码破解了。

  Delphi实现代码:

  下面给出的是不含密码的数据读取过程

procedure getQQList();
 var
  k,i,j:integer;
  cfg:File;
  Number,Weishu,Hao:Byte;//Number
 begin
  assignFile(cfg,'x:\xx\oicq2000.cfg');
  try
   reset(cfg,1);
   k:=8;
   seek(cfg,8);
   Blockread(cfg,Number,1,ret);//读取号码的个数
   inc(k,4);
   for i:=1 to Number do //循环读取各个号码
    begin
     x:='';
     seek(cfg,k);
     Blockread(cfg,Weishu,1,ret);//读取号码的位数
     inc(k,4);
     for j:=1 to Weishu do //循环读取号码
     begin
      seek(cfg,k);
      Blockread(cfg,hao ,1,ret);
      inc(k);
      x:=x+char($+hao);//x中保存就是号码
     end;
     listbox1.items.add(x);
    end;
  end;

  关于带密码的列表文件的读取和该过程类似,只是在第一位的时候进行判断就可以了。

  到此为止,你就可以自己根据这个原理制作各种各样的列表软件了,比如添加,删除,更改,改变顺序等功能都可以自己设计了,并且还可以自己更改密码,设置自己的登陆密码。好省下的就看你了。

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • Delphi接口编程的两大陷阱
  • 基于Delphi的组件设计之简单实例
  • 基于Delphi的组件设计之概念
  • 浅述Delphi下的OpenGL图形开发
  • 深入理解Delphi的消息机制
  • 民营家电商排队造手机 设备商全面杀入
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 老板电话
    冲动的惩罚 七里香
    我不是黄蓉 女生撒娇
    盛夏的果实 坚持到底
    孤单北半球 眉飞色舞
    挪威的森林 可爱女人
    最浪漫的事 老板电话

    CSEEK搜索