QQ2005 贺岁版登录口令加密算法及其源代码 Binny(Binny@vip.163.com) 2005-12-11 3:27:33 查看: 次 星级: 文字大小: 较大 正常 较小 收藏此页到365Key 收藏此页到新浪ViVi 【导读】拿到QQ 2005贺岁版后,发现其加密原理并没有新的改变,经过跟踪和分析,编制出暴力破解本地QQ密码的程序。QQ密码在正确登陆后,会将加密的结果保存在用户目录的ewh.db文件中,加密采用公开的MD5算法,通过N次循环以及异或后求反,最终计算出加密的结果,与用户的ewh.db文件中的密文比较后,发出“输入密码与上次成功登录的密码不一致,$0A是否到服务器验证?”(这条信息在BasicCtrlDll.dll的资源中,$0A在C的格式化中为回车)。根据这个提示,完成本地QQ密码的暴力破解。 拿到QQ 2005贺岁版后,发现其加密原理并没有新的改变,经过跟踪和分析,编制出暴力破解本地QQ密码的程序。
QQ密码在正确登陆后,会将加密的结果保存在用户目录的ewh.db文件中,加密采用公开的MD5算法,通过N次循环以及异或后求反,最终计算出加密的结果,与用户的ewh.db文件中的密文比较后,发出“输入密码与上次成功登录的密码不一致,$0A是否到服务器验证?”(这条信息在BasicCtrlDll.dll的资源中,$0A在C的格式化中为回车)。根据这个提示,完成本地QQ密码的暴力破解。
在QQ系统中,“QD”标志代表QQ Data,例如,我们可以在文件User.db或ewh.db中找到这个以QD开头的数据结构。
一、 ewh.db原始数据
51 44 01 01 03 00 04 03 00 BD AF A8 04 00 00 00
00 2E 06 00 07 03 00 B9 AB B4 10 00 00 00 07 22
AA 96 56 19 A3 9E 82 19 B7 2B BD 2D 34 4A 04 03
00 A9 B5 B2 04 00 00 00 3C A8 93 06
其中,红色为AST循环次数,兰色为EWH加密字符串,绿色为UIN QQ号(110340156=0x0693A83C,Intel体系内存中排列顺序为:3CA89306)。
二、 ewh.db数据结构
HEX
偏移 DEC
偏移 数据 注释 变量
标志
0000 1 51 44 QD,QQ Data 数据标志 Flag
0002 3 01 01 保留的数据结构 Reserve
0004 5 03 00 总数据段(Data Sections)的个数 Sections
0006 7 04 第一个数据段(简称1S,下同)的类型,可以从0x01到0x0F,04代表本数据没经过加密处理。 Type1S
0007 8 03 00 1S标志的长度。 LenFlag1S
0009 10 BD AF A8 1S标志(例如AST、UIN、EWH等),是经过简单的异或并求反计算处理的,此处是AST,可能是Algorithm Shift Times 或Axxx Switch Time,管他的呢! Flag1S
000C 13 04 00 00 00 1S数据的长度 LenData1S
0010 17 00 2E 06 00
= (404992) 1S数据,这里是进行MD5转换的次数。
这个数据是同计算机的性能有关的,性能越高的计算机,在QQ注册成功后产生的这个循环控制变量就越大。 Data1S
0014 21 07 2S数据的类型,07代表使用MD5进行加密 Type2S
0015 22 03 00 2S标志的长度 LenFlag2S
0017 24 B9 AB B4 2S标志,此处是EWH,代表本数据段是EWH密码数据,可能是Encrypt With Hash的缩写 Flag2S
001A 27 10 00 00 00 2S数据的长度 LenData2S
001E 31 07 22 AA 96
56 19 A3 9E
82 19 B7 2B
BD 2D 34 4A 2S数据,是经过MD5加密计算后产生的数据,当然还要经过异或并求反的计算处理,参考下面程序中的1000B858 行代码。 Data2S
002E 47 04 3S数据的类型 Type3S
002F 48 03 00 3S标志的长度 LenFlag3S
0031 50 A9 B5 B2 3S标志,此处是UIN,代表本数据段是QQ号码,可能是:User Identifier Number的缩写 Flag3S
0034 53 04 00 00 00 3S数据的长度 LenData3S
0038 57 3C A8 93 06 3S数据,3C A8 93 06 = 110340156 Data3S
三、 加密原理
下面VB伪代码的部分符号引自以上第二点《结构说明》中的变量标志,请注意理解:
Pwd = MD5(Pwd, Len(Pwd)) ' Pwd为用户输入的密码,第一轮MD5后,Pwd成为16位字节长度的MD5串。
XorKey As Long = 0 'XorKey为用于解密的字节
For k = 1 To Data1S – 1 '因为前面已经做过一轮,所以此处要减一
Pwd = MD5(Pwd, 16)
Next k
XorKey = XorKey And HFFFF
XorKey = (LenData2S And HFF) Xor (LenData2S \ 256)
XorKey = HFF - XorKey '求反
For k = 1 To 16
Pwd(k) = Pwd(k) Xor XorKey
Next k
If Pwd Data2S Then
MsgBox "输入密码与上次成功登录的密码不一致," vbcrlf "是否到服务器验证?"
End If
通过以上的流程,我真的佩服QQ的设计者,如此巨大的循环量,加上循环次数的随机性,如果希望产生一个QQ MD5词典简直不可能。虽然理论上,可以产生一个MD5字典,但是,这个字典将有1.15E+77*16个字节之巨,因此,只好根据ewh.db文件提供的数据暴力破解了,不知是不是有更好的方法呢?
不过我的感觉是,循环次数加多了,应该会产生更多的MD5碰撞,不见得是个好事。
还有一种破解思路,也许更加直接,将在后面的文章中详细探讨。但是我只有在有时间做完实验后才有资格评述,不在本文章的讨论范围内。
四、 破解算法
重复进行数十万次MD5加密,会消耗计算机很多时间,如果使用传统的VB或VC,对于一个密码的等待时间也是很可观的(例如使用VB代码,消耗的时间可能是汇编的400倍),因此,我使用汇编语言来编制低层加密解密算法,通过MASM32编译连接,最后用高级语言调用。通过提供算法动态库的方式,方便其他有兴趣的读者自己增加丰富的功能。例如增加多线程等,这也将在以后的探讨中实现。在此不做深入讨论。
附带的例子为VB和VC调用汇编语言动态库的例子,VB代码简单实现了通过密码字典进行单线程破解的功能,读者可以丰富其内容。增加更多的功能。
五、 QQ数据结构分析
下面为动态库BasicCtrlDll.dll中反汇编的代码以及代码分析,主要用于分析EWH.DB中数据结构以及QQ数据解调算法的问题。另外,这个算法也可以将User.db中的数据提取出来。深入研究下去,做一个聊天记录查看器之类的软件也非难事。
1000B71D B8 AC160110 mov eax,BasicCtr.100116AC
1000B722 E8 89460000 call BasicCtr.1000FDB0
1000B727 83EC 3C sub esp,3C
1000B72A 8B45 08 mov eax,dword ptr ss:[ebp+8] 将数据的开始地址赋给EAX,实际数据为**Data,EAX=*Data
1000B72D 53 push ebx
1000B72E 56 push esi
1000B72F 57 push edi
1000B730 8B30 mov esi,dword ptr ds:[eax] 需要转换的字符串,EAX指示一个结构,第一个成员为实际的数据指针
1000B732 894D D8 mov dword ptr ss:[ebp-28],ecx 局部变量[ebp-28]保存全局的标志结构,ECX为全局参数地址,在调用本函数时跟入
1000B735 8B46 F8 mov eax,dword ptr ds:[esi-8] 为CString结构中长度的成员,表示总共多少个字节
1000B738 83F8 06 cmp eax,6 如果长度小于6,则为无效的数据
1000B73B 0F82 81020000 jb BasicCtr.1000B9C2 如果比6小则跳转退出,说明数据量不够解调的
1000B741 803E 51 cmp byte ptr ds:[esi],51 是否为 QQ Data 的数据,QD为QQ数据标志
1000B744 0F85 78020000 jnz BasicCtr.1000B9C2
1000B74A 807E 01 44 cmp byte ptr ds:[esi+1],44
1000B74E 0F85 6E020000 jnz BasicCtr.1000B9C2
1000B754 66:8B7E 04 mov di,word ptr ds:[esi+4] 对于EWH来说,为第4+1个字节,为0003
1000B758 83C6 04 add esi,4 指向数据段(Sections)的个数
1000B75B 46 inc esi
1000B75C 83C0 FA add eax,-6 EAX去掉6个字节,对于EWH来说,剩下36H个字节
1000B75F 46 inc esi
1000B760 8945 08 mov dword ptr ss:[ebp+8],eax 指向第一个数据段
1000B763 E8 CE050000 call BasicCtr.1000BD36 在内存(ECX+9C)处开辟一个(100H)字节的空间,空间地址返回到EAX
1000B768 8365 E0 00 and dword ptr ss:[ebp-20],0 局部变量[ebp-20]清零
1000B76C 0FB7C7 movzx eax,di 转换到EAX,对于EWH,di=3。表示有3段数据
1000B76F 85C0 test eax,eax
1000B771 8945 B8 mov dword ptr ss:[ebp-48],eax 局部变量[ebp-48]保存数据的段数
1000B774 0F8E 21020000 jle BasicCtr.1000B99B
1000B77A 837D 08 07 cmp dword ptr ss:[ebp+8],7 如果整个长度小于7,则剩下的应该是QQ号了。第一次进入时=36H
1000B77E 0F82 3E020000 jb BasicCtr.1000B9C2 如果剩余的数据长度小于7则退出
1000B784 8A06 mov al,byte ptr ds:[esi] 第一次进入时,ESI指向第7个数据即数据段的类型,例如 04
1000B786 66:8B4E 01 mov cx,word ptr ds:[esi+1] CX=后一个数据,及数据段标志的长度,例如 0003
1000B78A 46 inc esi
1000B78B 8B55 08 mov edx,dword ptr ss:[ebp+8] 剩余的数据长度,如36H
1000B78E 836D 08 03 sub dword ptr ss:[ebp+8],3 去掉3个,例如成为33H=51
1000B792 894D C8 mov dword ptr ss:[ebp-38],ecx 局部变量[ebp-38]保存数据段中标志长度
1000B795 0FB7F9 movzx edi,cx EDI为标志长度了
1000B798 46 inc esi
1000B799 8845 E4 mov byte ptr ss:[ebp-1C],al 局部变量[ebp-1C]保存本段的类型
1000B79C 8D4F 04 lea ecx,dword ptr ds:[edi+4] ECX为取得的标志长度再加上4,例如=7
1000B79F 46 inc esi 第一次时,ESI指向第一个数据段的标志字段了,例如指向BDAFA8,第9个数据开始
1000B7A0 394D 08 cmp dword ptr ss:[ebp+8],ecx 如果剩余的数据比“标志长度+4”还少,则没有数据,因此不进行处理
1000B7A3 0F82 19020000 jb BasicCtr.1000B9C2
1000B7A9 8B0C37 mov ecx,dword ptr ds:[edi+esi] 跳过数据段的标志部分,将数据段的长度赋值给ECX。例如[edi+esi]=4
1000B7AC 8D1C37 lea ebx,dword ptr ds:[edi+esi] EBX保存新的指针,指向数据段中数据部分的长度部分,例如,[EBX]=4
1000B7AF 895D C4 mov dword ptr ss:[ebp-3C],ebx 局部变量[ebp-3C]保存数据段中数据部分的长度指针
1000B7B2 8D4C0F 07 lea ecx,dword ptr ds:[edi+ecx+7] 从标志(自身长3,加上4个长度位=7)开始,加上数据长度,为完整数据长度。例如E
1000B7B6 3BCA cmp ecx,edx 如果剩下的数据长度(如36H)不够,则退出
1000B7B8 894D CC mov dword ptr ss:[ebp-34],ecx 局部变量[ebp-34]保存本数据段的总长度
1000B7BB 0F87 01020000 ja BasicCtr.1000B9C2 如果小于则退出程序
1000B7C1 8365 F0 00 and dword ptr ss:[ebp-10],0 局部变量[ebp-10]清零
1000B7C5 3C 01 cmp al,1 al保存本段的类型,有效的类型是4或7
1000B7C7 74 18 je short BasicCtr.1000B7E1
1000B7C9 3C 02 cmp al,2
1000B7CB 74 14 je short BasicCtr.1000B7E1
1000B7CD 3C 03 cmp al,3
1000B7CF 74 10 je short BasicCtr.1000B7E1
1000B7D1 3C 04 cmp al,4
1000B7D3 74 0C je short BasicCtr.1000B7E1
1000B7D5 3C 05 cmp al,5
1000B7D7 74 08 je short BasicCtr.1000B7E1
1000B7D9 3C 07 cmp al,7
1000B7DB 74 04 je short BasicCtr.1000B7E1
1000B7DD 3C 06 cmp al,6
1000B7DF 75 19 jnz short BasicCtr.1000B7FA
1000B7E1 51 push ecx 为本段的总长度,包括(段类型+标志长度+标志+数据长度+数据),例如,对于密码段=1AH
1000B7E2 E8 23430000 call MFC42.operator new
1000B7E7 FF75 CC push dword ptr ss:[ebp-34] n=[ebp-34],局部变量[ebp-34]保存本数据段的总长度
1000B7EA 8D4E FD lea ecx,dword ptr ds:[esi-3] [esi-3]指向本段的开始(从段类型算起)
1000B7ED 8945 F0 mov dword ptr ss:[ebp-10],eax 局部变量[ebp-10]保存拷贝后的数据
1000B7F0 51 push ecx src
1000B7F1 50 push eax dest
1000B7F2 E8 E5450000 call MSVCRT.memcpy memcpy,将本段的整段数据拷贝到新的地方,数据指针保存在局部变量[ebp-10]中
1000B7F7 83C4 10 add esp,10
1000B7FA 8B45 C8 mov eax,dword ptr ss:[ebp-38] 局部变量[ebp-38]保存数据段中标志长度
1000B7FD 33C9 xor ecx,ecx
1000B7FF 32C4 xor al,ah 将低位长度与高位异或,例如3 xor 0=3
1000B801 85FF test edi,edi EDI为标志位的长度
1000B803 76 12 jbe short BasicCtr.1000B817 如果本段没有段标志,则跳转
1000B805 8A1431 mov dl,byte ptr ds:[ecx+esi] 开始循环,循环次数为标志的长度。 ECX第一次时为0,将第一个数据加载到DL中。
1000B808 32D0 xor dl,al AL为长度的高位和低位的异或,这里为3
1000B80A F6D2 not dl DL=NOT ([数据] xor [数据段标志长度的高位 xor 数据段标志长度的低位])
1000B80C 881431 mov byte ptr ds:[ecx+esi],dl 数据保存在原始的内存中相应的地方
1000B80F 41 inc ecx
1000B810 3BCF cmp ecx,edi
1000B812 72 F1 jb short BasicCtr.1000B805
1000B814 8B5D C4 mov ebx,dword ptr ss:[ebp-3C] 局部变量[ebp-3C]保存数据段中数据部分的长度指针
1000B817 57 push edi EDI为标志位的长度
1000B818 56 push esi ESI为指向解密以后的数据,例如AST
1000B819 8D4D E8 lea ecx,dword ptr ss:[ebp-18] 局部变量[ebp-18]存放强制类型转换以后的数据指针的指针,例如AST
1000B81C E8 5B430000 call MFC42.CString::CString 将解密后的数据变成CString类型。返回的类型放在EAX指示的地址中
1000B821 8365 FC 00 and dword ptr ss:[ebp-4],0 局部变量[ebp-4]清零
1000B825 6A FC push -4
1000B827 58 pop eax EAX=-4=FFFFFFFC
1000B828 8BF3 mov esi,ebx ebx保存数据段中数据部分的长度指针
1000B82A 2BC7 sub eax,edi EAX=EAX-EDI=FFFFFFFC-3=FFFFFFF9
1000B82C 8B1E mov ebx,dword ptr ds:[esi] ebx为数据段中数据部分的长度了
1000B82E 0145 08 add dword ptr ss:[ebp+8],eax 第一次时,[EBP+8]=33。执行后=2C,相当于33H-7H=2CH
1000B831 83C6 04 add esi,4 ESI指向数据段中的数据部分了
1000B834 395D 08 cmp dword ptr ss:[ebp+8],ebx [ebp+8]=2C,ebx=4
1000B837 0F82 6A010000 jb BasicCtr.1000B9A7
1000B83D 807D E4 07 cmp byte ptr ss:[ebp-1C],7 局部变量[ebp-1C]保存本段的类型, 4或者7
1000B841 74 06 je short BasicCtr.1000B849
1000B843 807D E4 06 cmp byte ptr ss:[ebp-1C],6 如果类型不为6,则执行1000B862
1000B847 75 19 jnz short BasicCtr.1000B862
1000B849 8AC3 mov al,bl 如果数据段的类型为7,则执行此语句。BL包含本段的长度
1000B84B 33FF xor edi,edi
1000B84D 32C7 xor al,bh al=(长度的低位 xor 长度的高位)
1000B84F 85DB test ebx,ebx
1000B851 76 0F jbe short BasicCtr.1000B862 如果长度为0,则表示没有密码
1000B853 8A0C37 mov cl,byte ptr ds:[edi+esi]
1000B856 32C8 xor cl,al
1000B858 F6D1 not cl DL=NOT ([数据] xor [数据段标志长度的高位xor 数据段标志长度的低位])
1000B85A 880C37 mov byte ptr ds:[edi+esi],cl
1000B85D 47 inc edi
1000B85E 3BFB cmp edi,ebx
1000B860 72 F1 jb short BasicCtr.1000B853 循环直到全部数据解调完毕
1000B862 53 push ebx 数据串的长度
1000B863 56 push esi 原始的需要变换的数据
1000B864 8D4D EC lea ecx,dword ptr ss:[ebp-14] 局部变量[ebp-14]存放强制CString类型转换以后的数据指针的指针,例如DB2E0600
1000B867 E8 10430000 call MFC42.CString::CString
1000B86C 8A45 E4 mov al,byte ptr ss:[ebp-1C] 局部变量[ebp-1C]保存本段的类型,4或者7
1000B86F 295D 08 sub dword ptr ss:[ebp+8],ebx 去掉已经处理的数据,执行后 [ebp+8]=28H,ebx为数据段中数据部分的长度
1000B872 03F3 add esi,ebx ESI指向下一个数据段的开始部分,ebx保存数据段中数据部分的长度指针
1000B874 33FF xor edi,edi
1000B876 84C0 test al,al 测试本段的类型是否为0
1000B878 C645 FC 01 mov byte ptr ss:[ebp-4],1 局部布尔型变量[ebp-4]=1
1000B87C 0F86 A3010000 jbe BasicCtr.1000BA25 如果本段的数据类型为0,则执行 1000BA25后退出
1000B882 3C 07 cmp al,7
1000B884 0F86 B6000000 jbe BasicCtr.1000B940 如果小于等于7,则跳转到1000B940执行。对于EWH来说就是这样
1000B88A 3C 08 cmp al,8
1000B88C 0F84 74010000 je BasicCtr.1000BA06 如果数据类型为8,则直接退出。
1000B892 3C 09 cmp al,9
1000B894 74 5D je short BasicCtr.1000B8F3
1000B896 3C 0A cmp al,0A
1000B898 0F85 87010000 jnz BasicCtr.1000BA25
1000B89E 8B4D D8 mov ecx,dword ptr ss:[ebp-28] 当数据类型为A时,执行本程序代码
1000B8A1 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
1000B8A4 50 push eax
1000B8A5 E8 47FEFFFF call BasicCtr.1000B6F1
1000B8AA 8B45 D4 mov eax,dword ptr ss:[ebp-2C]
1000B8AD FF75 EC push dword ptr ss:[ebp-14]
1000B8B0 8B08 mov ecx,dword ptr ds:[eax]
1000B8B2 53 push ebx
1000B8B3 50 push eax
1000B8B4 FF91 BC000000 call dword ptr ds:[ecx+BC]
1000B8BA 8BD8 mov ebx,eax
1000B8BC 85DB test ebx,ebx
1000B8BE 0F85 12010000 jnz BasicCtr.1000B9D6
1000B8C4 8B45 D4 mov eax,dword ptr ss:[ebp-2C]
1000B8C7 6A 04 push 4
1000B8C9 8945 DC mov dword ptr ss:[ebp-24],eax
1000B8CC 8D45 DC lea eax,dword ptr ss:[ebp-24]
1000B8CF 50 push eax
1000B8D0 8D4D C0 lea ecx,dword ptr ss:[ebp-40]
1000B8D3 E8 A4420000 call MFC42.CString::CString
1000B8D8 50 push eax
1000B8D9 8D4D EC lea ecx,dword ptr ss:[ebp-14]
1000B8DC C645 FC 03 mov byte ptr ss:[ebp-4],3
1000B8E0 E8 C3400000 call MFC42.CString::operator=
1000B8E5 C645 FC 01 mov byte ptr ss:[ebp-4],1
1000B8E9 8D4D C0 lea ecx,dword ptr ss:[ebp-40]
1000B8EC E8 AB400000 call MFC42.CString::~CString
1000B8F1 EB 50 jmp short BasicCtr.1000B943
1000B8F3 8B4D D8 mov ecx,dword ptr ss:[ebp-28] 当数据类型为9时,执行这个操作
1000B8F6 8D45 D0 lea eax,dword ptr ss:[ebp-30]
1000B8F9 50 push eax
1000B8FA E8 4E180000 call BasicCtr.1000D14D
1000B8FF 8B45 D0 mov eax,dword ptr ss:[ebp-30]
1000B902 FF75 EC push dword ptr ss:[ebp-14]
1000B905 8B08 mov ecx,dword ptr ds:[eax]
1000B907 53 push ebx
1000B908 50 push eax
1000B909 FF51 78 call dword ptr ds:[ecx+78]
1000B90C 8BD8 mov ebx,eax
1000B90E 85DB test ebx,ebx
1000B910 0F85 D4000000 jnz BasicCtr.1000B9EA
1000B916 8B45 D0 mov eax,dword ptr ss:[ebp-30]
1000B919 6A 04 push 4
1000B91B 8945 DC mov dword ptr ss:[ebp-24],eax
1000B91E 8D45 DC lea eax,dword ptr ss:[ebp-24]
1000B921 50 push eax
1000B922 8D4D BC lea ecx,dword ptr ss:[ebp-44]
1000B925 E8 52420000 call MFC42.CString::CString
1000B92A 50 push eax
1000B92B 8D4D EC lea ecx,dword ptr ss:[ebp-14]
1000B92E C645 FC 02 mov byte ptr ss:[ebp-4],2
1000B932 E8 71400000 call MFC42.CString::operator=
1000B937 C645 FC 01 mov byte ptr ss:[ebp-4],1
1000B93B 8D4D BC lea ecx,dword ptr ss:[ebp-44]
1000B93E EB AC jmp short BasicCtr.1000B8EC
1000B940 6A 01 push 1 当数据段的类型=7时,直接从此处执行
1000B942 5F pop edi
1000B943 8B5D D8 mov ebx,dword ptr ss:[ebp-28] 局部变量[ebp-28]保存全局的标志结构
1000B946 8D45 EC lea eax,dword ptr ss:[ebp-14] 局部变量[ebp-14]存放强制类型转换以后的数据指针的指针,例如DB2E0600
1000B949 50 push eax EAX存放强制类型转换以后的数据指针
1000B94A 8D45 E8 lea eax,dword ptr ss:[ebp-18] 局部变量[ebp-18]存放强制类型转换以后的数据指针的指针,例如AST
1000B94D FF75 E4 push dword ptr ss:[ebp-1C] 局部变量[ebp-1C]中的第一个字节保存本段的类型,4或者7
1000B950 8BCB mov ecx,ebx
1000B952 50 push eax
1000B953 E8 B4FCFFFF call BasicCtr.1000B60C call 1000B60C(CString,Flag,CString)
1000B958 85FF test edi,edi
1000B95A 74 18 je short BasicCtr.1000B974
1000B95C 8B45 E0 mov eax,dword ptr ss:[ebp-20] 局部变量[ebp-28]第一次为0,为一个计数器
1000B95F 8B4B 64 mov ecx,dword ptr ds:[ebx+64] 存在于标志结构中,为一个全局地址
1000B962 8B55 F0 mov edx,dword ptr ss:[ebp-10] 局部变量[ebp-10]保存拷贝后的数据,即没有经过处理的。例如040300BDAF……
1000B965 C1E0 02 shl eax,2 EAX=EAX*2
1000B968 891401 mov dword ptr ds:[ecx+eax],edx 将未做解调的原始数据放到全局结构中某个指针指示的内存中
1000B96B 8B4B 78 mov ecx,dword ptr ds:[ebx+78] 存在于标志结构中,为一个全局地址
1000B96E 8B55 CC mov edx,dword ptr ss:[ebp-34] 局部变量[ebp-34]保存本数据段的总长度
1000B971 891401 mov dword ptr ds:[ecx+eax],edx 将数据长度放到全局结构中某个指针指示的内存中
1000B974 8065 FC 00 and byte ptr ss:[ebp-4],0 局部布尔型变量[ebp-4]=0
1000B978 8D4D EC lea ecx,dword ptr ss:[ebp-14]
1000B97B E8 1C400000 call MFC42.CString::~CString 清除数据段中的数据部分CString
1000B980 834D FC FF or dword ptr ss:[ebp-4],FFFFFFFF 局部布尔型变量[ebp-4]=-1,为True
1000B984 8D4D E8 lea ecx,dword ptr ss:[ebp-18]
1000B987 E8 10400000 call MFC42.CString::~CString 清除数据段中的标志部分CString,例如AST
1000B98C FF45 E0 inc dword ptr ss:[ebp-20] 局部变量[ebp-28]计数器加一
1000B98F 8B45 E0 mov eax,dword ptr ss:[ebp-20]
1000B992 3B45 B8 cmp eax,dword ptr ss:[ebp-48] 局部变量[ebp-48]保存数据的段数
1000B995 0F8C DFFDFFFF jl BasicCtr.1000B77A 循环解调每个数据段
1000B99B 8B45 08 mov eax,dword ptr ss:[ebp+8] 最后剩余的长度
1000B99E F7D8 neg eax
1000B9A0 1BC0 sbb eax,eax
1000B9A2 83E0 04 and eax,4
1000B9A5 EB 1E jmp short BasicCtr.1000B9C5
1000B9A7 837D F0 00 cmp dword ptr ss:[ebp-10],0
1000B9AB 74 09 je short BasicCtr.1000B9B6
1000B9AD FF75 F0 push dword ptr ss:[ebp-10]
1000B9B0 E8 FF3F0000 call MFC42.operator delete
1000B9B5 59 pop ecx
1000B9B6 834D FC FF or dword ptr ss:[ebp-4],FFFFFFFF
1000B9BA 8D4D E8 lea ecx,dword ptr ss:[ebp-18]
1000B9BD E8 DA3F0000 call MFC42.CString::~CString
1000B9C2 6A 04 push 4
1000B9C4 58 pop eax
1000B9C5 8B4D F4 mov ecx,dword ptr ss:[ebp-C]
1000B9C8 5F pop edi
1000B9C9 5E pop esi
1000B9CA 5B pop ebx
1000B9CB 64:890D 000000 mov dword ptr fs:[0],ecx
1000B9D2 C9 leave
1000B9D3 C2 0400 retn 4
1000B9D6 837D F0 00 cmp dword ptr ss:[ebp-10],0
1000B9DA 74 09 je short BasicCtr.1000B9E5
1000B9DC FF75 F0 push dword ptr ss:[ebp-10]
1000B9DF E8 D03F0000 call MFC42.operator delete
1000B9E4 59 pop ecx
1000B9E5 8B45 D4 mov eax,dword ptr ss:[ebp-2C]
1000B9E8 EB 12 jmp short BasicCtr.1000B9FC
1000B9EA 837D F0 00 cmp dword ptr ss:[ebp-10],0
1000B9EE 74 09 je short BasicCtr.1000B9F9
1000B9F0 FF75 F0 push dword ptr ss:[ebp-10]
1000B9F3 E8 BC3F0000 call MFC42.operator delete
1000B9F8 59 pop ecx
1000B9F9 8B45 D0 mov eax,dword ptr ss:[ebp-30]
1000B9FC 8B08 mov ecx,dword ptr ds:[eax]
1000B9FE 50 push eax
1000B9FF FF51 08 call dword ptr ds:[ecx+8]
1000BA02 8BF3 mov esi,ebx
1000BA04 EB 03 jmp short BasicCtr.1000BA09
1000BA06 6A 04 push 4
1000BA08 5E pop esi
1000BA09 8065 FC 00 and byte ptr ss:[ebp-4],0
1000BA0D 8D4D EC lea ecx,dword ptr ss:[ebp-14]
1000
1.清除最近使用过的文档记录
以Windows XP为例,右键点击“开始”按钮,选择“属性”,在弹出的设置任务栏和开始菜单属性对话窗中点“自定义”按钮,在“自定义开始菜单”对话框中的“高级”标签下点“清除列表”。若要让系统永不自作多情记住使用文档的记录,请去掉“列出我最近打开的文档”前的钩。
小提示:XP会把最近访问文档的快捷方式放在C:\Documents and Settings\用户名\Recent中,手工删除它们也能让文档菜单“失去记忆”。
2.删除临时文件夹中的内容
当执行过安装软件、打开文档等操作时,在临时文件夹中会留下相应文件,可以手工清除在下列位置中的内容:C:\Windows\Temp、C:\Documents And Settings\用户名\Local Settings\Temp。如在删除时提示有文件在使用,就需要关掉相关程序,最好重启一次再删除。
3.清除“运行”、“查找”等处的历史记录
清除“运行”对话框中记录的输入内容,可修改注册表。这些记录被保存在“HKEY_CURRENT_USER
\Software\Microsoft\Windows\CurrentVersion\Explorer\
RunMRU”分支下,将其完全删除后重启。此外,该主键下的“DocFindSpecMRU”项,在右侧栏目中显示的是“查找”的历史记录,可一并删除。
4.隐藏在IE中的行踪
上网后,会有大量信息反映你的所作所为,这还了得?
①清空Internet临时文件夹
别人查看“Internet临时文件夹”下的图片、Flash等文件便能大体知道你曾到过的网站。要清除它们,可依次单击IE菜单栏中的“工具”→“Internet选项”,打开“Internet选项”对话框,在“常规”标签中点击“删除文件”按钮,在弹出的“删除文件”窗口中勾选“删除所有脱机内容”,最后点击“确定”。
②我不要“小甜饼”(Cookie)
Cookie也可能是泄密的一个“罪魁祸首”,在“Internet选项”对话框的“常规”标签中单击“删除Cookies”按钮,待弹出窗口后单击“确定”按钮,可删除它们。
小提示:一种保险的办法是在上网后,进入Internet临时文件夹(该文件夹可在Internet选项对话框的“常规”选项下点“设置”来查看具体位置),删除其下所有内容,这样,临时文件及Cookie等都会被清除。
③消除访问网页的历史记录
IE会将最近三周的访问历史记下,要“踏网无痕”可得清除它们,只要删除“C:\Documents and Settings\用户名\Local Settings\History”文件夹中的所有内容即可。也可在Internet选项对话框的“常规”标签下点“清除历史纪录”按钮。
要让IE不记录访问历史,请在Internet选项对话框的“常规”选项下,将网页保存在历史纪录中的天数从默认的20改成0即可。
④清除IE记住的表单内容
当访问网站时,一些网页会提示输入,例如,搜索时会要求输入搜索内容、登录邮箱则要填用户名、密码——这些东西会被IE自动记录。要删除它们,可在“Internet选项”对话框的“内容”标签下点“自动完成”按钮,在弹出的“自动完成设置”对话框中将“表单”、“表单上的用户名和密码”和“提示我保存密码”前的钩去掉,再单击“清除表单”、“清除密码”按钮,当询问时点“确定”。
⑤删除地址栏列表中的网址
在IE地址栏中输入要访问站点的部分字母时会自动打开列表,其中有最近曾访问的相匹配的站点,这也得清除。
在“Internet选项”对话框的“内容”标签下单击“自动完成”按钮,打开“自动完成”对话框,去掉“Web地址”前的钩。
若安装了“中文网址”软件,采用上法不能将地址栏列表中的“网络实名”清除,此时要在“Internet选项”对话框的“高级”选项卡下,选中“网络实名”中的“清除地址栏下拉列表中显示的网络实名”项,单击“确定”。
小提示:当完成上述操作后,千万别忘清空回收站。若此处没有收拾干净,就将前功尽弃了。
⑥拨号网络中的隐私
一般在使用拨号上网时,都是使用卡号加密码的方式,而且都在拨号网络中保存密码的习惯,因为这样下次拨号时非常方便。但也因此会给他人破解密码的机会。在使用拨号上网时,一定不要将“保存密码”的复选框选中,另外一个安全的方法就是建立自己专用的拨号网络,在离开时,将拨号网络彻底的删除。
二、清除你在应用程序中的“行踪”
一些软件会记录曾打开的文件等信息。因此在将系统中的痕迹打扫后,别忘了清除在应用程序中曾留下的踪影。
1.还系统一个干净的QQ
QQ会自动记录登录号码和聊天记录,如何才能“聊天不留痕”呢?很简单,只要在QQ登录对话框中点“清除记录”按钮,系统将提示是否删除对应的所有记录文件等,勾选该项,然后输入QQ登录密码,点击“确定”即可。
另外,在QQ2004中可选择登录模式,如不想在退出QQ后保存相关记录,可选择“网吧模式”。如果还不放心,最好在退出QQ后手工清除QQ文件夹下用你的号码命名的文件夹。
2.清除MSN Messenger中的登录帐户信息
当在MSN Messenger中登录后,下次再登录会自动出现上次的用户名,要去掉它可在控制面板中双击“用户帐户”,然后选当前登录帐户,再选“创建我的NET PASSPORT”项,点击左侧“相关任务”下“管理我的网络密码”,在“储存用户名和密码”对话框中,选中要删除的帐户,点击“删除”按钮。
3.消除Office系列软件中的使用痕迹
Office 系列软件会保存打开过文件的快捷方式,需进入C:\Documents and Settings\用户名\Application Data\Microsoft\Office\Recent文件夹,删除其中的文件。
另外,在Word中记录了最近使用的一些文件,点击 “工具”→“选项”菜单项,在“常规”标签下去掉“列出最近使用文件”项前的勾,可让其不显示出来。而在Excel、PowerPoint、Access等中都有相应的选项,可按照相同的方法去掉痕迹。
4.清除网际快车中的下载信息
网际快车会自动保存下载文件的信息,要清除可用下列方法:在网际快车中,将“正在下载”和“已下载”文件夹中的项目全部删除(被删除的项目会放入“已删除”文件夹),再将“已删除”文件夹下的内容完全删除。
5.清除“暴风影音”的记录
暴风影音会自动记录以往曾播放过的文件,点击“查看”/“选项”,在选项对话框右侧去掉“保留最近打开文件的历史记录”,确定后可去掉播放记录。
6.消除RealOne的播放记录
单击“工具”菜单中“参数设置”,在弹出对话框的“类别”中选“普通”项,点击“清除历史记录”。如不想自动记录播放记录,需要取消“允许在文件菜单中显示历史记录列表”选项。
7.清除Windows Media Player的历史记录
在WMP播放器中,依次点击“工具”→“选项”→“隐私”项,单击“清除历史记录”按钮,可将“文件”菜单中“打开”和“打开URL”对话框中存储的信息删除;单击“清除CD/VCD”则可删除存储的播放过的CD和DVD的所有媒体信息。为了让其不再记录,就要去掉“在播放机中保存文件和URL历史记录”前的钩选。
8.让输入法没“记性”
很多输入法会自动记忆曾输入过的内容。下面以一些输入法为例说明如何让它“失忆”。
①智能ABC:它虽不将记忆内容显示在提示行中,但会将常用到的词汇保存在c:\windows\system文件夹下的“tmmr.rem”文件中,将其删除。如要它“失忆”,可右击输入法图标打开“属性设置”,在对话框中去掉“词频调整”前的钩选即可。
②拼音加加:右击输入法图标,选择“设置”,然后在“设置”标签下选中“禁用词频调整”。要避免对单字也不调整频度,就要选择“单字频度调整方式”下的“禁用”。
③陈桥五笔:陈桥五笔会将输入过的内容自动记录到C:\chenhu2\cwbzlcz1.chh和cwbzlcz2.chh文件中,用写字板打开便可查看,这岂不是会泄密?因此在使用后务必将它们删除掉。
9 .用Maxthon清除上网记录
如果你使用Maxthon浏览器来上网,那要清除上网痕迹就非常简单了,你不需要逐项清除网页历史、搜索栏历史、cookie等,只要点击“工具”菜单中的“清除浏览记录”→“全部清除”,并在弹出中的对话框中点击“是”即可。
10.清除foxmail的邮件地址记录
使用Foxmail发送邮件后,在收件人栏中输入的地址将被记忆,只要输入这个地址的首字符便会自动补全,看来它也会泄密。
单击Foxmail中的“工具”→“系统设置”,在“常规”标签下单击“清除历史记录”按钮,在弹出的对话框中点击“是”。也可手工清除邮件地址记录:用记事本打开Foxmail安装文件夹下的foxmail.adc文件,删除其中的内容,再保存文件。
小提示:若将foxmail.adc文件设为“只读”属性,则以后输入的地址将不被记录。
经过以上的补救措施,在使用电脑时基本就不会留下蛛丝马迹了。为保证将使用电脑的痕迹擦除得干净、彻底,建议在清理结束时重启一次电脑后再关机。
一、将您的QQ的在线状态发布在互联网上
将您的QQ的在线状态发布在互联网上,不用加好友也可以聊天.
将您的QQ/TM的在线状态发布在互联网上;点击 QQ在线,不用加好友也可以聊天;寻找商机,广交朋友,"互动状态"给您更便捷的交互体验。 您只需按以下步骤生成代码。"互动状态",你也能随心设置...
最下面就是俺的QQ互动状态显示,怎么样的说?
二、让你的QQ永不怕回收
腾讯官方网站说是 普通号码 资料空白 里边好友无或者过少 等等几条信息吧 说是三个月不登陆腾讯有权收回号码;那么是什么收走QQ号呢? 是被腾讯的专业扫号程序计算机给你扫走了。密码都是16位的随机密码?
告诉你个秘密,QQ永不怕回收。
1.去腾讯主站下载个英文版本的QQ
2.安装后登陆你的那些不想管理的垃圾号码
3.记得选择资料选择性别,原始资料是男的选择F 原始资料是女的选择M
4.然后把资料里边的:这家伙很懒 什么也没有留下删除,记得随手打上“ —”
5.照着腾讯的被回收的号码资料 例如:1979314这个号码 在资料里照搬依次打上 —
6 是最重要的一条:设置16位数的密码,字母加数字组合再用中文版本登陆查看号码资料 年龄34 性别 无
这样就OK 了,永远不怕被回收了,可以安全的躲避过,腾讯的计算机系统扫描回收,对号码大户很有用,免得定期登陆的麻烦。
三、QQ使用的七大非常规秘籍
1.改变真实地理位置
大家知道,现在很多QQ都是显示IP和地理位置的版本,这样一来,自己的位置就暴露了。其实想隐藏自己的位置也简单,只要用代理服务器就是了。不要把它看成很复杂的东西,建议去下载“QQ代理公布器”,推荐选择使用http的代理而不是SOCKS,因为前者的速度比后者要快得多。找到有用的代理后,在网络设置里面选择上网类型为“局域网接入”(不管现实是不是这样),再在下面选择使用代理服务器,填入地址和端口号(这些代理公布器里都有的),确定就可以了。
2.唤醒游戏中的Q友
有时候我们给在线好友一连发了几条消息结果对方一点反应也没有,那么八成他是在挂着QQ玩游戏了。如何把他从游戏中唤出来呢?简单!只要“邀请对方语音视频聊天”,或者“发送文件给对方”,这时对方的QQ窗口会自动跳出来,对方想不看见也难!对绝大部分游戏都有效!
3.逼迫隐身的好友现身
这里介绍一个比较简单的方法,就是“邀请对方语音视频聊天”或者“发送文件给好友”,如果对方确实在线的话,他接受那么当然就知道了;如果他选择“拒绝”,你同样知道对方在线,因为你的窗口会有提示。最绝的是,即使对方既不接受也不拒绝,仅仅是把弹出的窗口关闭,你的窗口同样会有对方拒绝的提示!哈哈,换句话说,对方要想继续隐身,只有把那个窗口最小化,这可是浪费系统资源的也~~~万般无奈之下,我想他会现形的*^_^*
4.这条是针对对方使用了第3条秘计后的反击措施
呵呵。如果我就是要隐身,同时又不想开着那个邀请窗口占用资源,那么该怎么办呢?别急,听我道来。他狠我更狠!遇到对方邀请的时候,你不要关闭那个窗口,直接让QQ下线,然后再关闭那个邀请窗口,这时由于自己已经下线,你的举动不会反映到对方的窗口。然后再隐身上线就是了,对方还是在痴痴等待一无所知,而你这边的邀请窗口已经关闭了,当然就不占用系统资源了:)
5.让对方上线后第一眼看到自己的留言弹出
方法很简单,只要留言之前,先给对方发送一个视频聊天请求,然后再取消。然后再写上留言的文字就是了。这样一来,对方启动QQ上线后,首先跳出来的是自己留言的窗口(注意是自己跳出来的,不是点击桌面右下角图标后出来的哦)!哈哈,第一时间让她知道你的不可遏止的思念!
6.知道对方到底是否隐身。
首先要有天网防火墙并确保已经启动。然后给对方发送文字,之后再查看防火墙里面的历史记录,里面记录了每一次发送的时间及对方的IP,那么两人都是确实不在线,因为那是暂存消息的服务器的IP。如果不同,那么其中一个必然是隐身的!你可以再给其他人发文字试试看,最终很容易就明白其是否在线。 还有一个方法就是用软件根据IP来确定对方的地理位置,如果那个地理位置和他以往的位置差不多,那就是隐身的啦!
7.关于防止密码被木马窃取的方法
除了OOPS所说前面打一大串0的方法外,还可以不按照顺序来打。比如密码是12345,打的时候就先打入1235,再把鼠标移到3的后面,打入4。因为木马截获的是键盘的动作,并不知道鼠标的移动,所以在幕后第三只眼看来,你的密码就是12354了。在公共场所上网时一定要注意这个问题,因为很多网吧机器都被人装了键盘记录器等软件。当然啦,你可以把输入顺序搞得更复杂些,那样别人即使截获一堆数字,也拿它毫无办法了^o^
四、QQ强制聊天代码
QQ强制聊天代码,把代码中的红色的“********”星号换成你想与其聊天的QQ号即可。
代码如下:
;Uin=********Site=ioshenmueMenu=yes
使用方法:把代码中的红色的“********”星号换成你想与其聊天的QQ号后复制到浏览器的地址栏处即可。无论他是否你的好友,你无须加他为好友就能给他发QQ消息。
五、不用密码查看本地别人的QQ聊天记录(请不要窥探别人的隐私)
由于QQ2004的代码与以前大不一样,直接导致有些过去常用的QQ技巧也随之失效了。因此本文技巧之针对QQ2004。
没有QQ密码是无法查看QQ聊天记录的。如果你忘了密码利用下面这个小技巧就可以实现无密码看QQ2004聊天记录,可以是你所用电脑上的任何QQ号码哦!
下载并安装16进制文件编辑器UltraEdit,运行UltraEdit,单击“文件/打开”,出现“打开”对话框,在“查找范围”栏内选择QQ所在文件夹,在“文件名”栏中输入QQ.exe,单击“打开”按钮将QQ.exe文件加载到UltraEdit中来。 接下来单击“搜索”菜单中的“查找”,出现“查找”对话框,在该对话框的“查找内容”一栏中输入以下代码:0F849D000000,单击“查找下一个”按钮就会在UltraEdit的主窗口中找到上述代码,把光标定位到中间的十六进制代码区,把上述代码改为E99E00000090,单击工具栏上的“保存”按钮保存修改结果,最后退出UltraEdit即可。
运行QQ,出现QQ号码登陆窗口,在“QQ号码:”中选择已经忘记了密码的那个QQ号,在“QQ密码:”中随意输入任意字符或什么都不用输入,直接点击“登陆”按钮就可以进入QQ中,此时你就可以随意查看、导出QQ聊天记录了。
六、用最简单的方法让QQ上的好友露出原形
现在使用QQ的朋友,越来越注重保护自己的个人信息,如果对方将个人资料设置为保密你就无法看到对方的资料了,而这位好友如果又有着不断变换昵称的不良习惯,那么随着QQ好友名单的不断增加,时间一长,你还能分出谁是谁吗?下面就教你用一个比较简单的方法快速查看好友的信息,打开IE浏览器,在地址栏中输入search.tencent.com/cgi-bin/friend/user_show_info?ln=000000,其中000000代表你想查看好友的QQ号,按下回车键,怎么样,好友的资料就在眼前。
七、qq等级,我教你算!
QQ2004中加入了QQ等级这个东东,用QQ的时间越长,等级越高,从小到大依次为星星、月亮、太阳,四个星星换一个月亮,四个月亮换一个太阳!
累积到第N级所需的在线时长可通过如下公式计算:
第N级所需累积的在线时长=5N2+15N
现在都流行挂QQ了
八、介绍用QQ看电视的方法
用QQ看电视的方法:
首先,你的QQ要QQ2003版本以上,然后登陆QQ点击QQ侧边栏的“用户自定义面板”。
然后点击“收藏”中的“设置”,在弹出的窗口对话框中选择“添加”,“链接”地址填
或者镜像站点
不要忘了在“QQ-TV”上面打上“小勾”哦,这样,按下确定后你就可以欣赏QQ-TV的精彩节目了
九、快速登陆QQ
相信大家或多少都有过这样的体验,登录QQ时,小企鹅在屏幕上徒劳地闪动半天之后,弹出来的确是服务器太忙,无法登录或者超时的提示框,接连试几次都是这样的。用下面的方法一定能让你顺利登录:
1)如果你使用的是默认的登录面板登录的话,那么你可以改用“注册向导”试试,一般情况下都能成功。
2)如果还不行,就得使用这种方法了:打开多个QQ窗口同时来登录一个号码。一般遇到上述情况时就同时打开三个窗口,这里面肯定会有一个能登录上去的,百试不爽。
十、用QQ查看隐藏文件
有时我们在网吧上网需要查看某些文件夹,无奈管理软件却把它们给隐藏起来了,怎么也打不开。有了QQ就好办了,你可以利用它来打开这些文件夹。
具体方法是:在机器中打开两个QQ号码甲和乙(如果没有两个号码,可以用注册向导,在自己号码前加一个“0”登录,登录后显示号码为“0xxxx"),用左键在甲中点击乙的头像并选择“传送文件”,接着随便在电脑中找个小一些的,由乙来接收,很快就会接收完毕,弹出了一个很关键的窗口,提示“文件接收完毕,是否转到文件所在目录?”这时请点击“是”按钮。现在你就可以随心所欲地查看该文件夹了。
十一、4则你不知道的QQ绝密技巧!
NO.1-普通QQ号照样可以克隆QQ好友
信大家手头都有几个备用的QQ号吧,一般都是在当初QQ我是垃圾的时候弄来的,但是有时候因为某些原因,突然要把一个QQ上的好友完全克隆到另外一个QQ上面,这个“庞大工程”我想一般人是没有时间,也没有精力去完成它的。您先不用着急羡慕QQ会员的克隆好友功能,我们自己动手,照样可以完成这个“不可能的任务”!
首先,我们要将自己原来的号和新号重新登陆一遍,然后以旧QQ号命名的文件夹中找到user.db数据库文件,然后复制它,接着再到新号的文件夹里粘贴覆盖原文件,然后再登陆新号,你会发现,好友都在上面了,不过他们是永远不会上线的。先不要着急,接下来就是我们最关键的一步了,打开好友管理器,在好友列表里选中自己想要加的人,选择多人的话要按着ctrl键, 选好后再把刚才选中的好友全拉到陌生人一栏里,看到这里,您可能要问,为什么要删除他们啊?因为这是让他们复活的关键一步,在跳出的对话框里全部选确定,然后到陌生人一栏中,像刚才一样选中你的好友,拉到好友列表里,复活成功,不过接下来的事情可就要让你忙一阵子了,这回要跳出好多要求好友确认的对话框,您就慢慢点着吧,虽然这个办法有点笨拙,但是目的还是达到了。
NO.2-QQ中免费发手机短信
在正常情况下,你可以申请QQ号码和手机绑定在一起,这样便能通过QQ发送短信,而费用从你的手机费中扣除。但如果你的手机由于欠费停机,导致手机号码被注销(当然也可以主动注销手机号),由于腾讯的数据没有和电信部门的数据同步,导致QQ傻不乎乎的并不知道你的手机已经被注销,此时您仍旧可以使用那个以前绑定的QQ给别的手机发短信,而费用却不用你掏。所以只要有人把手机和自己的QQ号码绑定在一起,然后注销手机号码,就可以使用该QQ号免费发送手机短信!而且发送的速度奇快!
NO.3-隐藏我的QQ,让它无影无踪!
在单位上班的时候,由于很无聊所以想上网和朋友聊天,但是却怕被老板发现,怎么办呢?虽然QQ的主界面在默认的设置中可以自动隐藏,但是任务栏中的QQ图标呢?想把它藏起来倒也不难,方法是:右击系统托盘中的QQ图标,选择弹出菜单中的“系统参数”,将“参数设置”中的“在任务栏显示图标”前面的“√”去掉。任务栏中的图标是不是已经没有了呢?如果同时将“总在最前面”取消选中,那隐蔽性就更强了。自己想打开的时候怎么办?用快捷键“Ctrl+Alt+Z”呀,或者是自己设置一个快捷键。
NO.4-使对方的QQ黑名单失效
有些时候,由于自己不小心做错了一件事,或是错说了一句话,导致对方因为“一时不满”将你删除,或是拖到了黑名单中,这样我们就无法再和对方说话了。在此,告诉大家一个让黑名单失效的方法。用这个方法,就算他把我们加入到“黑名单”中也没有用,我们还可以重新把对方加入到自己的好友名单,仍然能够不断地给对方发送信息。原理说白了也很简单,就是利用了QQ的一个Bug,这个Bug出现在系统通过认证这一环节上。
下面俺详细说一下。如果对方将对你拖入到了“黑名单”中,这样我们就无法再和你的好友聊天了。但如果当初他向你发送过加入请求,那我们只要在“系统消息”中找到他向你发送请求的那条命令,按“通过验证”按钮,就可以再次把你加回到他的QQ好友名单中,这样即便他在好友名单中将你删除,或是把你加入到“黑名单”里,这都没有关系,我们可以通过这个方法重新回到他的好友名单中。想要将我拒之门外是不可能的。呵呵!
十二、让QQ头像永远在前
打开“个人设定”窗口,然后在自己的昵称前点一下鼠标,再按空格键插入一两个空格(不能太多了,要不然昵称就不能完整显示了),然后点击“修改”按钮进行修改。这样,以后当对方更新了你的资料或者重新登录时,你的头像就可以排在其列表数一数二的位置了(在线的情况下),现在对方要想不看见你都不可能了啦。
同理,想把谁放到你的好友列表顶端,就给他“改名”,在他名字前加一两个空格就行了。
十三、QQ密技==隐藏QQ摄像头的方法
☆★☆ QQ密技==隐藏QQ摄像头的方法:
不少朋友喜欢使用摄像头和好友面对面聊天,这样在对方好友QQ里自己的头像旁就被自动添加了摄像头小标志,显得很特别。可就是这小小的摄像头带来了一种挥之不去的烦恼:只要安装了摄像头,QQ在每次登录时就会对是否安装有摄像头进行自动检测,并把这个信息发送到QQ的服务器上;任何一位QQ的使用者都可以通过“查找”\“有摄像头的用户”发现你的行踪,要求和你进行视频聊天,因此很多网友在安装摄像头后,始料未及地遭受了无数视频聊天请求,甚至好多是恶意的!难道说安装了摄像头就别无选择地要接受别人视频请求骚扰吗?
当QQ 2004发布后,这个问题得到了很好的解决!只要在QQ里进行简单的设置就可以把你有摄像头的秘密藏起来,方法如下:下载并安装好最新的QQ 2004,单击QQ面板中的“菜单”\“系统设置”,然后在弹出的对话框里点击“本地安全”,把状态显示栏中的“不要把我列在在线视频用户的列表中”一项选中,最后“确定”即可。
十四、怎样设置安全的密码
我相信每一个上网的网民都会碰到这样或那样的密码吧!
那么你所设置的密码是否安全呢?
现在大多数人都喜欢用自己的生日、身份证号码、电话号码、自己的名字等做密码,这样简单的密码记起来是很容易,但它的安全性却很低哦。
那么什么样的密码才是安全的密码呢?
1;密码尽量复杂些,首先要避免以上的那些密码;
2;最好是家入一些字符在密码里面。
十五、彻底拒绝QQ广告
相信经常上网的朋友一定会使用QQ,不过QQ中频繁出现的广告真是很烦人,即使是会员也逃不出QQ广告的骚扰,下面就介绍一种方法,让大家可以拒绝QQ广告的骚扰。
首先需要了解一下QQ广告是怎么出现的,QQ的安装目录Tencent下有一个AD目录,所有的Flash都要先下载到这个目录下。只要我们让文件无法写入其中,QQ广告也就不会再出现了。
不过如果只简单的删除AD目录是没有用的,QQ会自动再次生成 这个目录。如果我们通过一个软件来使AD目录成为一个只读目录,便利任何程序都无法写入这个目录,也就达到了我们的目的。
“电脑魔法保护”就具有这样的功能。它是一款绿色软件,解压以后就可以直接使用。
该软件可运行于Windows 95/98下,它利用了Windows底层的VxD技术,实现了对硬盘中的任意目录防删除、防改写(只读)功能。有了它,接下来的工作就很容易了,只要把AD目录设置为只读即可。
具体方法为先点击“加入目录”,选定AD文件夹,点击“确定”把该目录加入目录保护中。为了设置AD目录的状态,还要选定AD目录,然后点击“只读”选项。此时在“只读”状态下会出现“是”,说明AD目录已经处于只读保护状态了。
最后,点击“设置”页面,将“工作状态”下的“Windows启动时自动运行”前打上勾,这样系统启动时该程序会在后台自动运行了,AD目录也就始终处于保护状态下了。
这一切做好后,广告就再也无法出现在AD目录中了,也就完全拒绝了QQ广告
十六、QQ号码列表里的秘密
我们在一台电脑登录过QQ之后,下次启动QQ的时候就会看到在号码列表的下拉菜单中会出现这个号码,这些号码实际上都保存在QQ安装目录的“dat\oicq2000.cfg”文件里,用记事本打开这个文件就会看到所有保存过的号码了。为了防备这种登录软件,有人建议删除“oicq2000.cfg”文件,其实这是完全没有必要的,只要删除了相应的号码文件夹就可以了。否则,一用QQ就要重新启动注册向导,岂不是很麻烦。
1)、发现秘密
删除了QQ的文件夹之后就OK了么?我们还是来研究一下这个“oicq2000.cfg”文件吧。用任何一种16进制编辑器打开这个文件(推荐使用UltraEdit),假如我们打开一个保存有(123456、222222、333333、444444、745370)5个号码的“oicq2000.cfg”文件,就会看到相关内容。说明一下,第九位的“05”表示这个列表文件中共有5个号码,之后用3个“00”做分隔符,之后的“06”是列表中第一个QQ号码的位数(16进制的31 32 33 34 35 36正好是1 2 3 4 5 6)。紧跟其后的就是下一个QQ号码的位数,如此循环,最后几位就是列表中最后一个QQ的号码。
大家都知道QQ有个功能叫做“记住密码”,选择了该项之后下次启动QQ便可以直接登录而不用自己输入密码,其实这个功能简直就是QQ自杀术。假如我们上面的列表中号码123456的密码为my7g.com,保存之后我们再打开列表文件,发现变化了么?第一位变为了01,其实第一位是个判断符号,00表示未保存密码,反之01就是保存了密码,然后是分隔符,接着的08表示保存的密码的位数,然后是分隔符,接着就是保存的密码了,这8位是“92 86 c8 98 d1 9c 90 92”,我们的密码是my7g.com,字符的ASCII码的16进制值应该是“6d 79 37 67 2e 63 6f 6d”,对比一下:
92 86 c8 98 d1 9c 90 92
6d 79 37 67 2e 63 6f 6d
发现什么了(什么都没发现?再看看!)?上面的每一位和下面相对应的相加都是FF,所以,只要是保存到“oicq2000.cfg”文件中的密码都是可以轻易地被破解的。这下你害怕了吧?这可比被人用“QQ穿墙术”看你的聊天记录更可怕。
2)、解决方法
别担心,送你个软件防防身。在下载一个“QQ列表大师”,该软件只有27K,VB6制作,无须安装,复制到QQ安装目录即可运行。启动后自动检测列表文件,发现保存的密码会作出警告,并将密码显示在程序主界面。该软件还可以帮你完全自己定制QQ号码列表文件(这下子不用去算什么16进制了),并且可以帮你清除保存的密码。选定了号码之后如果同时选择了删除文件夹的复选框之后点击删除按钮的话,还可以在列表中删除号码的同时删除该号码的文件夹,这下子你放心了吧?更厉害的是该软件可以在没有“oicq2000.cfg”文件的情况下自己生成一个列表文件。
十七、QQ小小搞怪十一招
1、对付飘叶OICQ千夫指有妙招
飘叶OICQ千夫指属于QQ消息炸弹,通过给你发送大量的洪水信息,使你不得不下线。多数情况下,大家对付它的办法都是采用下线再上来的方法,其实有更简单、更容易的对付它的办法,具体做法是:
启动QQ,用鼠标右键点击任务栏中的QQ图标,在弹出的菜单中选择“个人设定”,会弹出“修改用户资料”对话框,在该对话框中点击“基本资料”标签,在“用户呢称”前加上“275297”(注意输入时没有引号);接下来在该对话框中点击“联系方法”标签,然后在“电子邮件”栏中把你的E-mail改成作者飘叶的QQ号码“275297”就可以了。这样只要用飘叶OICQ千夫指向你发消息,他(她)的计算机就会重新启动!那些讨厌的洪水消息当然也就被拒之门外了!
这个方法的原理就是作者飘叶在该软件中留下了后门——飘叶在程序中做了处理,屏蔽了对QQ号码“275297”的攻击,一旦该号码遭到飘叶千夫指的攻击,就会调动程序中相关代码,重新启动攻击者的电脑!想想也真是的,作者怎么会让自己的软件攻击自己呢!
2、打造个性化的QQ声音
QQ提供了四个声音文件,分别是“客户消息”,是用来提示有好友或客户传来了消息;“系统消息”,用来提示有系统提供的消息,如果你设置了要验证才能将你加为好友的话 ,当有人要将你加为好友时,系统就会发出该声音提示你;“新上线”,用来提示有新朋友刚刚上线;“组”声音,在来设置组时提示用的。这四个文件都是WAV文件,如果要修改它们,可按以下方法实现:
①首先,将制作好的声音文件(WAV格式的)存放到Programe files oicqsound文件夹中,当然也可以放到其他文件夹中,这是为了查找方便。
②单击系统选单中的“系统参数”命令,打开“参数设置”对话框,在该对话框中单击“声音设置”标签,在下面“声音选择”框中可以对声音文件进行设置。
3、查找全部QQ昵称为空的用户
在“通过对方昵称”输入框中粘贴两个“Tab”键即可。
4、扮酷你的QQ头像}
你想让自己的头像更有个性、更美观吗?来,和我一起做!先来了解一下QQ头像的有关知识:QQ头像都存储在QQ所在目录的Newface文件夹下,这些基本头像为32×32点阵大小、16位真彩色,以bmp的形式存放。每个头像都有三种状态(一张彩色,一张黑白,一张眨眼),所以准备3张头像图片是必须的。
①首先选择一幅自己喜爱的图片,利用“画图”程序或其他图形处理软件将之转换成32×32×16格式,将它保存。同理,制作出黑白和眨眼头像图片(这两个不做也可,不过,那样会使你的头像看起来只有一种状态)。
②进入Newface文件夹,找到目前代表你本人的头像,假设你使用的是“68-1”、“68-2”、“68-3”文件,把刚才准备好的头像文件重命名为“68-1”、“68-2”、“68-3”(注意彩色的为“68-1”,黑白的为“68-3”,眨眼的为“68-2”),拷贝至Face文件夹中覆盖原文件即可。
③启动QQ,鼠标右键单击QQ图标,选择“个人设定”,再单击“头像”向下的箭头,你就可以发现自己制作的头像已经存在于头像框中。选中它,就可以将其作为自己的新头像,然后更新资料即可。
5、快速返回QQ“我的好友”用户首部
单击QQ“陌生人”组,然后单击QQ“我的好友”组。
6、快速找到“我的好友”中的指定用户
选择QQ为当前窗口,将当前正在使用的输入法转换成“英语”输入法,按你要找的用户昵称第一个字拼音的第一个字母键,若该用户的昵称是英文字母开始,则直接按此字母键,若该用户的昵称是数字开始,则直接按此数字键,均按到找到该用户为止。
7、批量删除QQ“我的好友”用户
进入QQ“好友管理器”,按住“Ctrl”键,选定要删除的用户(若要删除连续的用户,则按住“Shift”键,单击其中的第一名用户和最后一名用户),右击任意被选中的用户,单击“删除好友”。
8、清除QQ登陆对话框中QQ号码列表框中的号码
打开资源管理器,找到QQ所在目录,找到其中的dat文件夹,打开后可以看到一个QQ2000.cfg文件,删除这个文件。同时删除QQ目录下面不属于你的号码的文件夹。连接上网,启动QQ,会出现注册向导,依次输入属于自己的QQ号码,进行注册,完成以后你就发现里面除了自己的号码外,再也没有其他号码了,成功!
9、快速进入QQ聊天室的技巧
很多使用QQ聊天的朋友一定发现现在要想进入QQ聊天室里的某些房间是非常地困难了,常常是被告知“断开与服务器的连接!!! ”,在网吧里上网都如此,更不要说是家里的“猫”了。哈哈,这里有个技巧,就是你想进入QQ聊天室时,先找一个在线人数少的房间进入,由于其在线人数少,所以一次就能成功进入房间。然后再点击“服务器”按钮,换个你原本想进入的房间,你会发现能很轻松地一次就成功进入了。
10、在QQ组别里查找网友的技巧
我想每位使用QQ的朋友其“我的好友”组别里已经加入了很多的网友吧。尽管一些网友为了在“我的好友”组别里占有所谓的“眼球”效应,常用的做法是在呢称前加上多个空格,但总还有排在最后面的,如要是我想消息给他们,难道是频繁的点击下拉箭头来实现吗?其实这里有个很简单的方法,就是只需你记住对方的呢称,比如我需要查找的网友呢称是“格式化”,而“格”字的开头字母是“g”,只需按下“G”键,你就会马上看到“格式化”的头像,哈哈,是不是真的很方便啊!不过需要注意的一点是,如果你的QQ是分了组别的话,那么就必须点击某个组才能进行查找。
11、快速回复信息的技巧
有时给QQ上的好友回复信息,许久发不出,真急人。此时不妨按下Ctrl+Shift+Enter试试,可能会很快发送出去的!
等待你微笑的点击 “采纳”!!!!
你好,我的破解器是AOPR4.11绿色版,以及带有office密码破解、VBA解锁功能的插件工具集
已经都发给你了
我百度ID与qq邮箱同名
祝顺利
您好!很高兴能为您解答, :这个只是空间的访客装扮效果而己,进入我的空间——个性化中心——访客装扮可设置(注,需开通黄钻才可以设置哦)