逆向破解今日校園app加密值


只提供發布,不會進行維護,具體請移步原文

先給各位看張圖(我在一個android學習群里見別人發的)。如果能有反思,那說明你是一個不會動腦的開發者;如果產生了共鳴,說明你是個會動腦的開發者;如果啥感覺也沒有,那你可能就是個打醬油的。

寫這篇文章的原因,也是因為我看網上這類教程的帖子很少,網上各式各樣今日校園簽到腳本已經遍地開花。但是他們沒有過程,就直接模擬登錄,提交,完成(一看就是抄的別人的東西)。對於加密值的加解密,他們的處理方法都是出自同一個大佬的代碼,直接拿來就用的。

很幸運,我找到了原大佬。大佬只留了一句話“加密值是逆向apk后得到的,本質上是一個json對象進行了des加密,然后編碼為了Base64字符串”,

我覺得一個牛逼的開發者,不需要別人給太多指點,只需一個思路,那就足夠了。我希望我成為一個牛逼的開發者。

這句話的關鍵詞就是逆向,由此引發了我的一系列探索。誕生了這篇文章

授人以魚不如授人以漁,站在巨人的肩膀上,我將我自己整理的思路再分享給各位。

正文

我嘗試各種方式獲取加密值,包括登錄時,發帖子時,私聊時,但是都沒有那個加密值,只有在提交的時候,才有。

我就有點納悶了。

反編譯工具

由此嘗試反編譯apk,今日校園新版提升了安全機制,並且被加固過了。所以需要找歷史版本,就拿8.0.6來說吧,因為我用的這個。

三個必備的工具

  1. apktool
  2. dex2jar
  3. jd-gui

具體過程

個人建議,三款工具,像我這樣放置,會好一點

apktool

具體使用過程,請參照官方文檔

首先找到你使用的app的apk文件,放置到該目錄下,運行以下命令,進行decode

apktool.jar d name.apk

此時,會在目錄下,生成相應的文件夾,里面的res是存放的資源文件和布局文件,但是你打開,可能會發現里面並沒有我們要的classes.dex,而是一堆smali文件。

所以,我們需要再build一下

apktool.jar b name

dex2jar

將我們需要進行反編譯的.dex文件,移動到其根目錄下,用以下命令重新打成jar包

d2j-dex2jar.bat classes.dex

我個人理解

dex2jar是將.dex轉成.jar,jar2dex正好相反

由此,我們會生成與.dex相對應的.jar,我已經將其剪切到桌面,為了方便處理

jd-gui

打開這個圖形界面工具,雙擊或者命令行輸入

java -jar jd-gui.jar

依次打開指定的jar包,找你所需要的東西,我感覺這個過程應該是極費時間的。

然后找到了8.0.6版的加密代碼以及加密密鑰

從圖片上,我們知道這是通過ate.V進行加密的,然后繼續找。

有了加密密鑰,和加密的方式,接下來,我們就可以對其進行解密。

致謝

  1. 逆向破解-APK反編譯工具與使用
  2. ZimoLoveShuang
  3. apk反編譯

通過這次親自嘗試反編譯,讓我更加確信,目前網絡上遍地開花的那些代碼,基本上都是圍繞我致謝中的2這倆大佬展開的。這倆才是真大佬,我已經將他們博客收錄到我置頂文章里了

為什么呢?

因為每個版本的apk反編譯之后,加密值都是不一樣的,像我用的8.0.6版本的加密密鑰就是XCE927==,而網上那成片成片的都是ST83=@XV。總不能每個人用的app都是同一個版本的吧,很明顯,就是直接抄了別人的解密算法。

總之,通過這次反編譯,收獲還是有的,有了值得我尊重的人,當然也有鄙視的人(大片大片的抄襲狗,尤其是那些,抄了別人代碼,連個來源都不打的人)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM