Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 【安卓逆向】偷梁換柱之計算機二級C語言掌上通注冊機編寫教程

【安卓逆向】偷梁換柱之計算機二級C語言掌上通注冊機編寫教程

編輯:關於Android編程

今天在逛安智的時候看到一個軟件,我對注冊碼驗證的程序比較感興趣哈,- -\那個帖子的軟件是通過爆破法實現破解的,之前我在這個帖子講過
http://www.52pojie.cn/thread-376802-1-1.html  爆破法雖然直截了當,不過不利於之後的升級,那我們有沒有更好的方法來干掉這個軟件,方法當然是有的,也就是我們今天的主題。

原軟件地址:http://www.eoemarket.com/soft/232473.html

0x1 爆破軟件觀察注冊機制

 

打開軟件,找到注冊處,點擊獲取按鈕後有幾種支付模式,我當然是選擇最熟悉的支付寶模式

 

我們直接爆破支付,搜索關鍵詞 9000 的十六進制,即0x2328,找到

 

在方法開始處添加一行,

 

回編譯,打開支付寶後直接返回上一級,提示支付成功,注冊碼也出來了,很明顯的md5加密模式

 

0x2 尋找加密算法

我們搜索toast提示的文本信息,注意是unicode編碼,找到關鍵點,打開java代碼,

 

很明顯的看到,注冊碼是調用了cc類的b方法,並將k方法的數據傳入,我們點開k方法

 

不難發現,該方法通過調用系統設備信息,獲取到設備號後在數據前添加“L”,在末尾添加了“8H6”,返回該值,傳入到cc類的b方法中,我們點開cc類,我擦

 

此處被作者混淆了,jd-gui無法識別,那我們就無法進行下一步了嗎,答案當然是否定的,這也是本主題重點,投機取巧偷取加密算法

0x3 編寫“假”注冊機

打開eclipse,新建一個Android項目,包名最好和原軟件相似,方便修改

 

其它一切默認即可,

 

我們在包下新建一個cc類,寫上一個方法,定義一個全局的String方法,直接返回即可,不添加任何代碼

 

在方法中將該軟件獲取設備號的方法寫入,然後在Oncreate方法中進行調用,並顯示在textview上,需要注意的是,我們需要在AndroidManifest文件中添加一個讀取設備信息的權限,不然軟件是無法獲取的

 

好了,“假”注冊機已經編寫好了,我們直接導出為apk文件,這個注冊機是什麼用都沒有的,但截下來我們把它變成真的注冊機

0x4 偷梁換柱之真注冊機

我們找到導出的apk文件,用改之理反編譯,然後將二級考試原軟件的cc類復制到我們的反編譯工程中替換我們編寫的cc類,需要注意的是,我們在最上方需要將包名修改為我們自己設置的包名,保存,回編譯

 

運行軟件,看到了嗎

 

我們將這段數據復制到軟件的注冊框中,

 

 

大功告成。。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved