日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

记录一次xx应用的伪破解(一)(去广告 增加vip功能)

發布時間:2023/12/29 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记录一次xx应用的伪破解(一)(去广告 增加vip功能) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為啥叫偽破解

因為本人覺得沒有太大的技術含量,這次破解沒有涉及到so加密,加殼脫殼 IDA動態調試so等技術要點,純粹的屬于靜態分析。

文章目錄

    • 為啥叫偽破解
    • 實現了哪些功能
    • 工具
    • 一些廢話
    • 破解VIP的投屏功能
    • 破解APP的簽名校驗功能

實現了哪些功能

  • VIP的投屏功能
  • VIP的下載功能(bug已修復)
  • 去除開屏的3秒廣告
  • 去除穿插廣告
  • 破解簽名驗證
  • 去除代理檢測
  • 雜七雜八
  • 工具

    所謂工欲善其事必先利其器,良好的工具可以為我們節省大量的時間。本文涉及到的工具有
    androidKiller 一個不知名的大牛開發的安卓反編譯工具,其實本質還是apktool dex2jar ,jd-gui的集成,只不過圖形化了界面,使用更加容易。
    J2S2J1.3 52破解上扒來的一個工具,可以將java代碼編譯為Smali代碼,我們知道,反編譯別人的應用,我們首先看到的都是smali代碼,雖然 可以反編譯看到java代碼,但是我們的操作只能在smali代碼上進行操作,有時候我們不知道smali代碼怎么寫,這個工具就派上用場了,可以寫好java讓其編譯為smali代碼,然后復制粘貼即可,當然這不是說smali代碼不重要,還是很重要的,要不然你就算得到了smali代碼你也不知道怎么去修改。
    關于smali代碼的教程,可以參考 吾愛破解安卓逆向入門教程 這個教程一定要看,要不然入門都困難。

    一些廢話

    話說做安卓開發也好些年了,天天寫業務是真的煩,這次好不容易閑下來,終于能補充一些知識了。市面上有很多小而精的個人開發軟件,或者小團隊的軟件,都能急人所需實現一些人們想要的功能,但是通常情況下這些應用要么廣告滿天飛,要么就是要VIP,由于技術團隊限制,這些應用通常沒有進行加殼或者加密處理,即使是進行了簡單的混淆,對于安卓開發人員來說基本沒啥用,能猜出個差不多的邏輯。
    作為安卓開發人員豈能只滿足于寫UI 呢,豈能滿足于 滿世界找xx破解的應用呢,肯定要是自己動手,豐衣足食的。
    還是那句話,安卓開發不能忙,一忙就只會寫UI了。

    破解VIP的投屏功能

    下載原版的南瓜影視app,可以在視頻詳情頁看到 投屏功能,這個功能很多視頻app都有,但是把這個功能做成VIP專享就不地道了。先看一下截圖,然后辦他。

    接下來就是重點了,所有的破解思路都是這個套路。
    打開androidKiller這個軟件,打開我們要破解的apk,

    接下來你可能會遇到一些奇奇怪怪的問題,比如打開失敗,資源文件出錯等問題,出現這個問題可以點擊 Android---->
    APKTOOL管理器來更新一下apktool,我用的2.3.2版本。因為有些應用會利用apktool版本的漏洞來達到防止反編譯的作用,這個時候下載個最新的版本更新即可。
    也可能會遇到卡死在反編譯源碼,這個時候記得按照這個帖子,https://www.52pojie.cn/thread-646293-1-1.html 進行修正即可。
    修正完如果還是卡死,直接關閉androidKiller,再打開就行了。

    打開AndroidKiller后,按CTRL+F ,進行搜索,如圖

    搜索完畢,會在信息欄展示搜索結果,如圖所示

    很幸運我們這次搜索的內容在Strings.xml中存在,有的文案是寫死在java代碼里的,我們直接搜索漢字搜索不出來的時候可以將漢字轉為Unicode,在進行搜索,如圖

    找到這個文案后,就是我們的突破點,我們以后的破解基本都是這個思路,一個是文案,一個是資源id。
    雙擊點開搜索結果,會看到這個文案的命名

    同樣的方式,搜索這個名字,然后再搜索結果里找到public.xml文件,這樣我們就可以找到它的資源id了,同樣的方式鍵入資源id,點擊搜索,會得到如下結果

    這個就是廬山真面目了
    雙擊打開該文件,可以看到如下smali代碼,
    如果你看不懂這些代碼,沒關系,但是我強烈建議你要看懂,實在看不懂的話,點擊AndroidKiller的咖啡杯按鈕

    會自動幫你轉化為java代碼,如果這時候你提示源碼丟失請按照這個帖子https://www.52pojie.cn/thread-646293-1-1.html 再認真做一遍。
    源碼打開后,AK會自動打開jd-gui程序,在該程序頁面,我們搜索之前的資源id 0x7f0f009f,但是我們不能直接搜索了,我們要將其變為10進制后進行搜索0x7f0f009f的10進制為 2131689631,按ctrl+f,搜索得到

    可以看到代碼被混淆了,但是對于有經驗的開發人員來說,這個混淆功能和沒混淆一樣,我們可以大膽的猜測這個功能只是個彈框,里面有點擊等相關邏輯,其他沒什么重要信息。

    所以,我們重點應該放在哪個地方調用了它,搜索FI()這個方法,查看哪里調用了。得到這個方法

    bingo,直覺告訴我們就是這里了,判斷(!this.mUserLevel.equals(“2”)) && (!this.mUserLevel.equals(“4”),如果用戶等級不夠,就彈框告訴用戶這個功能需要特權用戶,然后代碼return掉,不在請求投屏,所以我們要做的就是改掉這段邏輯,但是直接修改java代碼是肯定不行的,我們要回到smali代碼中。
    打開AndroidKiller,找到FN()方法

    然后閱讀smali源碼,并參考java源碼,按道理我們只需要屏蔽掉彈框 和return語句即可。
    怎么屏蔽呢,萬能的#符號,這個符號和java的//一個意思,表示注釋掉這段代碼,所以修改方法如下:

    關于smali語法的知識這里不過多解釋,可以自行百度學習,這里就默認為你有一定的smali語法知識了。
    屏蔽完這段代碼,我們就可以打包測試了,打包之前記得按一下ctrl+s保存一下代碼修改

    編譯過程中你可能會遇到這個問題 **Android Killer回編譯錯誤:No resource identifier found for attribute ‘keyboardNavigationCluster’…**參考一下這個鏈接解決 https://blog.csdn.net/weixin_34115824/article/details/87328652
    編譯完成后,會自動進行簽名,然后點擊AK面板上的安裝按鈕


    會進行安裝,在此之前請打開你的手機鏈接電腦,并開啟了開發者模式usb安裝。
    安裝完畢,打開
    很不幸,遇到了這個問題

    很顯然,我們遇到了簽名校驗。所以接下來,我們開始破解簽名校驗,方式和上面的如出一轍

    破解APP的簽名校驗功能

    打開AK(以后下面均只AndroidKiller),搜索您的安裝包異常,可以看到搜索結果為

    不要灰心,記得上面說把漢字改為Unicode格式嗎,我們轉化一下重新搜索,binggo,搜索到了

    雙擊打開,點擊咖啡杯,查看java源碼

    可以看到if語句里的Eh()方法,所以這個方法就是突破點,搜索找到這個方法查看源碼:

    對于原生安卓開發人員來說,看到SHA1這個,大概率就是簽名校驗了,所以破解簽名校驗的關鍵就是干掉這個方法或者讓它永遠返回true,我們選擇干掉這個判斷語句。也就是if(Eh())…萬能的#
    屏蔽代碼如下:

    保存—>編譯—>安裝—>運行
    沒問題了,不再提示安裝包異常,打開視頻播放頁,點擊投屏

    完美,已經可以投屏,由于我是模擬器,就不演示了,我自己用手機投屏測試,沒問題。
    至此 我們完美破解了VIP的投屏功能,簽名校驗功能。
    接下來,我們將破解VIP的下載功能,代理校驗功能,開屏廣告以及彈窗廣告,穿插廣告
    篇幅有點長,放在下一篇。

    總結

    以上是生活随笔為你收集整理的记录一次xx应用的伪破解(一)(去广告 增加vip功能)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。