首先要感谢童话、Spark、Shuax等人的付出。% a: j; C" m1 K0 Y; M9 o' F
: N+ {5 k( g# Y6 y
& T" {- |- G: a# v+ v" B) I使用前说明:8 K# {( S/ G0 X' w
3 \) t7 `; [ G第一次使用前,先运行QQ优化小工具选择绿化(VC运行库、注册相关dll以及清理原版LJ),然后选择自己想要操作项目点执行。另使用QQ插件管理器可方便配置插件。
! p1 Z( B% V: u/ a1.关于绿色版显示QQ配置不正确:使用QQ优化小工具原版方式安装运行库。 2.关于显IP插件:采用qqext(bvvvvb作品)
-------------------------------------------------------------
更新日志:
3.29更新:, ?# \) W; A. ?& U: B3 N
修正:解决去除离线发图限制导致的退出,破解离线发图限制(发图大小、数量)。
/ d [, w9 b+ }3 ^- m增加:安装版,基于原安装版,修改如下:$ P0 ]! K# o* i! i
1.去除QQ管家之类的所有与本身安装无关的额外部分。
0 A8 H" `; `: \# H8 T q2.去除安装过程中自动生成的WhatsNew与license 文本文件(资源文件中没有仍会自己生成)。
0 c i7 `8 |' K$ }# }& f3.去除tlg日志生成,仅保留.txt日志。9 p8 X) ? }; O# o9 K: s
4.去除所有修改主页行为。
( Q2 W; Z3 K6 a- T5.去除自动生成在程序安装目录QQ\Bin\文件夹下的空文件夹SetupEx。
2 `! U( W& M& X6.添加对QQ\Bin\TXSSO\SSOCommon.dll与QQ\Bin\TXSSO\SSOAxCtrlForPTLogin.dll以及QQ\Bin\目下QQPhotoDrawEx.dll这几个额外需要注册的dll的注册。
/ I+ J; E& h* j" L* \2 m7.由于Common Files\TXSSO与QQ\Bin\TXSSO目录作用完全相同的,仅dll搜索顺序不一致,仅保留QQ\Bin\TXSSO目录。 i$ g W! ^: M* U
8.去除所有安装过程中的其他无关选项与功能,如安装其他软件之类。
8 O' S$ y6 s7 c& J4 p% y其他细节不一一表述。
+ v+ c. D9 o# o- _ z- ?PS.安装版里面小动作不少。改主页什么的就不说了,生成LJ也太多。再次感谢很多朋友建议与反馈,此为最终版本。一切为了稳定、快速与简洁。
6 o- X- e- `: q/ b3.28更新:
0 }9 T& W* H2 B+ U: J4 ^1.更新QQ优化小工具,添加主界面等级图标补丁。
- e" Z( e+ Q; v3 O$ \7 q: P! g2.重新调整最小宽度与最小高度,解决上版调整至最小的情况下锁定大小失效。
% V, i% U* W! F3 V3 t: x3.26更新:% C8 ^ f3 j2 z( k
解决未启用CRM企业好友插件时,右键托盘图标退出后,可能提示异常处理的问题。
) O4 [ }+ M0 U5 ~
3 i7 V% K: j; ~3.23更新修正:重新上传压缩包,经过仔细测试没有问题:
6 w. y6 N# I& z( R' j3 K6 y% Z
1.完全去除聊天窗口好友不在线之类提示后留下的空白。
) b- L/ H- V J
2.去除QQ图片Tips上搜索表情按钮。
7 g2 V% ~' D$ v i1 ]
3.修正之前因部分文件未修改更新,导致点击消息管理器退出后自动退出的问题。2 ~8 ]% }9 |; j/ P! I
4.解决恢复侧边栏窗口较大的问题。0 L7 {( s& @& q
3.21更新:1.更新版本至QQ2011Beta1(3221),集成显IP组件(不需要的请删除QQ\Bin文件夹下qqext文件夹与msimg32.dll即可)。
# f& ~& Y$ i( ? ^5 M$ D
2.更新QQ优化小工具,添加桌面赛事直播与便签补丁、添加迷你资料卡补丁、添加主界面搜索栏补丁及侧边栏补丁(new)。另外整合VC运行库补丁、清理%Appdata%\Tencent(官方版会产生较多LJ文件)以及注册相关dll作为绿化选项。配合QQ优化小工具可以完全实现安装版的所有功能。
! v. g% |8 M9 J0 h$ O' g8 c
3.对上版修改进行完善。
9 S# r Q% c8 P* [" z* w4 `! E
PS.这个版本经测试非常稳定,除非官方更新较大才考虑更新。
+ v H" N* t! _. O1 w
3.18更新:此次修复QQShow插件因免QQExternal.exe刷新QQ秀导致崩溃问题。
0 A- |' @2 m8 t6 m2 u
3.14更新:1.重新调整dll中最小宽度。# P5 d2 M$ `$ {9 y0 u
2.破解最小高度,解决之前不能调整登录中高度,造成不能保存登陆后主界面较小尺寸。
3.添加QQ优化小工具。. c6 z* J. b5 N% O2 ?' s) ~3 S. X
4.添加QQ插件管理器。已经破解QQ注入检查,QQ管理器可以用来登录。
. b# L2 m* V" [8 Q
3.11更新:去主面板搜索框与去迷你资料卡补丁。
. n0 D( \& x) `, _* k
3.10更新:, m9 Y4 g7 L: b- a
1.更新QQ2012Beta1(2991),目前仅更新了绿色版。; q7 ^) K/ P2 H& l/ l% Q
2.去除主面板等级图标。
+ ? f! r. t6 ?9 T# n1 q6 |
3.去除迷你资料卡中好友推荐图标。
' A) ?' S4 x0 Q1 F
PS.先看反馈情况,已测试了5天,如果不出问题,将完善优化小工具。安装版暂时不考虑制作。
5 d* {9 u W& P$ Z/ U8 d- S
10.28更新: 9 D- |' z2 H6 a
增加离线可发动一下表情。! o8 J2 l; |: ?/ h4 A" y/ n( N
PS.如不出什么问题,这版QQ2011正式版基本上很稳定了,不再频繁更新了。, o0 S5 e m' \" j5 e
10.25更新: 1 s- d. s u+ M: B: B( z9 E
1.更新QQ优化小工具。
; [7 p# h( C2 M1 D. S
2.添加聊天侧边栏与扩展按钮去除与修复。
0 m6 {7 I# Y1 k) _; a( }
3.修复注册相册、网盘上传与快速登录控件。
6 p, E3 S6 \# \$ v
10.24更新:; }+ }- V8 o9 {4 U
解决聊天窗口高度不能更改的问题。" {+ Q3 G6 d$ a0 o5 \2 ~7 H7 k
10.22更新:. X- D) t3 V0 [3 n
1.更新QQ优化小工具,增加魔法表情与迷你资料卡补丁。
5 K8 T' B }, c, E; J
2.修改去除聊天窗口最小宽度限制,可更改聊天窗口大小(如果有QQ秀插件,则大小跟QQ秀图像大小有关,建议隐藏侧边栏)。
Y2 a- j- j4 e5 Q
3.更改魔法表情图标修改位置,解决出现错位的情况。
8 Y& z& J' r: w, C% s: P1 c
4.更新3个版本,包括安装版,绿色版与绿色版不带侧边栏不带侧边栏扩展按钮版本。9 ^* x6 N5 u+ R9 w" C# z
10.17更新: # r6 R3 Y# G+ L [+ d6 [. A6 b. F
1.更新至QQ2011正式版,包括安装版与绿色版。
8 D3 ~$ o# Q# J8 X- l& \ R
2.这次正式版经过细致的重新分析以前的修改并做相应的优化。
) r/ s. z6 L( l" i
2.去掉迷你资料卡上的推荐好友图标。( m5 e' U& g( `
10.2更新:
* |1 S1 Y8 A( h! g+ j
更新安装版本,解决之前安装错误。
4 q* O9 Y7 [* a8 w; w
9.30更新: 9 {% v2 E+ v( b3 d- m# Z
1.考虑到很多朋友需要QQ秀侧边栏,上传一个显IP的带默认聊天侧边栏的安装版本.绿色版本则分两个版本。
2.增加迷你资料卡QQ秀框与群图像框恢复 (包括带侧边栏与不带侧边栏)。
3.QQ优化小工具更新。
4.细节调整。- L7 F/ L1 d' g2 _# u% y
9.28更新:
) G$ R: O3 [ A- Q0 O6 a
正式版早就做了,包括绿色版和原版安装版。只是一直在完善和测试,确定没有什么问题了才放出来。
1.彻底屏蔽AddrSearch.dll自动下载。$ n; e) j- _: d
2.彻底屏蔽SafeBase文件夹及其相关文件生成。4 Q# Q1 ^ `' L) j- ]
3.去除好友与群聊天框好友不在线、发送消息频率太快以及发图过大过快之类的提示。5 `' T& A5 G+ g6 B k8 h, g: ]
4.增加了Shuax的XP可开启透明。
( e) m% T' F$ O: y- T
5.去除添加VAS组件后应用盒子里多余的图标。! E) J& p1 t; q9 s3 J
PS.以后不再区分显IP与否,不需要显IP插件只需要删除Bin文件夹下qqext文件夹与msimg.dll文件即可。
" [. g% F6 v5 @$ S3 I8 i
9.23更新 :
1.基于本版绿色版的目录结构制作安装版,添加了qqext显ip组件。6 a' d2 c: R. V& m: L% ]0 z
2.去除了logs文件夹以及Log日志文件生成(除安装版安装的时候由安装包生成的安装日志,删除就可以了) 。
9.21更新:
3 z7 ]' `6 r' ?* I! ^
更新QQ优化小工具,解决了WIN7 VC运行库问题,采用原版安装方式。5 X1 C" c& N. i) D2 ^6 H1 C8 R
9.13更新: , }* F+ v7 a6 a8 o* H
1.彻底解决登陆界面安全提示空白栏,不需添加多余的文件。
3 [0 J- e1 f6 h; \5 y. p/ U3 k \
2.设置聊天框侧边栏最小宽度和默认宽度为0,解决去除QQ秀插件后进行文件传送,打开聊天记录之类的动作后,会出现侧边栏空白。" ]$ C% H+ U4 M( Z$ s
3.去除侧边栏扩展隐藏按钮。
$ n; S6 U2 I7 P7 Q( b: U
4.更新优化小工具,打开即注册好相册上传,网盘上传,快读登陆控件。
0 x- |* d2 @0 t
5.更新童话的QQ秀免External.exe补丁。
* o/ g; o3 `" c& d3 y+ D4 _/ b+ ^, d; s
6.去除添加用户状态插件后,应用盒子里多余的QQ浏览器图标(其余均保留)。
9.9更新:
: H0 J1 t/ M& g0 B5 w
此次更新较多,全部通过修改dll实现,不会再下载不该有的文件与文件夹:
1.彻底去除自动更新文件夹及其配置文件(%APPDATA%\Tencent\QQ\Misc\AuTemp)。
2.彻底去除设置里更新项,而不是以前那样只是屏蔽选项。6 G o1 ^% \' j
3.彻底去除vip用户(或开启本地vip)登陆中界面的超链接(尊敬的QQ会员,欢迎您),不会点击打开会员网站。6 `7 s3 `8 n( L5 L
4.彻底去除登陆中界面下方的图片链接广告,不是以前通过建同名空白文件来屏蔽的方法(%APPDATA%\Tencent\QQ\Misc\OAPanelLogo)。
5.彻底去除QQ医生文件夹(%APPDATA%\Tencent\QQ\QQDoctor)。
6.彻底去除QQ医生自动下载的配置文件(QMConfig.dat)及其文件夹(:%ProgramData%\Tencent\QQDoctor)。
7.彻底去除QQ新皮肤预览图片文件夹及其提示(%APPDATA%\Tencent\QQ\Skins\RecommendPreview)。
8.彻底去除"交谈中请勿..."提示,非通过修改csc\7\18屏蔽。
2 z! i- U+ v6 K6 ~5 m. d5 C5 u
9.彻底去除QQ群页面中多余的页面如:群团购、群热点、群推荐等(%APPDATA%\Tencent\QQ\Misc\GMF)。! n! _' B, M# K2 V- u9 ?' Z
10.去除了QQ医生与电脑管家扫描的行为,现在去掉了T*000001.tsd、TSE*.dat这五个文件也不会再横版登陆界面以及竖版登陆界面有空白栏出现了(Bin下必须保留密码安全输入组件TSSafeEdit.dat)。
11.彻底去除扫描组件自动下载到临时文件夹中的行为。
% Y: \4 C$ ]. J, r. g! V3 E6 }: h
12.更新QQ优化小工具,精简掉了通过修改dll实现的优化项。
. A l: }% v; o- P
13.再次修改相关dll中的面板宽度,实现完全一致,官方无面板宽度限制版体验。4 h+ \$ b' K. u; s- e* R% P8 W8 H' t
PS.还有的修改不记得了(已测试了多天,比较稳定,感谢bvvvvb帮忙测试以及提出许多建议)。
9.3修正: 4 |, L" i. X) @
修正由于xtml.rdb文件经过修改偏移地址改变导致QQ优化小工具部分功能出错。
+ t1 f9 P: `7 e }' F4 n% t
9.2更新:
: c0 i& |; o8 S+ B" H
新增无限抖动(其实对方收不到那么高频率的抖动)。
9.1更新: ' D' V' y1 O% z
9.1晚修正:修正抖隐身文件的一处字节错误。) p' q* N5 M/ P% M9 [# c4 g4 m& `
1.再次修改登录、登录中、登录之后以及锁定后界面宽度,无论是调大调小都协调一致且可记忆。
2.修改竖版登录界面中输入账号密码框长度以及下面文字链接的位置,使得改变登录界面宽度时显示较协调。
3.更新QQ优化小工具,增加屏蔽新皮肤提示。
8.30更新:1 P4 ?& n$ ^/ V: y- V: E; X
" b- o! U: r. q( L9 @
1.更新至QQ2011 beta4。# d$ u7 U; E% W9 `9 z6 G
2.去除主菜单帮助中的在线更新。
3.修复设置界面中点更新自动退出的问题。
8.31晚修正:
; a0 P: p& R9 M/ C5 @
1.解决登陆时登陆中界面宽度拖动则变回原来大小。
2.修改QQ锁定界面最小宽度。
) W* d5 Y1 i) I8 Y4 C
8.12更新:
' X* L; c( C h$ s1 a/ [( h
随官方更新版本号至1.65.2237(数字签名时间戳8.9)。
8.8更新、8.9修正小工具:
! O2 u( B7 b4 S; A8 _8 M
1.更新版本号至1.65.2234。/ e% L5 w7 ?5 r9 i b+ B8 m
2.插件管理器增加“社交好友”插件的配置。
7.28更新:迷你资料卡QQ秀与群资料卡图像补丁
W, C/ S* U* @5 W7 q
添加迷你资料卡QQ秀和群资料卡图像补丁,可以方便恢复或者去除迷你资料卡QQ秀和群资料卡图像。3 d$ M7 d' Y/ `) C8 Q1 O
7.25更新:VC运行库补丁* O; v! X# X; A! q$ I/ l
6 ~0 t- ]! m& `, V/ Q
采用QQ原版运行库安装方式。
7.17再次修正:% |% }+ A/ t/ Q
解决表情包安装问题。1 @7 o/ ?5 L+ g, ?" G) m7 f
7.16更新:
$ r0 E& p: Z Y, l
1.重新调整过QQ表情搜索的位置,之前没有考虑开启会员时会有表情漫游提示。
9 F" N) \- z! a, o0 Z x+ w
2.更新至版本号1.65.2222。0 p8 y8 _! K5 o, F" T9 b# S) e
3.去掉了QQ主菜单中所有服务菜单。
4.修正QQ优化小程序中不完善的地方。
) W3 \: X, s5 u6 l% J* t$ G5 G
5.添加一个显ip版本,采用qqext最新版1016。
( g* a7 ^9 D7 n& }) e4 R
7.5更新:
. U- M+ w; O- M3 d
去除添加VIP插件后出现的彩贝导航。
' \! P" [" E! L4 f
7.3更新:
3 N; \" j' H: f4 z
修改QQ表情搜索框位置,界面完美显示。, m$ z( w! V/ z* ~$ M3 [
7.1更新:
4 B& N( K# l0 q# [. l) z
修改QQ表情页面群组标签长度、移动QQ表情搜索框到下方空白栏处、去除QQ表情编辑小标签中搜索表情项。2 i- T8 n7 M7 ?. ?3 u1 p
6.30更新:解决主面板宽度锁定记忆问题 Q2 G6 O0 ^$ p; w3 B
' d* P. f1 a( s) w
1.重新修改登陆面板、登陆中面板以及主面板最小宽度,界面显示协调。
2.同时修改部分资源文件,使得界面显示完整(如竖版登陆界面中LOGO)。
-------------------------------------------------------------
下载地址:
4 V( s- Y) `* A' R! B7 L3 b
QQ2012Beta1(3221)绿色版:http://115.com/file/c2prey65#QQ.7z
QQ2012Beta1(3221)安装版:http://115.com/file/c2pdok57#QQ2012Beta1.exe
QQ2011正式版绿色版: http://115.com/file/aqyimbal#QQ.7z
QQ2011正式版原版方式安装版:http://115.com/file/e6v3qer3#QQ2011.exe
-------------------------------------------------------------
本版QQ详情: ) J) K0 m, l6 [( D# Y& l( L' x( }
一、软件性能优化修改:
% L+ h4 C9 ]- m3 m3 G5 G- b
1.去dll校验、加入本地SSO、群多图、抖隐身以及离线动一下表情
9 `5 n; x% `+ @3 x- f
2.精简扫描组件、广告插件、报告组件以及自动更新组件等不必要的文件
" I D# Y8 g! \2 C, P( F2 k, k
3.精简插件,默认保留语音、视频、邮件、网盘、QQ秀、VIP及其选项、QQ空间、远程协助、好友映像、微博、天气、好友社交插件。为方便大家定制所需插件同时不必要再下载插件包,因此插件全部包含(禁用的插件保存在插件文件夹里的Backup文件夹中,需要恢复的插件直接移出去即可)。建议使用插件管理器,dragOn的作品(感谢dragOn),已经打包进安装包了。不需要插件管理器的,直接删除QQPluginMgr.exe与QQPluginMgr.xml即可; s% P2 l8 {9 C' T1 h1 }
4.屏蔽电脑管家和安全检查以及自动更新检查' x0 w# i8 k6 A2 e8 _8 @( n
5.屏蔽自动升级统计文件夹) z {* Q" x1 e9 H1 I3 D0 u
6.彻底屏蔽QQ安全扫描
$ ]3 ]9 a V) _+ P) ]* j' q
7.添加网盘、相册注册相关dll,不需要额外下载安装; L- ~4 u1 h) l" {- H `& b$ v( T
8.添加桌面便签补丁,如需要打上补丁即可。不需要的可以不打补丁,或者彻底删除\Bin\ark文件夹即可。
, i, C! }( H0 z/ E; B* k
9.添加魔法表情补丁,可选择恢复,默认去掉该图标
% M$ O$ k2 l+ s8 d7 @
10.使用旧版QQ网盘插件,完全去除QQ硬盘( X C9 a* l+ v9 y5 x5 {
(正式版使用新版带QQ硬盘)
5 d- b: k' h- K" [
11.修改登陆界面、登录中界面以及主面板最小宽度与最小高度在不影响美观的前提下调整为最小,同时可锁定记忆8 T8 P- e9 u0 R3 g% h3 e9 l
12.去除VIP插件中彩贝导航图标
. E# w4 S& W: R0 j- T
13.添加VC运行库补丁,QQ原版运行库完全不需另外安装运行库,解决部分朋友运行库无法安装。
# p/ r' n* L( b! H, _9 N, i
14.破解QQ注入检查
, Y. Q% G& l3 [3 H5 U- i/ k; A
15.添加桌面赛事直播与便签补丁(QQ2012beta13221)
16.首次使用绿化时清理之前版本残留LJ文件
$ W! n: _: E, X# G1 c
17.集成QQExt显IP组件
9 m* u& i" @+ W5 V
二、界面修改:2 k6 j' u) X2 g. v$ o
1.登录界面:
8 u/ V2 x ]5 b7 d
1.1.去除登录界面安全提示以及首次登录提示。) O: R1 h. u c9 K g- t n
1.2.登录界面更改安全登录为登录,去除安全登录小图标, X' ~* t/ g, k/ X3 W1 T
1.3.可选屏蔽登陆节日界面
~' S4 j7 m6 H. U" n
2.登录过度界面:
- T* t/ V% y/ d r; h2 S
2.1.屏蔽登录过渡框下方图片链接
5 D* l# z D0 v+ c0 [
2.2.屏蔽登陆过渡框vip登录链接
2 A* [9 }+ U3 \' M
3.主面板界面:4 b3 u( E4 z$ R" q( n @
3.1.去除应用盒子里与插件无关的图标
" f5 U5 w2 w/ O0 }7 _4 R- w. i. D+ z
3.2.去除主面板和设置的帮助按钮$ V3 V/ c- A/ t7 k
3.3.去除主面板安全图标按钮
) u2 b0 M' }6 }# s: B
3.4.去除主界面最小宽度限制
7 A2 T4 T% ^ Z, o
3.5.去除主菜单中所有服务项
/ _* U0 l% w5 J8 ?
3.6去除主菜单帮助中的在线更新项
* y( M8 f2 g9 a+ [
3.7.可选去除主面板搜索框1 E% @; z4 k [
3.8.去除主面板等级图标
$ T: m, C4 H2 c0 Q
4.好友聊天、群聊天界面:8 B3 N) y4 b \' L% g$ i6 ^& t
4.1.去除好友聊天界面中应用按钮下拉菜单中的手机免费聊QQ图标
+ |3 c# s' Y8 E4 h9 ~. Q; E8 E
4,2.去除聊天界面魔法表情按钮
( p, j& K/ d r+ r* l
4.3.去除群聊天界面休闲小游戏和群直播图标
) [0 f6 N! w9 B
4.4.可选屏蔽QQ祈福之类小图标' m. `0 j* \ p! Z
4.5.屏蔽QQ群热点,群团购之类页面,不写权限不改HOST
& |% F8 L1 l6 n& K
4.6.可选屏蔽QQ群相册快照临时文件
/ y+ Q5 ?' \- G; B
4.7.去除“交谈中请勿....软件”提示
) }/ O- O$ w+ e6 ~, d
4.8.修改QQ表情页面群组标签长度
. s6 x6 o$ `6 y
4.9.移动QQ表情搜索框到下方空白栏处
W! ~. z7 J' \, b( } y
4.10.去除QQ表情编辑小标签中搜索表情项
* N! X5 I, p1 b& }
4.11.可选去除侧边栏
; K" x5 W2 o; M7 p( {# @2 h" ?/ U
4.12.去除聊天窗口好友不在线之类提示! e* N5 z. p- O5 ^/ h
4.13.去除原先好友不在线之类提示位置留下的空白; C: j t1 h [3 d; L" l0 |; X
5.群、好友迷你资料卡界面:& t$ x [8 |: e$ e$ r* o
5.1.彻底去除好友迷你资料卡原QQ秀框及其位置,聊天侧边栏QQ秀不受影响,取决与是否有QQ秀插件(注:去掉了QQ秀插件后,建议使用小工具去除侧边栏),同时加长个性签名显示长度" q( B4 G+ a% h2 D& l* C w
5.2.彻底去除群迷你资料卡图片及其位置3 D, Y. A, [; F! S# v6 |
5.3. 群资料卡信息修改默认显示3行0 Y9 v* E0 y3 F7 K# \
5.4.去除迷你资料卡和个人设置面板中图标管理中的业务图标中安全达人、QQ管家之类的安全图标(其他显示这些图标的地方也不会有)
' k& l; w J) J# v. D
5.5.去除好友迷你资料卡中好友推荐图标! c- G9 T2 E2 ~2 [4 O
6.查找界面:7 P8 K0 X0 K. m6 a) Y) ^
6.1.去除查找联系人窗口左侧去广告后的空白区域
三、QQ优化小程序:4 c+ i3 e' ~& l! Y* ?5 o* H9 ]1 P
0 R. E# M3 s' ~: m w( |! Z
可以选择优化项目同时可以恢复,c++ builder编译& e5 t b' C# _( h. J
四、图片预览
, S% c9 p+ X; K7 |8 k7 Y& W' ?:) g' u0 ~5 j* L9 v3 h4 N: R, |; U2 K
: _; }3 P) U7 c/ Z# W
% M6 ]; z5 g0 ~# N# Q' U/ z
' j. U) x9 h6 ~5 G) N
: W+ z9 L0 ?8 z& L

/ s( T8 O h5 o- b
' }4 o4 }3 z: i. S, L5 \
& z; p1 v2 l- O; r6 H( V; s+ x
+ B$ ^/ Q$ G' K2 u# b# q) D
$ _4 N( D; F* J( m6 @) w+ G. ~
0 B+ |2 d' A' d) H
3 C& ?, d" v( i. D4 [4 `
" X* w0 @9 [+ F. Z8 p6 ~) \0 u五、QQ优化小工具源码:
: V0 E' ?9 E- A$ G/ C7 V5 F" t' Z6 ]5 v
5 ?4 P$ f+ e9 e- O8 S1 O8 U
[url=]复制代码[/url]- //.h
- //---------------------------------------------------------------------------
- #ifndef Unit1H
- #define Unit1H
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <Controls.hpp>
- #include <StdCtrls.hpp>
- #include <Forms.hpp>
- //---------------------------------------------------------------------------
- class TForm1 : public TForm
- {
- __published: // IDE-managed Components
- void __fastcall Button1Click(TObject *Sender);
- void __fastcall Button2Click(TObject *Sender);
- void __fastcall FormCreate(TObject *Sender);
- private: // User declarations
- public: // User declarations
- __fastcall TForm1(TComponent* Owner);
- };
- //---------------------------------------------------------------------------
- extern PACKAGE TForm1 *Form1;
- //---------------------------------------------------------------------------
- #endif
- //---------------------------------------------------------------------------
- //.cpp
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "Unit1.h"
- #include <SysUtils.hpp>
- #include <Dbghelp.h>
- #include <windows.h>
- #include <Registry.hpp>
- #include <stdio.h>
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- TForm1 *Form1;
- TGroupBox *GroupBox;
- TCheckBox *CheckBox[8];
- AnsiString appdata = getenv("APPDATA");
- AnsiString temp = getenv("temp");
- AnsiString CurPath = GetCurrentDir();
- AnsiString Bin = CurPath + "\\Bin";
- AnsiString QQ = appdata + "\\Tencent\\QQ";
- AnsiString QQPhotoDrawEx = Bin + "\\QQPhotoDrawEx.dll";
- AnsiString npQQPhotoDrawEx = Bin + "\\npQQPhotoDrawEx.dll";
- AnsiString TXFTNActiveX = Bin + "\\TXFTNActiveX.dll";
- AnsiString path[10]={QQ + "\\AuTemp",QQ + "\\Misc\\GroupAlbumSnapshot",QQ +"\\Misc\\LNN",QQ + "\\Misc\\LogoFile",QQ + "\\Misc\\OAPanelLogo",QQ + "\\Temp\\gm",QQ + "\\Misc\\GMF",CurPath + "\\Bin",QQ+"\\SafeBase",appdata+"\\Tencent\\QQDoctor"};
- AnsiString filename[13]= {temp + "\\qqsafeud.exe",temp + "\\selfupdate.exe",temp + "\\tf000001.tsd",temp + "\\tm000001.tsd",temp + "\\tseh.dat",temp + "\\tsehres.dat",temp + "\\tseloder.dat",temp + "\\tsengine.dat",temp + "\\tssafeedit.dat",temp + "\\tsvulengine.dat",temp + "\\tsvulinc.dat",temp + "\\tvl00000.tvl",temp + "tvl00001.tvl"};
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- bool DeleteDirectoryEx(const AnsiString &P)
- {
- if(P.IsEmpty()||P.Length()<4)
- return false;//参数长度必须大于3,即不能为磁盘根目录或空白
- int len=P.Length();
- char *Path=P.c_str();
- AnsiString Dir=Path;
- if(Path[len-1]!='\\')
- Dir=Dir+'\\';
- AnsiString Files=Dir + "*.*";
- WIN32_FIND_DATA wfd;
- HANDLE hFind=FindFirstFile(Files.c_str(),&wfd);
- bool Ret=true;
- AnsiString Tmp;
- if(hFind!=INVALID_HANDLE_VALUE)
- {
- bool bFind=true;
- while(bFind)
- {
- if(wfd.cFileName[0]!='.') //排除.与..
- {
- Tmp = Dir + wfd.cFileName;
- if(wfd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) //递归删除所有子目录
- Ret = Ret && DeleteDirectoryEx(Tmp.c_str());
- else
- {//删除所有文件,属性设置为Normal
- SetFileAttributes(Tmp.c_str(),FILE_ATTRIBUTE_NORMAL);
- Ret = Ret && DeleteFile(Tmp.c_str());
- }
- }
- bFind = FindNextFile(hFind,&wfd);
- }
- FindClose(hFind);
- }
- if(Ret)
- return RemoveDirectory(Path);
- return false;
- }
- //---------------------------------------------------------------------------
- bool CreateDirectoryEx(const AnsiString &path)
- {
- PCSTR str = path.SubString(1,path.LastDelimiter("\\\\")).c_str();
- return MakeSureDirectoryPathExists(str);
- }
- //---------------------------------------------------------------------------
- void CreateFileSD(const AnsiString &Filepath,bool ChooseDenied = true)
- {
- HANDLE file;
- SECURITY_ATTRIBUTES sa; //和文件有关的安全结构
- SECURITY_DESCRIPTOR sd; //声明一个SD
- BYTE aclBuffer[1024];
- PACL pacl=(PACL)&aclBuffer; //声明一个ACL,长度是1024
- BYTE sidBuffer[100];
- PSID psid=(PSID) &sidBuffer; //声明一个SID,长度是100
- DWORD sidBufferSize = 100;
- char domainBuffer[80];
- DWORD domainBufferSize = 80;
- SID_NAME_USE snu;
- //初始化SD
- InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);
- //初始化ACL
- InitializeAcl(pacl,1024,ACL_REVISION);
- //查找用户,并取得用户SID
- LookupAccountName(0,"Everyone",psid,&sidBufferSize,domainBuffer,&domainBufferSize,&snu);
- //设置该用户的Access-Allowed或Access-Denied的ACE,其权限为只读或可读写
- if(ChooseDenied)
- AddAccessDeniedAce(pacl,ACL_REVISION,GENERIC_ALL,psid);
- else
- AddAccessAllowedAce(pacl,ACL_REVISION,GENERIC_ALL,psid);
- //把ACL设置到SD中
- SetSecurityDescriptorDacl(&sd,TRUE,pacl,FALSE);
- //把SD放到文件安全结构SA中
- sa.nLength = sizeof(SECURITY_ATTRIBUTES);
- sa.bInheritHandle = FALSE;
- sa.lpSecurityDescriptor = &sd;
- file = CreateFile(Filepath.c_str(),GENERIC_ALL,FILE_SHARE_READ,&sa,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0);
- CloseHandle(file);
- }
- //---------------------------------------------------------------------------
- void DeleteAD(const AnsiString &path)
- {
- if(DirectoryExists(path))
- {
- if(DeleteDirectoryEx(path))
- CreateFileSD(path.c_str(),false);
- }
- else
- {
- CreateDirectoryEx(path);
- CreateFileSD(path.c_str(),false);
- }
- }
- //---------------------------------------------------------------------------
- bool RegisterDLLOrNot(AnsiString DLL,bool isReg = true)
- {
- HINSTANCE hLib = LoadLibrary(DLL.c_str());
- if(hLib == NULL)
- {
- MessageBox(0, "不能载入Dll文件!", "结果", MB_OK);
- return false;
- }
- //获取注册函数DllRegisterServer or DllUnregisterServer地址
- FARPROC lpDllEntryPoint = NULL;
- if(isReg)
- lpDllEntryPoint = GetProcAddress(hLib, "DllRegisterServer");
- else
- lpDllEntryPoint = GetProcAddress(hLib, "DllUnregisterServer");
- //调用注册函数DllRegisterServer or DllUnRegisterServer
- if(lpDllEntryPoint != NULL)
- {
- if(FAILED((*lpDllEntryPoint)()))
- {
- FreeLibrary(hLib);
- return false;
- }
- MessageBox(0, "注册或者反注册成功", "结果", MB_OK);
- }
- else
- MessageBox(0, "调用DllRegisterServer或DllUnregisterServer失败!", "结果", MB_OK);
- FreeLibrary(hLib);
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- if(Application->MessageBox("该工具是否放置到QQ安装目录下与Bin文件夹相同目录?如没有请点取消!","QQ优化小工具",MB_OKCANCEL)==1)
- {
- GroupBox = new TGroupBox(Form1);
- GroupBox->Parent = Form1;
- GroupBox->Top = 10;
- GroupBox->Left = 10;
- GroupBox->Height = 200;
- GroupBox->Width = 260;
- GroupBox->Caption = "功能优化列表";
- GroupBox->Visible = true;
- for(int i=0;i<10;++i)
- {
- CheckBox = new TCheckBox(GroupBox);
- CheckBox->Parent = GroupBox;
- CheckBox->Height = 17;
- CheckBox->Top = 17+17*i;
- CheckBox->Left = 17;
- CheckBox->Width = 200;
- CheckBox->Visible = true;
- }
- CheckBox[0]->Caption="屏蔽QQ自动升级文件";
- CheckBox[0]->Checked = true;
- CheckBox[1]->Caption="屏蔽QQ群相册快照临时文件";
- CheckBox[2]->Caption="屏蔽QQ祈福之类小图标";
- CheckBox[3]->Caption="屏蔽登陆界面节日";
- CheckBox[4]->Caption="屏蔽登录中图片链接";
- CheckBox[5]->Caption="屏蔽QQ群页面";
- CheckBox[6]->Caption="注册网盘、相册上传dll";
- CheckBox[7]->Checked = true;
- CheckBox[7]->Caption="彻底屏蔽QQ安全扫描";
- CheckBox[8]->Caption="桌面便签补丁";
- CheckBox[9]->Caption="魔法表情补丁";
- TButton *Button1 = new TButton(Form1);
- TButton *Button2 = new TButton(Form1);
- Button1->Parent = Form1;
- Button2->Parent = Form1;
- Button1->Caption = "执行";
- Button2->Caption = "恢复";
- Button1->OnClick = Button1Click;
- Button2->OnClick = Button2Click;
- Button1->Left = 10;
- Button1->Top = 215;
- Button2->Left = 190;
- Button2->Top = 215;
- }
- else
- {
- ShowMessage("请放置到QQ安装目录下重新运行次工具");
- Application->Terminate();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- for(int i=0;i<5;++i)
- if(CheckBox->Checked)
- DeleteAD(path);
- if(CheckBox[5]->Checked)
- {
- DeleteDirectoryEx(path[5]);
- DeleteAD(path[6]);
- }
- if(CheckBox[6]->Checked)
- {
- RegisterDLLOrNot(QQPhotoDrawEx);
- RegisterDLLOrNot(npQQPhotoDrawEx);
- RegisterDLLOrNot(TXFTNActiveX);
- }
- if(CheckBox[7]->Checked)
- {
- DeleteAD(path[8]);
- DeleteAD(path[9]);
- for(int j=0;j<13;++j)
- CreateFileSD(filename[j]);
- }
- if(CheckBox[8]->Checked)
- {
- AnsiString FromPath = CurPath+"\\Misc\\TxApp";
- AnsiString ToPath = QQ+"\\TxApp";
- int nLengthFrm = strlen(FromPath.c_str());
- char *NewPathFrm = new char[nLengthFrm+2];
- strcpy(NewPathFrm,FromPath.c_str());
- NewPathFrm[nLengthFrm] = '\0';
- NewPathFrm[nLengthFrm+1] = '\0';
- SHFILEOPSTRUCT FileOp;
- ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));
- FileOp.fFlags = FOF_NOCONFIRMATION ;
- FileOp.hNameMappings = NULL;
- FileOp.hwnd = NULL;
- FileOp.lpszProgressTitle = NULL;
- FileOp.pFrom = NewPathFrm;
- FileOp.pTo = ToPath.c_str();
- FileOp.wFunc = FO_COPY;
- SHFileOperation(&FileOp) == 0;
- }
- if(CheckBox[9]->Checked)
- {
- AnsiString xtml = CurPath +"\\Resource.1.65.2222\\Xtml.rdb";
- ExtractShortPathName(xtml);
- FILE *fp = fopen(xtml.c_str(),"rb+");
- if(fp!=NULL)
- {
- //跳到文件开始第x字节处
- fseek(fp, 0xA280D,SEEK_SET);
- //写入16进制值,
- char a = 0x0F;
- fwrite(&a,sizeof(a),1,fp);
- fclose(fp);
- }
- }
- ShowMessage("操作完成,请关闭!");
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button2Click(TObject *Sender)
- {
- for(int i=0;i<5;++i)
- {
- if(CheckBox->Checked)
- {
- if(FileExists(path))
- DeleteFile(path);
- ShowMessage(CheckBox->Caption+"恢复完成");
- }
- }
- if(CheckBox[5]->Checked)
- {
- if(FileExists(path[6]))
- DeleteFile(path[6]);
- ShowMessage(CheckBox[5]->Caption+"恢复完成");
- }
- if(CheckBox[6]->Checked)
- {
- RegisterDLLOrNot(QQPhotoDrawEx,false);
- RegisterDLLOrNot(npQQPhotoDrawEx,false);
- RegisterDLLOrNot(TXFTNActiveX,false);
- ShowMessage(CheckBox[6]->Caption+"恢复完成");
- }
- if(CheckBox[7]->Checked)
- ShowMessage("该项建义不恢复!");
- if(CheckBox[8]->Checked)
- {
- AnsiString TxApp = QQ + "\\TxApp";
- DeleteDirectoryEx(TxApp);
- ShowMessage(CheckBox[8]->Caption+"恢复完成");
- }
- if(CheckBox[9]->Checked)
- {
- AnsiString xtml = CurPath +"\\Resource.1.65.2222\\Xtml.rdb";
- ExtractShortPathName(xtml);
- FILE *fp = fopen(xtml.c_str(),"rb+");
- if(fp!=NULL)
- {
- //跳到文件开始第x字节处
- fseek(fp, 0xA280D,SEEK_SET);
- //写入16进制值,
- char a = 0x08;
- fwrite(&a,sizeof(a),1,fp);
- fclose(fp);
- }
- }
- ShowMessage("操作完成,请关闭!");
- }
- //---------------------------------------------------------------------------
! {6 \) R0 @9 c3 k( P: b |