灰鴿子遠程控制軟件

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

查看: 13053|回復: 1
打印 上一主題 下一主題

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

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

本工具非寫入預定文件,而是在當前版本的dll基礎上修改,保證了穩定性
在騰訊修改勛章墻功能前,本工具是可以一直用下去的


本地測試通過,測試環境:winxp,windows10 x64
python編譯版本:2.7.14

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

使用方法:
1. 下載exe直接運行即可,無需關閉QQ。
2. 電腦有python環境的下載源碼,自行運行。

#!/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好友和群
收藏收藏
回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

GMT+8, 2025-3-13 18:42 , Processed in 0.079432 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黑人无码精品又粗又大又长 | 无码精品尤物一区二区三区| 国产AV无码专区亚洲AV琪琪| 免费无码国产V片在线观看| 国产又爽又黄无码无遮挡在线观看| 国产成A人亚洲精V品无码性色| 亚洲色在线无码国产精品不卡| 精品人妻少妇嫩草AV无码专区| 国产精品VA在线观看无码不卡| 国产成人精品无码专区| 亚洲精品无码久久久久去q| 成人麻豆日韩在无码视频| 亚洲最大中文字幕无码网站| 国产台湾无码AV片在线观看| 潮喷大喷水系列无码久久精品| 亚洲国产成人精品无码区在线秒播 | 国产成人无码免费视频97| 亚洲成AV人片在线观看无码| 无码人妻少妇久久中文字幕 | 精品人无码一区二区三区| 亚洲成A人片在线观看无码3D| 性色av无码不卡中文字幕| 久久综合精品国产二区无码| 日韩乱码人妻无码系列中文字幕| 亚洲中文字幕无码不卡电影| 永久免费av无码网站大全| 亚洲午夜无码久久久久小说| 久久午夜夜伦鲁鲁片免费无码| 中国无码人妻丰满熟妇啪啪软件 | yy111111少妇影院里无码| 亚洲av无码一区二区三区人妖| 亚洲精品无码成人片久久不卡| 无码人妻精品一区二区三区久久| 免费无码又爽又刺激网站直播 | 东京热无码一区二区三区av| 无码人妻久久一区二区三区蜜桃| 国产强被迫伦姧在线观看无码| 亚洲6080yy久久无码产自国产| 亚洲精品无码专区在线播放| 亚洲精品无码mⅴ在线观看| 亚洲看片无码在线视频|