原创 Android Q ART-Google Play安裝時優化原理

Google Play現在除了APK文件之外,還會交付一套基於雲端的ART Profile配置文件Dex Metadata(.dm)。 這個dm文件是從大數據用戶那裏蒐集整理的APK對應的"熱代碼"文件,在通過GP安裝apk時,會跟據dm文

原创 移植java到arm開發板

https雙向認證需要用在IOT設備上,將上一篇的java程序移植到arm開發板。java + tomcat + openssl,https單向認證、雙向認證(親測) 1. 在主機linux上安裝Oracle Java SE Embedde

原创 交叉編譯:libcurl/openssl支持SSL功能

1. 主機編譯https客戶端 準備主機開發環境 sudo apt-get install libcurl4-openssl-dev 使用libcurl庫編寫代碼 利用libcurl進行http連接 CURL *curl; CURL

原创 android Q sdcard權限詳解

默認情況下,如果應用以 Android Q 爲目標平臺,則在訪問外部存儲設備中的文件時會進入過濾視圖。應用可以使用 Context.getExternalFilesDir() 將專用於自己的文件存儲在特定於自己的目錄中。 1. 臨時停用分區

原创 熱修復原理3:資源

1.Instant Run資源熱修復 構造一個新的AssetManager,並通過反射調用addAssetPath,把這個完整的新資源包加入到AssetManager中。 找到所有之前引用到原有AssetManager的地方,通過反射,把

原创 java + tomcat + openssl,https單向認證、雙向認證(親測)

1.生成根證書、服務端證書、客戶端證書 1.1 生成CA根證書 生成跟證書私鑰root_private.key openssl genrsa -out root_private.key 1024 (私鑰中包含附加信息,可推到出公鑰。使用私

原创 opencv(c++)讀取rtsp視頻流並保存幀爲jpg圖片 1.linux下配置opencv開發環境 2.讀取視頻流並保存圖片

本想簡單寫個demo程序,讀取攝像頭的rtsp視頻流,將最新幀保存爲jpg圖片傳給AI程序進行識別,結果網上針對linux下c++版讀取視頻流保存圖片的資料,凌亂且各種錯誤。現將踩坑後成功執行的流程和代碼整理出來,供有需之人蔘考。 1.li

原创 熱修復原理1:java代碼 1.底層替換原理 2.你所不知的Java 3.冷啓動類加載原理 4.多態對冷啓動類加載的影響 5.Dalvik下完整DEX方案的新探索

無需通過升級APK來實現BUG修復,有人選擇插件化來解決,但是對於已經開發好的APP,移植成本非常高,既要學習插件化工具,又要對老代碼進行改造。 熱修復更加輕量、靈活,直接把補丁上傳到雲端,下拉補丁後立即生效。熱修復主要有兩種方案,底層替換

原创 熱修復原理2:so庫

SO庫加載原理 java提供了以下兩個接口加載一個so庫: System.loadLibrary(String libName):傳入so庫名稱,庫文件位於apk壓縮文件的libs目錄。 System.load(String pathNa

原创 熱修復原理1:java代碼

無需通過升級APK來實現BUG修復,有人選擇插件化來解決,但是對於已經開發好的APP,移植成本非常高,既要學習插件化工具,又要對老代碼進行改造。 熱修復更加輕量、靈活,直接把補丁上傳到雲端,下拉補丁後立即生效。熱修復主要有兩種方案,底層替換

原创 漏洞緩解技術

1.Security Cookie 在函數調用發生時,向棧幀內壓入一個額外的隨機 DWORD,這個隨機數被稱做Security Cookie Security Cookie 位於 EBP 之前, 系統還將在.data的內存區域中存放一個

原创 各種內存攻擊技術簡介

除了基本的棧溢出利用,還有堆溢出、off by one、虛函數、格式化串等漏洞利用技術,下面進行簡單介紹。 1.off by one的利用 只溢出一個字節,,配合上特定的溢出場景, off by one 就有可能演化爲安全漏洞。 void

原创 棧溢出原理與實踐

本文基於win-xp-SP3,實際內存地址與環境有差異,需按實際調試結果爲準。 基礎概念 VA = Image Base + RVA File Offset:文件偏移,PE文件中數據相對於文件開頭的偏移。 Image Base:裝載地址,

原创 Android ART執行類方法的過程

7.0之前ART只有AOT模式,7.0之後採用解釋、JIT、AOT混合執行。方法調用有如下幾種流程: 機器碼-->機器碼 機器碼-->解釋 解釋-->解釋 解釋-->機器碼 基本執行流程 java方法在ART虛擬機中以ArtMethod表示

原创 ART、OAT格式介紹與dex文件提取

dex文件經過dex2oat編譯,會生成.art、.oat兩個文件,oat是一個android定製的elf文件,原始dex也保存在其中。8.0後,dex單獨保存到.vdex文件中。art文件類似於一個內存映像,緩存常用的ArtField、A