2014年4月20日 星期日

oCam - 阻擋強制更新


oCam 是一套很實用且免費的螢幕錄影軟體,在 version 16.0 (大概,不確定確切版本)之前,要製作免安裝版很容易,但之後似乎就只有安裝版了。

尤其是 version 21.0  開始,底下增加了一個廣告橫幅,有點礙眼,因此有不少人希望保留使用舊版本,但往往又會遇到程式要求自動更新。

底下先分析 oCam 到底如何強制更新以及怎麼利用防火牆阻擋 oCam 強制更新。

oCam 官方網站:http://ohsoft.net/product_ocam.php
oCam 阿榮免安裝版下載點: http://www.azofreeware.com/2013/03/ocam-80.html

※ 部分方法適用於 Windows 7 以上作業系統


oCam 一個讓我覺得很奇怪的地方,就每當跳出有新版本需要更新後,會立刻執行最新版的 exe 安裝檔。

這是很詭異的一件事情,代表這個檔案已經存在於你的電腦裡面,安裝檔不是線上安裝,一個大約 5.x MB 的安裝檔就這樣莫名其妙跑到電腦裡面了,實在是不舒服。

後來發現到,其實 oCam 在一開啟的時候,就會檢查最新版 and 下載安裝檔案了。

《下面是分析 oCam 運作方式,只想了解如何阻擋可以跳過直接往下拉》

※ 底下圖看不清楚可以點選放大

底下是使用 CurrPorts 偵測 oCam 啟動的狀況 :


這個 IP 是固定的:222.231.49.108 (之後稱其為 "伺服器" ) ,
而隨後又會出現這個 IP:(不一定每次都是這個 IP)


因此我開了 Wireshark 抓封包,發現:


會送出一個 http GET request 到伺服器:

以及收到的 response:


這樣也就是說,程式會連上 http://222.231.49.108/update/ohupdate.php
(當然還有帶一些參數,底下會說明)
取得一串資料,如:
###!2014031701http://ohsoft.tistory.com/attachment/cfile6.uf@247794335328127E072FB0.exe!###
最前面可能是最新更新的日期,而黃底的部分就是最新版安裝檔下載的位置了。

這樣可以推測,程式連上伺服器之後,透過取得的資料判斷是否該更新,如果需要更新,就在連到該網址(黃底)下載最新版安裝檔,這也能夠說明為何 CurrPorts 會抓到兩個不同的 IP 了。

到這裡這裡,部份的人應該可以想到可以怎麼阻擋 oCam 連線: 修改 hosts 檔案。

確實這是一個方式,不過眼尖的人會注意到在 oCam 的 language file 裡面有這個東西:

注意 A 這行文字,看來程式會偵測 hosts 是否被修改,因此可能無法透過修改 hosts 檔案來阻擋。

而其實最快的方法,就是利用防火牆阻擋。

※ 補充: /update/ohupdate.php 的參數

上面提到,連上伺服器檢查更新的頁面帶有 GET 參數,一共有三個:
localip 、 macaddr 、  program

而其內容為你電腦的 IP 、 網卡位址(MAC Address) 、 哪個程式
的 Base64 字串,舉例:

IP :  123.123.123.123 => MTIzLjEyMy4xMjMuMTIz
MAC : AA-BB-CC-DD-EE-FF => QUEtQkItQ0MtREQtRUUtRkY=
Program : ocam => b2NhbQ==

可以用這個 Base64 Decode/Encode 網站來試試看:
http://www.base64encode.org/

則送出的網址就會如下:
http://222.231.49.108/update/ohupdate.php?localip=MTIzLjEyMy4xMjMuMTIz&macaddr=QUEtQkItQ0MtREQtRUUtRkY=&program=b2NhbQ==

這點也很討厭,居然會要我的 ip 和 mac....

【利用防火牆阻擋強制更新】

Windows 7 開始,系統內建的防火牆可以阻擋程式對外的連線 ( XP 之前只能阻擋連入的連線 ),因此可以直接使用 Win 7 內建的防火牆來阻擋強制更新,如此一來就不會被強制關閉 oCam 程式了,也不會偷偷下載安裝檔到電腦裡面。

至於使用較舊版 Windows 的可能就得透過安裝防火牆軟體來達成了,聽說 Comodo 不錯用,是免費的。Win7 如果有使用其他防火牆就使用該防火牆阻擋 oCam 對外連線即可。

底下簡單說明如何透過 Win7 內建防火牆阻擋,首先到控制找到防火牆的項目,如果不知道在哪邊可以上網 Google 一下,接著看圖說故事:


完成之後可以看到規則的地方多出了一個項目:


這樣就可以阻擋 oCam 的強制更新了。

另外一種方式就是透過類似反編譯的方法,直接修改執行檔。
這部分需要的先備知識較高,使用的軟體是 Ollydbg。

參考這篇:《oCam v13.0 - 移除強制更新 via Ollydbg》

7 則留言:

  1. 不好意思,請問一下XP的防火牆要怎麼阻擋呢??

    回覆刪除
    回覆
    1. XP 只能檔進,不能檔出,所以無法。
      除非安裝別的 Firewall

      刪除
  2. 我適用win8內建防火牆 是已經把廣告擋掉了,但把ocam關掉還是會跑出官方使用教學網站,是我有輸出軟體還沒關掉嗎

    回覆刪除
  3. 很精闢的文章 又有深度

    回覆刪除
  4. 又學到新招 大感謝
    歪額下課還在練qq

    回覆刪除
  5. 感謝您分享文章。 出色的演示方式。 與您提到的用於base64編碼的工具相比,還有另一個用於此目的的工具,該工具是
    url-decode.com/tool/base64-encode
    在一個鏈接下,它還包括與數字實用程序,單位轉換器,開發人員,字符串實用程序,轉換器和IP工具相關的工具。 您也可以檢查一下。

    回覆刪除