原创 Android Studio 沒有 Annotation Processors設置 無法開啓Lombok註解導致編譯失敗

高版本AS(3.5.3) 低版本gradle(3.1.3)jdk1.8 設置裏面沒有"Settings > Build > Compiler > Annotation Processors"選項 編譯報錯沒有詳細信息 對比老項目

原创 Android應用安全防護實踐一自身是否被修改校驗(三)

這個炒雞簡單 demo擼上 //獲取你重新自身的安裝包位置 一般在/data/app/包名/xxx.apk public static String getApkPath(Context context) {

原创 Android應用安全防護實踐一辣敵方眼睛之代碼混淆成空白字符和亂碼(四)

代碼混淆應該很多人聽過 但是很少使用 因爲他會修改編譯後的最終代碼 可能會導致軟件閃退啊 什麼亂七八糟的 對此敬而遠之 不想去碰他 下面來簡單說下我的使用經驗 混淆 不能混淆四大組件名字和路徑、自定義view的名字和部分方法名字(

原创 Json Gson 序列化 實體類 proguard混淆配置 混淆報錯解決辦法

使用@SerializedName 指定字段名字即可 代碼如下看註釋 public class CachePool { //重點 指定序列化名字 就可以混淆了 gson序列化也能識別 @SerializedName("s

原创 SpringBoot 超詳細的記錄HTTP請求日誌

閒來無事想做個HTTP請求日誌分析以及存檔功能 因爲和客戶端交互數據用的是Protobuf 所以這裏記錄下攔截日誌的實現(Json什麼的其他傳輸協議也做了幾個) 日誌攔截器繼 DispatcherServlet類然後找個地方註冊一

原创 AndroidX 和 v4包中的類衝突 Multiple dex files define

項目用的AndroidX開發 導入Glide圖片加載依賴提示類衝突Multiple dex files define異常編譯不通過 首先 項目已經用AndroidX開發百分之80以上 不肯能去除AndroidX相關的東西 Glide又

原创 正式環境Nginx/Tomcat部署HTTPS(SSL)證書雙向認證防抓包/模擬請求

雙向認證可以提高安全性 單向認證的HTTPS是可以被抓包的 雙向認證別人沒有你客戶端證書和密碼的情況下是無法抓包的 服務端檢測到證書無效會拒絕連接 首先 取得證書機構頒發的證書文件 這裏以騰訊雲的免費1年SSL證書爲例 這裏我們先部署

原创 HTTP數據傳輸安全個人想法

客戶端生成一個唯一key(時間戳+用戶id+uuid) 請求接口時 參數+key+時間戳然後+參數簽名 服務器接收到請求 校驗參數簽名+時間戳校驗(請求的時間戳和本地時間戳相差1分鐘以上就拒絕(建議30秒-1分鐘左右) 可以弱驗證 比

原创 Android應用安全防護實踐一辣敵方眼睛之代碼混淆(四)

代碼混淆應該很多人聽過 但是很少使用 因爲他會修改編譯後的最終代碼 可能會導致軟件閃退啊 什麼亂七八糟的 對此敬而遠之 不想去碰他 下面來簡單說下我的使用經驗 混淆 不能混淆四大組件名字和路徑、自定義view的名字和部分方法名字(什麼

原创 Android應用安全防護實踐一辣敵方眼睛之代碼混淆最終篇-res資源混淆(六)

最後一發 把res目錄下的資源也混淆掉 看下效果 res 改名r了 文件名字全部混淆 如何實現? gradle插件 微信開源的 github鏈接點我飛機直達 同樣是copy了一份 最新版本請自己跟蹤copy 和上一篇文章一樣 不多

原创 Android應用安全防護實踐一自身時候被修改校驗(三)

這個炒雞簡單 demo擼上 //獲取你重新自身的安裝包位置 一般在/data/app/包名/xxx.apk public static String getApkPath(Context context) {

原创 Android應用安全防護實踐一辣敵方眼睛之代碼混淆-Activity混淆(五)

大家都曉得四大組件是不能混淆的 因爲混淆工具只會搞dex文件的混淆 xml就不行了 強行混淆會導致activity文件名改變了 註冊清單裏面的沒變從而導致無法運行APP 下面介紹一個能混淆四大組件 自定義view的辦法 和其他的組件

原创 記一次 like 查詢的MySQL Parameter index out of range 異常

異常信息 TransientDataAccessResourceException: PreparedStatementCallback; Parameter index out of range (xx > number of pa

原创 Json Gson 序列化 實體類 混淆配置 混淆報錯解決辦法

使用@SerializedName 指定字段名字即可 代碼如下看註釋 public class CachePool { //重點 指定序列化名字 就可以混淆了 gson序列化也能識別 @SerializedName("suc

原创 MySQL+Redis緩存查詢結果最方便的組合使用方式

在平時使用Redis作爲API接口查詢緩存的時候 通常都是使用RedisTemplate來寫一堆邏輯處理緩存數據 但是作爲一個“懶人”的我爲了更好的偷懶會研究一些更方便的處理方式。 MySQL+Redis使用更簡單的辦法就是使用Spr