macOS版TeamViewer 個人版被誤認為商業行為解決辦法

来源:https://www.cnblogs.com/liuyishi/archive/2018/10/08/9754532.html
-Advertisement-
Play Games

問題描述: 這周突然發現自己 MacBook 上的 TeamViwer 出現 5 分鐘限制(即,只讓我遠程連接 5 分鐘,然而事實是 1 分鐘左右便會自動斷開,並且需要等待一段時間後才可以繼續連接),提示讓我購買序列號。原因為:自己個人使用過於頻繁,被懷疑為商業行為!!! PS:下述的解決方案本人已 ...


問題描述:

這周突然發現自己 MacBook 上的 TeamViwer 出現 5 分鐘限制(即,只讓我遠程連接 5 分鐘,然而事實是 1 分鐘左右便會自動斷開,並且需要等待一段時間後才可以繼續連接),提示讓我購買序列號。原因為:自己個人使用過於頻繁,被懷疑為商業行為!!!

PS:下述的解決方案本人已在自己的 MacBook 上親測通過,因此大家可以將其作為一個參考。

解決方案:

在網上搜索了很久, 嘗試了很多方案,最後功夫不負有心人,終於在github上找到了一篇救命工具.核心思路:改變自己 MacBook 上 Teamviewer 客戶端的 ID。
現具體闡述解決方案:

1. 關閉 Teamviewer

2. 下載TeamViewer-id-changer.py。這裡非常非常感謝此代碼的編寫者!!!
代碼如下:

#!/usr/bin/env python 

#coding:utf-8
import sys
import os
import glob
import platform
import re
import random
import string

print('''
--------------------------------
TeamViewer ID Changer for MAC OS
--------------------------------
''')

if platform.system() != 'Darwin':
    print('This script can be run only on MAC OS.')
    sys.exit();

if os.geteuid() != 0:
    print('This script must be run form root.')
    sys.exit();

if os.environ.has_key('SUDO_USER'):
    USERNAME = os.environ['SUDO_USER']
    if USERNAME == 'root':
       print('Can not find user name. Run this script via sudo from regular user')
       sys.exit();
else:
    print('Can not find user name. Run this script via sudo from regular user')
    sys.exit();

HOMEDIRLIB = '/Users/' + USERNAME  + '/library/preferences/'
GLOBALLIB  =  '/library/preferences/'

CONFIGS = []

# Find config files

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 ('''
There is no TemViewer configs found.
Maybe you have deleted it manualy or never run TeamViewer after installation.
Nothing to delete.
''')
# Delete config files
else:
    print("Configs found:\n")
    for file in CONFIGS:
        print file

    print('''
This files will be DELETED permanently.
All TeamViewer settings will be lost
''')
    raw_input("Press Enter to continue or CTR+C to abort...")

    for file in CONFIGS:
        try:
            os.remove(file)
        except:
            print("Cannot delete config files. Permission denied?")
            sys.exit();
    print("Done.")

# Find binaryes

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();

# Patch files

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

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)


for file in TMBINARYES:
        try:
            idpatch(file,RANDOMPLATFORM,RANDOMSERIAL)
        except:
            print "Error: can not patch file " + file
            print "Wrong version?"
            sys.exit();

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

print('''
ID changed sucessfully.
!!! Restart computer before using TeamViewer !!!!
''')

3. 運行 TeamViewer-id-changer.py

sudo python Downloads/TeamViewer-id-changer.py

4. 重啟電腦
5. 重新打開 Teamviewer,若上述操作成功,你便會發現此時 Teamviewer 客戶端的 ID 已經發生了變化。否則,可以多嘗試幾次.


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • NAME getopt 解析命令行選項(加強版) SYNOPSIS (譯註: 1. 後面的譯文中將分別稱呼這3種語法格式為語法1、語法2、語法3 2. 請區分option、parameter、argument、option argument、non option parameter。如不清楚,請參考 ...
  • 設置vim自動縮進,行號,tab鍵寬度 如果是root超級用戶,他的主目錄是: /root ,打開文件vim的配置文件.vimrc 如果是tarena用戶,他的主目錄是:/home/tarena 打開文件vim的配置文件.vimrc set nu 設置行號 set autoindent 自動縮進 s ...
  • 目錄:(你將學習以下內容) 1.虛擬機是什麼? 2.虛擬機的功能 3.虛擬機的應用 4.虛擬機的種類: (1)VMware虛擬機 (2)VirtualBox虛擬機 1.虛擬機是什麼? 虛擬機的本質:虛擬機在本質上就是一個應用程式軟體。像在windows上運行的其他應用軟體一樣,只是他的作用功能不一樣 ...
  • 目錄(你將學到一下知識) 1.windows系統 2\. Mac OS系統 3.Linux系統 4.各系統的使用比例 1.windows系統 眾所周知,windows系統是目前最主流的系統,Microsoft Windows是美國微軟公司研發的一套操作系統,它問世於1985年,起初僅僅是Micros ...
  • 1.gitlab的概述 1.gitlab是什麼 是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,併在此基礎上搭建起來的web服務。 基礎功能免費,高級功能收費 2.為什麼要使用gitlab 1.基礎功能開源,可自行搭建 2.可以進行許可權控制,使得代碼對部分人可見 3.gitlab使用方 ...
  • 註:Linux中的所有內容均以文件的形式保存,但不依靠擴展名區分文件類型(根據許可權區分),約定俗成的文件擴展名是為了方便管理員對文件進行區分 壓縮包:“*.gz”、“*.bz2”、“*.tar.bz2”、“*.tgz”等,根據壓縮方式的不同設定不同的擴展名 二進位軟體包:“*.rpm” 網頁文件:“ ...
  • iptables策略與規則連 防火牆是由上而下的順序來讀取配置的策略規則,策略規則的設置有兩種:通(放行)、堵(阻止)。當預設策略設置為通時,就要設置拒絕規則,當預設策略為堵時,則要設置允許規則。 iptables服務把用於處理或過濾流量的策略條目稱為規則,多條規則組成一個規則鏈,規則連依據數據包處 ...
  • 1.查看防火牆狀態:firewall-cmd –-state 2.關閉防火牆:systemctl stop firewalld.service 3.禁止防火牆開機啟動:systemctl disable firewalld.service 4.關閉selinux:vi /etc/selinux/co ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...