1.在模擬器上安裝app,使用Charles抓包;

2.在接口數據中上傳參數包含uuid date,這個是切入點,非常關鍵。使用dex2jar-2.0工具反編譯dex文件得到jar文件;
3.搜索uuid,找到接口上傳參數加密位置;

4.可以看到代碼是這樣的
paramContext = BaseRequestBuilder.buildAESData(paramContext, paramRequestCfgBean);
((j.a)localObject).b("data", v.k(paramContext.data)); ((j.a)localObject).b("uuid", paramContext.uuid);
這就是上傳加密的算法,大致就是將json試用AES加密,ASE加密后一般是16進制或者是base64;順藤摸瓜找到加密算法;

分析得出是AES加密 ecb模式 填充 ZeroBytePadding AES/ECB/ZeroBytePadding ecb模式不需要iv只需要key 結果是bast64 ;
總結:一般能抓包并且能反編譯看到代碼的被破解就很簡單,基本是也是在防抓包和加殼這兩個方面上對app進行防護,防抓包和加固技術不斷增強,只有不斷學習提升自己的技術;
|