真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用Python解決Teamviewer被誤認為商業(yè)用途的問題-創(chuàng)新互聯(lián)

Teamviewer是一款非??岬倪h程控制系統(tǒng),可以遠程協(xié)同工作,分為個人版本和商業(yè)版本。個人版本可以基于非商業(yè)目的自由使用,商業(yè)版本需要付費(至少一個月49美元)。

在梁子湖等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),梁子湖網(wǎng)站建設(shè)費用合理。

Teamviewer會根據(jù)一套算法檢測當(dāng)前是否用于商業(yè)用途,可能根據(jù)在線時間,是否跨網(wǎng)段遠程訪問,當(dāng)前操作系統(tǒng)是否為專業(yè)或企業(yè)版,以及其他因素進行檢測,具體算法不得而知,不過有時明明只是個人非盈利目的使用,卻彈出下面的對話框,在1到5分鐘后就會自動斷開,然后就連不上了,觸發(fā)重新運行Teamviewer。

使用Python解決Teamviewer被誤認為商業(yè)用途的問題

其實解決這個問題也很簡單,Teamviewer是怎么知道哪臺機器疑似商業(yè)用途的呢?為什么每次運行Teamviewer,密碼每次都不一樣,但ID是一樣的呢?

如下圖,這是Teamviewer的主界面。之所以Teamviewer能控制每一個客戶端,是因為ID已經(jīng)與本機綁定。

使用Python解決Teamviewer被誤認為商業(yè)用途的問題

ID通常與本機的Mac地址(網(wǎng)卡的地址)以及其他信息有關(guān)(如配置文件中的屬性值),不同操作系統(tǒng)不同。本文將通過Python語言自動修改這個ID,只要ID改變了,即使被識別出了商業(yè)用途,再次啟動,由于ID已經(jīng)改變,就相當(dāng)于重新在一臺全新的機器上運行,再識別出商業(yè)用途,再改變一次ID就可以了。

本文解決Mac版本的Teamviewer的疑似商業(yè)用途問題,Windows版的問題請見本文最后的部分。

本文使用Python 2.7編寫,為什么使用Python 2.7呢,因為本文的讀者并不都是Python程序員,Mac OS X默認自帶Python 2.7,所以直接就可以運行本文提供的腳本。如果讀者機器上安裝了Python 3.x,請切換到Python 2.7,然后再運行本文提供的腳本。建議讀者使用Anaconda,這樣可以很容易地在Python 2.7和Python 3.x之間切換。

其實更改ID的基本原理就是必須要用root權(quán)限執(zhí)行腳本(在普通用戶狀態(tài)使用sudo切換到root權(quán)限),然后獲取當(dāng)前用戶對應(yīng)的目錄,刪除一些配置文件,然后修改一些配置文件中的ID值。具體的文件和操作直接看后面的代碼吧。

import sys
import os
import glob
import platform
import re
import random
import string

print('''
--------------------------------
修改Teamviewer for Mac的ID
--------------------------------
''')
#  必須是Mac系統(tǒng),否則本腳本無效
if platform.system() != 'Darwin':
    print('必須是MAC OS X系統(tǒng).')
    sys.exit();

if os.geteuid() != 0:
    print('必須用root權(quán)限執(zhí)行腳本.')
    sys.exit();
#  如果在root權(quán)限,os.environ['SUDO_USER']返回用戶名,如lining
if os.environ.has_key('SUDO_USER'):
    USERNAME = os.environ['SUDO_USER']
    if USERNAME == 'root':
       print('請通過sudo命令切換到root權(quán)限')
       sys.exit();
else:
    print('請通過sudo命令切換到root權(quán)限')
    sys.exit();
#  下面兩個目錄是要搜索包含teamviewer字樣的文件
HOMEDIRLIB = '/Users/' + USERNAME  + '/library/preferences/'
GLOBALLIB  =  '/library/preferences/'

CONFIGS = []

#  獲取配置文件的完全路徑
def listdir_fullpath(d):
    return [os.path.join(d, f) for f in os.listdir(d)]

for file in listdir_fullpath(HOMEDIRLIB):
    if 'teamviewer'.lower() in file.lower():
        CONFIGS.append(file)

if not CONFIGS:
    print ('''
為發(fā)現(xiàn)配置文件,沒什么可以刪除的
''')
# 刪除配置文件
else:
    print("發(fā)現(xiàn)配置文件:\n")
    for file in CONFIGS:
        print file

    print('''
這些配置文件將被永久刪除
''')
    raw_input("請按鍵盤刪除文件或按組合鍵退出程序")

    for file in CONFIGS:
        try:
            os.remove(file)    //  刪除文件
        except:
            print("不能刪除文件,是否權(quán)限不夠?")
            sys.exit();
    print("搞定!")

# 下面的文件會替換里面的值
TMBINARYES = [
'/Applications/TeamViewer.app/Contents/MacOS/TeamViewer',
'/Applications/TeamViewer.app/Contents/MacOS/TeamViewer_Service',
'/Applications/TeamViewer.app/Contents/Helpers/TeamViewer_Desktop',
]
//  這些文件必須存在,否則退出程序
for file in TMBINARYES:
    if os.path.exists(file):
        pass
    else:
        print("File not found: " + file)
        print ("Install TeamViewer correctly")
        sys.exit();

#  開始替換上述文件中的值
def idpatch(fpath,platf,serial):
    file = open(fpath, 'r+b')
    binary = file.read()
    # 定義模板
    PlatformPattern = "IOPlatformExpert.{6}"
    SerialPattern =  "IOPlatformSerialNumber%s%s%sUUID"
    # 開始替換
    binary = re.sub(PlatformPattern, platf, binary)
    binary = re.sub(SerialPattern % (chr(0), "[0-9a-zA-Z]{8,8}", chr(0)), SerialPattern%(chr(0), serial, chr(0)), binary)
    # 更新待修改的文件
    file = open(fpath,'wb').write(binary)
    return True
//  產(chǎn)生隨機數(shù),用于生成隨機的ID
def random_generator(size=8, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))

RANDOMSERIAL = random_generator()
RANDOMPLATFORM = "IOPlatformExpert" + random_generator(6)

#  開始依次替換前面文件中的內(nèi)容
for file in TMBINARYES:
        try:
            idpatch(file,RANDOMPLATFORM,RANDOMSERIAL)
        except:
            print "錯誤:不能修改: " + file
            sys.exit();

print "PlatformDevice: " + RANDOMPLATFORM
print "PlatformSerial: " + RANDOMSERIAL

print('''
ID需要成功
!!! 必須重啟計算機才能生效,good luck !!!!
''')

將上面的代碼保存在change_id.py文件中,然后在Python2.7環(huán)境下執(zhí)行如下命令:

sudo python change_id.py

按一下鍵,就搞定了,最后重啟一下機器,會發(fā)現(xiàn)ID改變了?,F(xiàn)在不會有人來打擾你了,盡管用Teamviewer吧。

如果使用Windows,可以按下面步驟搞定。

本文以最新的teamviewer13為例,步驟如下:

step1:

卸載teamviewer13

step2:

刪除下面2個目錄
C:\Program Files (x86)\TeamViewer
C:\Users\Administrator\AppData\Roaming\TeamViewer

step3:

在注冊表中刪除下面的鍵值,如果沒有就不用刪除了。

HKEY_LOCAL_MACHINE\SOFEWARE\Wow6432Node\TeamViewer
HKEY_CURRENT_USERS\Software\TeamViewer
HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer

step4:

修改電腦網(wǎng)卡的Mac地址,這個有專門的軟件,也可也在硬件設(shè)備中找到網(wǎng)卡進行修改,不過有的驅(qū)動不支持修改Mac地址。

step5:

如果成功修改了Mac地址,重新安裝teamviewer13。

這樣ID就變了,如果過段時間再被誤認為商業(yè)用途,重復(fù)這一過程即可。

如果讀者覺得太麻煩,可以關(guān)注“極客起源”公眾號,輸如954720下載經(jīng)過處理的teamviewer版本,包括一個ID自動修改工具。

使用Python解決Teamviewer被誤認為商業(yè)用途的問題

掃描二維碼關(guān)注“極客起源”公眾號,技術(shù)文章、視頻課程應(yīng)有盡有

使用Python解決Teamviewer被誤認為商業(yè)用途的問題

《Python從菜鳥到高手》開始連載了

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁名稱:使用Python解決Teamviewer被誤認為商業(yè)用途的問題-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://weahome.cn/article/johcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部