pc捍卫者
 当前位置 → pc捍卫者pc娱乐qq应用相关 → 浏览正文
QQ实现本地会员可用07II涂鸦技巧
作者:www.pchwz.cn    来源:www.pchwz.com    更新时间:2008年02月05日


03605EFF    FF15 38506C03   call    dword ptr [<&BasicCtrlDll.IsVIP>] ; BasicCtr.IsVIP
* ^判断当前登陆的QQ是否为VIP,因为VIP用户是可以关闭QQ广告的
03605F05    8365 FC 00      and     dword ptr [ebp-4], 0
03605F09    8BF0            mov     esi, eax
03605F0B    8D45 FC         lea     eax, dword ptr [ebp-4]
03605F0E    6A 01           push    1
03605F10    50              push    eax
03605F11    68 E8A76D03     push    036DA7E8                          ; ASCII "m_bMemberDisableAD"
03605F16    FF15 206D6C03   call    dword ptr [<&QQHelperDll.GetSysBoolData'>; QQHelper.GetSysBoolData
* ^获取广告显示设置
03605F1C    83C4 10         add     esp, 10
03605F1F    85F6            test    esi, esi
03605F21    5E              pop     esi
03605F22    74 0B           je      short 03605F2F
* ^关键!!! 不是VIP就跳的,所以把这个NOP了
03605F24    837D FC 00      cmp     dword ptr [ebp-4], 0
03605F28    74 05           je      short 03605F2F
* ^关键!!! 没关闭AD就跳,所以再把这个NOP了
03605F2A    6A 01           push    1
03605F2C    58              pop     eax
这样,就实现了去AD了
具体可以使直接NOP代码,或者采用Hook方法:
function IsVIP(pQQCore: Pointer): Integer; cdecl;
begin
  Result := 1;
end;
function GetSysBoolData(AText: PChar; p: Pointer; bIsVIP: Boolean): Integer; cdecl;
// int __cdecl GetSysBoolData(char const *,int &,int)
begin
  if AText = 'm_bMemberDisableAD' then
     begin
       Integer(p^) := 1;
       Result := 1;
       Exit;
     end; 
  Result := Call original Func;  调用原函数
end;

    探讨到此,一定会有人说:如果实现了本地会员,那就不用这么麻烦了嘛!显然,这是个捷径,实现起来也不难!关键是找到突破口!经过DASM的分析,QQHelperDll是个入手点。用PEExplorer认真查找,果然又有发现,那就是[email=IsVipUser@qdatCurrentUser@@QAEHXZ]IsVipUser@qdatCurrentUser@@QAEHXZ[/email]
一个无参数函数,Hook了,并让其返回EAX=1,呵呵,果然成了本地VIP,这个本地VIP就可以享受QQ2007II的涂鸦表情的功能了。
    可是到了这里却仍旧发现QQ的设置上,还是说你是"非会员",不能屏蔽广告,该怎么办呢?显然的是QQQSettingCtrl.dll并没有调用qdatCurrentUser::IsVipUser来进行判断。那它调用了哪个函数呢?让我们继续查找,N小时后发现新大陆!原来是[email=IsQQServiceEnable@@YAHI@Z]IsQQServiceEnable@@YAHI@Z[/email],这是一个unsigned int入口的函数,估计应该是服务功能号,根据此函数判断当前登录QQ用户的可用服务,于是Hook了,不管它的反应,一律返回EAX=1,再进行测试!呵呵,不出所料,成功了。

    本文所介绍的思路和方法不失为一条可行性较强的实现QQ本地会员的方法,其最终的目的就是实现QQ2007II涂鸦代码的这一重要功能,对QQ聊友来说,这又是一条好功能哟。

上一页
本文共 3 页,第  [1]  [2]  [3]  页

转截请注明:文章来自 pc捍卫者 http://www.pchwz.com 本站发布此文为传递更多信息之目的,不表明pc捍卫者赞同其观点

上一篇:腾讯QQ2009版下载地址      下一篇Q宠熊熊不能正常升级的解决
Tags:
 
 
>> 推荐文章
·qq免费领取流量骗局
·QQ空间:中国第一社交网络巨鳄
·微信:小抄写员的自媒体之路
·腾讯QQ2013广告:不再臃肿
·增长迅速:昨年腾讯营收196.46
·昨qq2011大面积无法登陆或为B
·天价QQ靓号值40万网友打横幅讨要
·腾讯很生气后果很严重
·三条避免QQ被盗的建议
·那点安全事儿:QQ借钱骗人
·QQ2010正式版假死三招解决办法
·警惕QQ农场外挂成盗号帮凶
·触动心灵波及灵魂的QQ情侣个性签名
·2010年QQ情侣个性签名-浪漫颓
·不再千篇一律:QQ空间个性留言代码
·最新QQ农场防狗咬偷菜心得
·成就聊天高手之QQ2009快捷键集
·不是教你坏:QQ农场另类快速升级法
>> 赞助商链接
|pc捍卫者|捍卫你地盘|唯尚技术|||版权声明|关于我们
本站文章除原创者其余源自网络,如有侵权请联系站长,将于24小时内删除