android黑科技系列——破解一款永久免費網路訪問工具

來源:互聯網
上載者:User

標籤:流程   專業   font   格式   sso   blog   資料結構   實現   aml   

一、前言

因為最近個人需要,想在手機上使用“進階搜尋”,但是找了一圈發現都是需要收費的網路工具,奈何我沒錢,所以只能通過專業技能弄一個破解版的。

二、應用分析

下面就直接奔入主題。首先我們看到到期介面如下:


提示會員還有0天,所以這個就是我們的突破口,直接反編譯這個app,然後找到這個字串資訊:


然後用Jadx開啟apk檔案,全域搜尋這個name值:


直接點進入進行查看即可:


最終會跟蹤到這個方法中,我們在這裡發現兩個關鍵點:一個是程式會把使用者的有效期間儲存到本地xml中,一個是這個程式漏洞,沒有關閉日誌資訊,所以我們直接利用這個漏洞查看日誌資訊即可,不過這裡先不進行查看,繼續全域搜尋儲存xml的key值:service_expired_time,看看哪裡進行儲存的,這裡猜想肯定是伺服器下發的配置資訊:


這裡看到有很多地方都有儲存,我們一次進行查看,最後發現是這個地方:


為什麼說是這個地方呢?因為我們發現這裡的tag和上面的日誌tag是一樣,都是MainActivity。而我們直接查看日誌資訊:


的確如此,看到這裡首先去擷取配置資訊,然後進行本地解密,將json轉化成map結構。這裡我們為了介紹更多。看看他的解密演算法實現:


一個很簡單的AES演算法。key也是本地寫死的。我們為了後面驗證解密演算法有效。我們在單獨寫一個Android程式,把這部分解密函數拷貝出去,然後用來解密資料:


然後我們用剛剛列印的日誌中的擷取配置url,放到瀏覽器中訪問查看:


把這段密文拷貝到Android解密程式中,然後運行Android程式,查看日誌:


解密之後是一個json資料,我們用工具進行格式化查看資訊:


看到這裡三個欄位,一個是可使用的天數,一個是有效期間時間,一個是目前時間。

三、技術延伸

好了到這裡,我們就大致清楚了,這個工具的流程:先去伺服器擷取配置資訊,然後解密成json格式轉化成map結構,然後解析其中的一些欄位,比如有效期間和天數資訊儲存到本地。如果發現到期了就不能直接使用工具了。而我們這裡會發現突破口是他的日誌漏洞,所以在開發過程中一定要記得程式發布前清掉關鍵日誌,其實有開關控制也不靠譜,之前分析過一款app,他的日誌雖然有開關,但是我們可以手動把開關開啟即可。所以為了最安全,最好刪除關鍵資訊日誌。

第一、分析手機tcp包資訊

那麼既然這款app沒有日誌資訊,我們該怎麼突破呢?我們可以抓包,而我們可以看到這個擷取配置資訊是https協議。所以用Fidder等抓包工具擷取可能會失敗。所以這裡可以用tcpdump+Wireshark來直接分析tcp包資訊:


看到TLS協議了。如果有人分析過這個安全性通訊協定,知道這個流程,網上大神總結的一張圖:


然後我們可以看到他的Application Data資料:


限於篇幅原因,不在詳細介紹如何進行解密這個協議資料,內容後面會單獨寫一篇文章如何解密TLS資料。

第二、免root管理裝置網路

現在Android中VPN功能,都採用的VPNService進行開發的,這個我在之前介紹一個攔截視頻廣告app的時候也提到過,他的原理就是藉助VPNService進行免root攔截廣告要求從而做到過濾廣告功能,這個功能需要授權:


關於這個VPNService如何開發使用,網上有一些資料,感興趣的同學可以自行搜尋即可。

四、破解方案

上面轉折了一下延伸了一些內容,現在我們在回到正題,上面已經分析完了app的使用有效期間流程,那麼破解就非常簡單了,方法有很多。這裡我們直接採用插入代碼方式修改伺服器下發的資料即可。我們這裡為了簡單,直接修改map結構中的那幾個重要欄位值,有效期間和使用天數。反編譯擷取到smali代碼之後,我們這裡沒必要去手動寫smali代碼,而是可以利用demo寫好插入map的資料結構資訊:


然後反編譯demo程式,擷取到對應的smali代碼:


然後插入到反編譯app的smali代碼中即可:


然後在回編譯,簽名之後用Jadx工具查看,是否插入成功:


已經完成插入功能,我們安裝看看是否有效:


這裡看到,破解成功,可以正常使用了,到這裡我們就介紹完了,如何破解一款VPN工具永久免費。

五、技術總結

我們在破解過程中發現,這個工具存在很多安全隱患,關於工具安全提議:

第一:發布前還是請刪除關鍵核心資訊。特別是日誌,不要用開關控制。直接刪除。

第二:關鍵資訊最好做一層核心加密。比如上面的AES解密功能可以放到so中安全性會高。

第三:對整個app做一次安全防護,防止被破解。

關於破解工具類app,其實很簡單,因為工具app的話一般我們想要而要收費的功能肯定是放在本地只是有一個開關控制起來了。而對於這類app破解的話,只要找到這個開關,直接篡改即可。而對於一些伺服器控制的功能比如視頻的會員資訊破解就有點麻煩了,因為你的資訊在伺服器,伺服器會根據你是否為會員下髮指定的視頻資訊。所以以後如果要想破解工具類app的話,相信一點。一定能成功的。而且思路也很簡單明了。

在本文閱讀完成之後,我們可以瞭解到的一些技術:

第一:Android中免root攔截網路請求或者VPN開發可以藉助系統類別VPNService功能。這個功能需要進行授權。

第二:瞭解到tcpdump+Wireshark工具進行分析手機的tcp包資訊。這個後面文章會詳細介紹分析流程。

第三:app在上線發布之前一定要記得刪除關鍵資訊的日誌。避免造成安全隱患。

android黑科技系列——破解一款永久免費網路訪問工具

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.