灰鴿子遠(yuǎn)程控制軟件

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

查看: 13057|回復(fù): 1
打印 上一主題 下一主題

QQ勛章墻全版本通用補(bǔ)丁v2.0 (附源碼) 配圖+下載地址

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2017-12-14 10:58:46 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
QQ勛章墻全版本通用補(bǔ)丁v2.0 (附源碼) 配圖+下載地址

本工具非寫入預(yù)定文件,而是在當(dāng)前版本的dll基礎(chǔ)上修改,保證了穩(wěn)定性
在騰訊修改勛章墻功能前,本工具是可以一直用下去的


本地測試通過,測試環(huán)境:winxp,windows10 x64
python編譯版本:2.7.14

下載地址:https://pan.baidu.com/s/1hsnJVdq 密碼:boav

使用方法:
1. 下載exe直接運(yùn)行即可,無需關(guān)閉QQ。
2. 電腦有python環(huán)境的下載源碼,自行運(yùn)行。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
import os
import _winreg
from time import sleep
import subprocess
 
 
Debug = False
version = '2.0'
 
def main():
    qqdir = ''
    dllfile = ''
     
    try:
        if ('PROGRAMFILES(X86)' in os.environ) == True:
            key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\Wow6432Node\Tencent\QQ2009",)
        else:
            key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\Tencent\QQ2009",)
    except WindowsError, e:
        print('can\'t find qqdir, maybe not install')
    else:
        qqdir = _winreg.QueryValueEx(key, "Install")[0]
        if Debug == True:
            print('[Debug] ' + qqdir)
        if qqdir != '':
            dllfile = qqdir + "\\bin\\OPMiscDll.dll"
            print('[Info] qqdir: ' + qqdir)
            crack(dllfile)
        else:
            print('[Error] can\'t find qqdir, maybe file is missing')
         
def crack(path):
    print('[Info] find file succeed: OPMiscDll.dll')
    print('[Info] start kill progress: QQExternal.exe')
     
    cmd = "taskkill /F /IM QQExternal.exe 2>nul 1>nul"
    ret = subprocess.Popen(cmd, shell=True)
    ret.wait()
     
    f = open(path, 'rb')
    filecontent = f.read()
    f.close()
    byte = bytearray(filecontent)
    if len(byte) == 0:
        print('[Error] read file failed: OPMiscDll.dll')
    else:
        result = modify(byte)
        if filecontent != result:
            g = open(path + '.new', 'wb')
            g.write(result)
            g.close()
         
            if os.path.exists(path):
                if os.path.exists(path + '.bak'):
                    os.remove(path + '.bak')
                sleep(1)
                if Debug == True:
                    print('[Debug] ' + path)
                print('[Info] backup file to OPMiscDll.dll.bak')
                os.rename(path, path + '.bak')
            if os.path.exists(path + '.new'):
                print('[Info] build new OPMiscDll.dll')
                os.rename(path + '.new', path)
     
def modify(byte):
    index = find(1, 0, ['b3', '01', 'eb', '02', '32', 'db', '0f'], byte);
    if (index != 0):
        index2 = find(2, index, ['ff', 'ff', '8a', 'd8', '0f', 'b6', 'd3'], byte);
        if (index2 != 0):
            index3 = find(3, index2, ['32', 'db', 'eb', '02', 'b3', '01', '0f'], byte);
            if (index3 != 0):
                index4 = find(4, index3, ['b3', '01', 'eb', '02', '32', 'db', '0f'], byte);
                if (index4 != 0):
                    index5 = find(5, index4, ['00', '00', '8a', 'd8', '0f', 'b6', 'd3'], byte);
                    if (index5 != 0):
                        index6 = find(6, index5, ['00', '00', '8a', 'd8', '0f', 'b6', 'd3'], byte);
 
    if (index != 0 and index2 != 0 and index3 != 0 and index4 != 0 and index5 != 0 and index6 != 0):
        byte[index] = int('b3', 16)
        byte[index + 1] = int('01', 16)
        byte[index2] = int('b3', 16)
        byte[index2 + 1] = int('01', 16)
        byte[index3] = int('b3', 16)
        byte[index3 + 1] = int('01', 16)
        byte[index4] = int('b3', 16)
        byte[index4 + 1] = int('01', 16)
        byte[index5] = int('b3', 16)
        byte[index5 + 1] = int('01', 16)
        byte[index6] = int('b3', 16)
        byte[index6 + 1] = int('01', 16)
        print('[Info] patch succeed')
    else:
        print('[Error] patch failed, maybe it already patched')
    return byte
 
def find(id, index, param, source):
    result = 0
     
    for i in range(index, len(source)):
                 
        if source == int(param[0], 16):
            if source[i + 1] == int(param[1], 16):
                if source[i + 2] == int(param[2], 16):
                    if source[i + 3] == int(param[3], 16):
                        if source[i + 4] == int(param[4], 16):
                            if source[i + 5] == int(param[5], 16):
                                if source[i + 6] == int(param[6], 16):
                                    if id == 3:
                                        result = int(i)
                                    elif id == 2 or id == 5 or id == 6:
                                        result = int(i + 2)
                                    else:
                                        result = int(i + 4)
                                    print('[Info] find ' + str(id) + ': ' + str(result))
                                    return result
                                 
    return result
                                                                         
if __name__ == '__main__':
    print("[Info] ==========================")
    print("[Info] http://www.52pojie.cn")
    print("[Info] ==========================")
    print("[Info] ")
    print("[Info] medalwall patch... v" + version)
    print("[Info] ")
    main()
    print("[Info] all mission done, Press any key to exit...")
    import msvcrt
    while True:
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if ord(msvcrt.getch()) < 255:
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break
評帖賺銀幣(0) 收起
分享到:  QQ好友和群QQ好友和群
收藏收藏
回復(fù)

使用道具 舉報

沙發(fā)
發(fā)表于 2017-12-15 19:15:34 | 只看該作者
的點(diǎn)點(diǎn)滴滴多多多多多多多多多多多多多多多多多多多多多多多多多多
評帖賺銀幣(0) 收起
回復(fù) 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|手機(jī)版|小黑屋|灰鴿子遠(yuǎn)程控制軟件|灰鴿子遠(yuǎn)程控制軟件 ( 魯ICP備14000061號-4 )

GMT+8, 2025-3-14 00:20 , Processed in 0.084796 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产怡春院无码一区二区| 亚洲va中文字幕无码| 办公室丝袜激情无码播放| 无码专区一va亚洲v专区在线| H无码精品3D动漫在线观看| 久久无码中文字幕东京热| 亚洲日韩乱码中文无码蜜桃臀网站| 孕妇特级毛片WW无码内射| 国产精品无码A∨精品影院| 精品久久亚洲中文无码| 中文字幕日韩精品无码内射| av无码aV天天aV天天爽| 久久久无码精品国产一区| 国产做无码视频在线观看浪潮| 中文字幕精品三区无码亚洲| 亚洲AV无码成人专区| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻系列av无码一区二区 | 自慰系列无码专区| 精品久久亚洲中文无码| 无码免费一区二区三区免费播放 | 亚洲AV无码专区国产乱码4SE| 亚洲Av无码乱码在线znlu| 无码国产精品一区二区免费式直播| 国产av永久无码天堂影院| 潮喷无码正在播放| 国产精品成人无码久久久久久 | 国产品无码一区二区三区在线蜜桃| 亚洲AV无码一区二区三区网址| 中字无码av电影在线观看网站| 亚洲AV无码成人专区片在线观看| 亚洲成A∨人片天堂网无码| 国产日产欧洲无码视频| 熟妇人妻系列aⅴ无码专区友真希| 日韩精品人妻系列无码av东京| 无码av专区丝袜专区| 亚洲精品无码MV在线观看| 亚洲av无码国产精品色午夜字幕| 亚洲av永久无码精品秋霞电影影院 | 无码国内精品久久人妻蜜桃| 无码专区天天躁天天躁在线| 无码日韩人妻精品久久蜜桃|