只提供發布,不會進行維護,具體請移步原文
先給各位看張圖(我在一個android學習群里見別人發的)。如果能有反思,那說明你是一個不會動腦的開發者;如果產生了共鳴,說明你是個會動腦的開發者;如果啥感覺也沒有,那你可能就是個打醬油的。

寫這篇文章的原因,也是因為我看網上這類教程的帖子很少,網上各式各樣今日校園簽到腳本已經遍地開花。但是他們沒有過程,就直接模擬登錄,提交,完成(一看就是抄的別人的東西)。對於加密值的加解密,他們的處理方法都是出自同一個大佬的代碼,直接拿來就用的。
很幸運,我找到了原大佬。大佬只留了一句話“加密值是逆向apk后得到的,本質上是一個json對象進行了des加密,然后編碼為了Base64字符串”,
我覺得一個牛逼的開發者,不需要別人給太多指點,只需一個思路,那就足夠了。我希望我成為一個牛逼的開發者。
這句話的關鍵詞就是逆向,由此引發了我的一系列探索。誕生了這篇文章
授人以魚不如授人以漁,站在巨人的肩膀上,我將我自己整理的思路再分享給各位。
正文
我嘗試各種方式獲取加密值,包括登錄時,發帖子時,私聊時,但是都沒有那個加密值,只有在提交的時候,才有。
我就有點納悶了。
反編譯工具
由此嘗試反編譯apk,今日校園新版提升了安全機制,並且被加固過了。所以需要找歷史版本,就拿8.0.6來說吧,因為我用的這個。
三個必備的工具
具體過程

個人建議,三款工具,像我這樣放置,會好一點
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進行加密的,然后繼續找。

有了加密密鑰,和加密的方式,接下來,我們就可以對其進行解密。
致謝
通過這次親自嘗試反編譯,讓我更加確信,目前網絡上遍地開花的那些代碼,基本上都是圍繞我致謝中的2這倆大佬展開的。這倆才是真大佬,我已經將他們博客收錄到我置頂文章里了
為什么呢?
因為每個版本的apk反編譯之后,加密值都是不一樣的,像我用的8.0.6版本的加密密鑰就是XCE927==,而網上那成片成片的都是ST83=@XV。總不能每個人用的app都是同一個版本的吧,很明顯,就是直接抄了別人的解密算法。
總之,通過這次反編譯,收獲還是有的,有了值得我尊重的人,當然也有鄙視的人(大片大片的抄襲狗,尤其是那些,抄了別人代碼,連個來源都不打的人)。
