反编译so文件并修改|破解安卓授权软件
背景
在開源社區看到一個開源軟件,可以用來測試開發其他流程,但是這個開源的安卓中核心功能在so中加密了,關鍵是還有授權碼,開源代碼中的授權碼過期了,無法使用軟件,無奈需要自己手動去破解。
工具
IDA
010 Editor
找到授權代碼
在安卓代碼中,可以看到在沒有授權的時候調用初始化方法沒有反應,根據名字去搜索so文件。
這個native方法中用到了 授權的地方,將引用的so文件導入到IDA工具中
快捷鍵:ALT+T 搜索create,ctrl+t 查找下一個
找個這個方法后可以按F5查看偽代碼
注意到有個byte_zhy全局字段可能和授權有關系,查看授權代碼
這兩個就是授權代碼,同樣在IDA中搜索這個方法,找到如下圖
哈哈,byte_zhy被我找到了(這個之前是0)現在我就可以簡單的修改下了,其他的我就不管了,我只要讓這個byte_zhy=1就可以了。
分析過程:
result = ZhyDecryption((int)s, v5, (int)a1, v6, 147258, 0, 0, 0, 0, 0, 0);if ( result >= 0 ){if ( result )byte_zhy = 1;Key = result;}查看了ZhyDecryption中對授權碼進行base64和各種位運算,我也不關系了,最后的意思是數字大于0就是授權還沒過期,然后給byte_zhy賦值0,我們直接忽略其他的步驟,將byte_zhy=0即可
到這里我們就可以去找byte_zhy具體的位置了,然后修改就可以了
雙擊byte_zhy進入到這個頁面,可以看到這里沒有賦值,我們需要找到給他賦值為0的地方在哪。
點擊右邊框選的地方,進入方法中查看
紅框內之前是R1,#0 ?所以我們判斷這里給他賦值為0了,只要修改這里就可以了,右鍵選擇text view
然后切換窗口找到Hex View-1
自動鎖定了00 21 (因為現在改過了所以截圖是01 21)
修改代碼
打開010 Edit 打開這個so文件,搜索紅框內的符號,可以兩邊多帶一點,搜索44 00 21 7A
然后將00改為01保存
大功告成,關閉IDA再次加載文件后看到已經修改了 原來=0的地方變成=1了
總結
以上是生活随笔為你收集整理的反编译so文件并修改|破解安卓授权软件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新一代企业IT架构到底是什么?云原生?低
- 下一篇: 申通快递机器人上岗_快递机器人上岗 物流