亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clientevent.pm

?? MSN fast change name is new utility 4 you
?? PM
字號:
package Net::OICQ::ClientEvent;# $Id: ClientEvent.pm,v 1.7 2003/10/17 20:01:52 tans Exp $# Copyright (c) 2003 Shufeng Tan.  All rights reserved.# # This package is free software and is provided "as is" without express# or implied warranty.  It may be used, redistributed and/or modified# under the terms of the Perl Artistic License (see# http://www.perl.com/perl/misc/Artistic.html)use 5.006;use strict;use warnings;use Crypt::OICQ qw(encrypt decrypt);use Net::OICQ::Event;eval "no encoding; use bytes;" if $] >= 5.008;our @ISA = qw(Net::OICQ::Event);my $RS = $Net::OICQ::RS;my $FS = $Net::OICQ::FS;sub new {    my ($class, $packet, $oicq) = @_;    my $self = {        OICQ => $oicq,        Header => substr($packet, 0, 11),    };    bless $self, $class;    my $cmdcode = $self->cmdcode;    my $cmd     = $self->cmd;    if ($cmd =~ /reg_new_id_/) {        $oicq->log_t("Client Cmd $cmd ($cmdcode) hexdump:\n",                     $oicq->hexdump($packet));        return undef;    }    my ($crypt, $key);    if ($cmd eq 'login') {        $key   = substr($packet, 11, 16);        $crypt = substr($packet, 27, -1);        $oicq->log_t("Client uses temp key:\n", $oicq->hexdump($key));    } else {        $key   = $oicq->{Key};        $crypt = substr($packet, 11, -1);    }    my $plain;    eval { $plain = decrypt(undef, $crypt, $key) };    $@ && $oicq->{Debug} && $oicq->log_t($@);    return undef unless defined $plain;    $self->{Data} = $plain;    return $self;}sub uid {    substr(shift->{Header}, 7, 4)}# Default handler for packets from clientsub default {    my ($self) = @_;    my $oicq = $self->{OICQ};    return 1 unless $oicq->{Debug};    my $uid = $self->uid;    my $uid_u = unpack('N', $uid);    $oicq->log("Id changed to ", $uid_u, "\n") if $uid ne $oicq->{_Id};    $oicq->log("Id=$uid_u Cmd=0x", unpack("H*", $self->cmdcode),               "(", $self->cmd, ") plain data:\n",               $oicq->hexdump($self->{Data}));    return 1;}sub login {    my ($self) = @_;    my $uid = $self->uid;    my $oicq = $self->{OICQ};    # Check if self is setup for this uid    unless (defined $oicq->{_Id} and $oicq->{_Id} eq $uid) {        my $uid_u = unpack('N', $uid);        die "No passwd for $uid_u" unless defined $ENV{OICQ_PW};        $oicq->log("login uses ENV OICQ_PW as passwd for $uid_u\n");        $oicq->set_user($uid_u, $ENV{OICQ_PW});    }    return unless $oicq->{Debug};    my $plain = $self->{Data};    $oicq->log("Data encryted with temp key:\n", $oicq->hexdump($plain));    $oicq->log("PWKey:\n", $oicq->hexdump($oicq->{PWKey}));    $self->test_b0(substr($plain, 0, 0x10), $oicq);    $oicq->logf("0x11-0x16: client IP and UDP port %s:%d\n",                join('.', map(ord($_), split('', substr($plain, 0x11, 4)))),                unpack('n', substr($plain, 0x15, 2)));    $oicq->desect($plain,        ['H*', 'C_LOGIN', 0x00, 0x10],        ['H*', 'C_LOGIN', 0x10, 1],        ['H*', 'C_LOGIN', 0x11, 6],        ['H*', 'C_LOGIN', 0x17, 0x1d],        ['H*', 'C_LOGIN', 0x34, 1],        ['H*', 'C_LOGIN', 0x35]);    1;}sub test_b0 {    my ($self, $b0, $oicq) = @_;    my %possible_key = (        'PWMD5'    => Digest::MD5::md5($oicq->{Passwd}),        'PWMD5MD5' => Digest::MD5::md5(Digest::MD5::md5($oicq->{Passwd})),        'PWIDMD5'  => Digest::MD5::md5($oicq->{Passwd}.$oicq->{Id}),        'IDPWMD5'  => Digest::MD5::md5($oicq->{Id}.$oicq->{Passwd}),    );    my $plain;    foreach my $descr (sort keys(%possible_key)) {        my $key = $possible_key{$descr};        $oicq->log("Decrypting 0x00-0x0f with $descr...");        eval { $plain = decrypt(undef, $b0, $key) };        $@ && $oicq->{Debug} && $oicq->log_t($@);        if (defined $plain) {            $oicq->log("succeeded: '$plain'\n");            $oicq->{PWKey} = $key;            last;        }        $oicq->log("failed.\n");    }}sub logout {    my ($self) = @_;    my $oicq  = $self->{OICQ};    return unless $oicq->{Debug};    my $plain = $self->{Data};    $oicq->log("Logout packet is ",               ($plain eq $oicq->{PWKey}) ? "" : "not ",               "PWKey encrypted with session key\n");    1;}sub send_msg {    my ($self) = @_;    my $oicq  = $self->{OICQ};    return unless $oicq->{Debug};    my $plain = $self->{Data};    $oicq->desect($plain,       ['N',  'srcid', 0x00, 0x04],       ['N',  'dstid', 0x04, 0x04],       ['H*', 'C_SMTS_CONST', 0x08, 2],       ['N',  'srcid again', 0x0a, 0x04],       ['N',  'dstid again', 0x0e, 0x04],       ['H*', 'MD5(dstid+PWKey)', 0x12, 0x10],       ['H*', 'C_SMTS', 0x22, 0x13]);    1;}sub recv_msg {    my ($self) = @_;    my $oicq  = $self->{OICQ};     return unless $oicq->{Debug};    my $plain = $self->{Data};    $oicq->log_t("Client ack recv msg thru svr:");    $oicq->desect($plain,        ['N',  'srcid', 0x00, 4],        ['N',  'dstid', 0x04, 4],        ['H*', 'C_RMTS', 0x08]);    1;}sub get_online_friends {    my ($self) =@_;    my $oicq  = $self->{OICQ};    return unless $oicq->{Debug};    my $plain = $self->{Data};    $oicq->desect($plain, ['H*', 'Request online friend list', 0]);    1;}sub update_info {    my ($self) = @_;    my $oicq  = $self->{OICQ};    return unless $oicq->{Debug};    my $plain = $self->{Data};    my @field = split(/$RS/, $plain);    $oicq->log("Fields separated by 0x1f:\n");    for(my $i = 0; $i < @field; $i++) {        $oicq->logf("%2d: %s\n", $i, $field[$i]);    }    return 1;}sub get_friends_list {  my ($self) = @_;  my $oicq  = $self->{OICQ};  return unless $oicq->{Debug};  my $plain = $self->{Data};  $oicq->desect($plain, ['H*', 'Request entire friends list', 0]);  1;               }sub get_user_info { default(@_) }sub recv_service_msg { default(@_) }sub search_users { default(@_) }sub keep_alive { default(@_) }sub set_mode { default(@_) }sub add_contact_1 { default(@_) }sub add_contact_2 { default(@_) }sub del_contact { default(@_) }sub forbid_contact { default(@_) }sub ack_service_msg { default(@_) }sub recv_friend_status { default(@_) }sub unknown { default(@_) }sub reg_new_id_1 { return }              sub reg_new_id_2 { return }1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲女人久久久久毛片| 欧美激情一区三区| 一本久道中文字幕精品亚洲嫩| 亚洲福利国产精品| 亚洲天堂av老司机| 久久久久九九视频| 欧美videossexotv100| 在线观看av一区| 91视频在线观看| 不卡视频在线观看| 丁香网亚洲国际| 国产一区不卡精品| 国产成人免费在线观看不卡| 激情六月婷婷综合| 国产一区二区女| 99热99精品| 成人精品国产免费网站| 成人永久aaa| 丰满放荡岳乱妇91ww| 51久久夜色精品国产麻豆| 91丨porny丨户外露出| 97se亚洲国产综合自在线不卡 | 另类综合日韩欧美亚洲| 欧美a一区二区| 丁香五精品蜜臀久久久久99网站| av成人免费在线观看| 欧美亚洲综合在线| 51精品国自产在线| 久久久久久麻豆| 亚洲精选视频在线| 视频一区二区不卡| 成人一级片在线观看| 在线区一区二视频| 欧美精品一区二区三区四区| 亚洲国产精品高清| 亚洲午夜成aⅴ人片| 国产精品一区专区| 欧美三级三级三级爽爽爽| 欧美电影免费观看高清完整版在 | 亚洲va中文字幕| 国产精品中文有码| 欧美精品1区2区3区| 亚洲成人av一区二区| 国产伦精品一区二区三区免费迷| 99久久综合精品| 欧美草草影院在线视频| 亚洲另类中文字| 成人免费视频国产在线观看| 91精品国产一区二区三区| 一区二区三区欧美日韩| 国产成人高清视频| 欧美日韩一区二区在线观看| 欧美激情中文字幕一区二区| 青青草成人在线观看| 欧美视频在线一区| 亚洲精品免费播放| 99精品桃花视频在线观看| 欧美国产欧美综合| 国产成人在线色| 欧美国产乱子伦 | 91成人在线观看喷潮| 国产精品不卡在线| 成人黄色a**站在线观看| 久久久99久久| 国产激情91久久精品导航| 久久色视频免费观看| 欧美三级三级三级| 亚洲制服丝袜在线| 欧美在线视频不卡| 日本午夜一本久久久综合| 91麻豆精品国产91久久久资源速度 | 久久精品一区二区| 国产麻豆精品theporn| 久久久噜噜噜久噜久久综合| 国产一区二区剧情av在线| 久久青草国产手机看片福利盒子| 久久精品国产亚洲aⅴ| 精品国产污污免费网站入口 | 亚洲国产aⅴ天堂久久| 欧美午夜免费电影| 日韩电影在线免费看| 精品卡一卡二卡三卡四在线| 国产成人日日夜夜| 亚洲精品免费在线| 欧美精品一区二区久久婷婷| 99久久久无码国产精品| 国产一区二区三区高清播放| 国产精品毛片久久久久久| 欧美亚男人的天堂| 国产一区二区三区黄视频| 中文字幕一区二区在线观看| 9191精品国产综合久久久久久| 韩国精品免费视频| 亚洲国产精品一区二区尤物区| 日韩亚洲欧美在线观看| 91亚洲永久精品| 韩国毛片一区二区三区| 亚洲成人激情av| 中文字幕一区二区三区在线播放 | 亚洲电影一级片| 国产精品视频你懂的| 日韩视频国产视频| 色丁香久综合在线久综合在线观看| 久久99久久久久| 亚洲成人中文在线| 一区二区三区四区不卡在线| 久久久www免费人成精品| 日韩一级欧美一级| 制服丝袜亚洲精品中文字幕| 在线观看一区不卡| 色国产精品一区在线观看| 国产原创一区二区| 亚洲欧美日韩国产综合| 欧美高清dvd| 色拍拍在线精品视频8848| 不卡的av电影在线观看| 国产99久久久国产精品免费看| 蜜臀久久99精品久久久久久9 | 国产乱一区二区| 国产在线播精品第三| 欧美亚洲丝袜传媒另类| 国产成人av在线影院| 国产乱子轮精品视频| 国产成人亚洲综合a∨婷婷| 国产综合一区二区| 国产成人h网站| 高清不卡在线观看av| 99久久国产综合精品女不卡| 成人性生交大片免费看中文| 成人动漫一区二区三区| 色香蕉成人二区免费| 欧美日韩一区二区三区四区| 欧美猛男超大videosgay| 日韩视频免费观看高清完整版 | 中文字幕一区av| 一区二区三区电影在线播| 五月婷婷综合激情| 日韩在线a电影| 久久9热精品视频| 成人高清视频在线| 欧美日韩午夜精品| 欧美成人精品1314www| 国产精品理伦片| 婷婷综合另类小说色区| 国产麻豆视频一区| 欧美日韩综合在线| 久久亚洲私人国产精品va媚药| 亚洲精品videosex极品| 麻豆传媒一区二区三区| 99精品欧美一区二区三区小说| 欧美福利电影网| 亚洲色图在线播放| 久久成人精品无人区| 欧洲亚洲精品在线| 国产情人综合久久777777| 日本色综合中文字幕| 91亚洲精品久久久蜜桃| www亚洲一区| 91蜜桃免费观看视频| 日韩三级视频在线看| 亚洲高清视频在线| 色呦呦一区二区三区| 国产农村妇女毛片精品久久麻豆 | 91精品国产福利| 一区二区三区在线观看视频| 懂色av中文一区二区三区| 91精品国产福利在线观看| 亚洲国产精品影院| 欧美午夜理伦三级在线观看| 夜夜嗨av一区二区三区网页| 91天堂素人约啪| 亚洲综合久久av| 欧美日韩色一区| 亚洲一区中文在线| 欧美日韩日日骚| 天堂影院一区二区| 欧美一级在线观看| 精品一二线国产| 中文字幕乱码亚洲精品一区| 国产一区二区视频在线播放| 久久久影院官网| 成人一级片网址| 亚洲人成在线观看一区二区| 在线看日本不卡| 午夜国产精品一区| 欧美一区二区在线看| 亚洲欧洲中文日韩久久av乱码| 成人免费看视频| 亚洲国产精品影院| 久久综合九色综合欧美就去吻| 大胆亚洲人体视频| 偷拍与自拍一区| 国产一区二区三区在线观看免费视频 | 欧美色图激情小说| 蜜桃免费网站一区二区三区| 中文字幕va一区二区三区| 在线精品视频一区二区| 国产精品一卡二卡在线观看| 一区二区三区高清| 国产精品萝li|