色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>JNIKeyProtection私密數據存儲

JNIKeyProtection私密數據存儲

2022-06-22 | zip | 0.14 MB | 次下載 | 免費

資料介紹

授權協議 未知
開發語言 Java C/C++
操作系統 跨平臺
軟件類型 開源軟件

軟件簡介

Android 使用 so 文件存儲私密數據,并增加簽名防盜機制。

0x00 實際項目中引出的一些需求問題

有時你需要在客戶端存放一些保密的數據,比如某些授權 Key ,如果直接寫在 Java 中,會很容易被反編譯看到,那么我們可以把這些數據存在 so 文件中,來增加反編譯難度,并且增加 APP 簽名防盜機制來防止別人盜用 so 文件。

0x01 一些準備工作

  • 配置 NDK 開發環境,看這里 → Android Studio NDK 開發安裝配置

  • 有必要的了解一下 NDK 開發基礎(此例子使用的是 CMake)、最好學習一下 C/C++ 基礎,不然代碼看起來很費勁

0x02 編寫配置文件、Java、C/C++ 代碼

1、新建 JNIKey.class 并聲明 native 方法

public?class?JNIKey?{

????static?{
????????System.loadLibrary("Key");
????}

????/**
?????*?初始化并判斷當前?APP?是否為合法應用,只需調用一次
?????*
?????*?@return?返回?true?則初始化成功并當前?APP?為合法應用
?????*/
????public?static?native?boolean?init();

????/**
?????*?獲取?Key
?????*
?????*?@return?return?key
?????*/
????public?static?native?String?getKey();
}

2、Build → Rebuild Project 生成 class 文件,生成目錄一般在如下目錄

JNIKey\build\intermediates\javac\debug\compileDebugJavaWithJavac\classes\me\key\protection\

3、根據生成的 class 文件生成 .h 文件,進入 Terminal 命令窗口輸入以下命令

javah?-d?jni?-classpath?D:\Android\Workspace\JNIKeyProtection\Key\build\intermediates\javac\debug\compileDebugJavaWithJavac\classes?me.key.protection.JNIKey

注意路徑不要寫錯了,生成的 .h 文件里包含自動生成的一些方法,方法名稱一一應對 Java native 方法,如果在 .cpp 代碼里用的是動態注冊的方式,這步可以忽略不做,因為動態注冊方法名可以隨便寫,具體看 .cpp 里的代碼

4、在 src\main 目錄下新建 cpp 目錄,新建 Key.cpp 文件在這里編寫 C++ 代碼,.cpp 表示 C++ 文件, .c 表示 C 文件

5、在 Module 根目錄下新建 CmakeLists.txt 文件,配置 JNI 相關參數

#?指定編譯器版本
cmake_minimum_required(VERSION?3.4.1)

#?存放生成?so?庫的目錄
#?set(CMAKE_LIBRARY_OUTPUT_DIRECTORY?${PROJECT_SOURCE_DIR}/libs/${ANDROID_ABI})

#?配置?so?庫信息
add_library(

????????#?生成的?so?庫名稱,此處生成的?so?文件名稱是libKey.so
????????Key

????????#?STATIC:靜態庫,是目標文件的歸檔文件,在鏈接其它目標的時候使用
????????#?SHARED:動態庫,會被動態鏈接,在運行時被加載
????????#?MODULE:模塊庫,是不會被鏈接到其它目標中的插件,但是可能會在運行時使用dlopen-系列的函數動態鏈接
????????SHARED

????????#?資源文件,可以多個,資源路徑是相對路徑,相對于本CMakeLists.txt所在目錄
????????src/main/cpp/Key.cpp)

#?依賴?NDK?中的?log?日志庫
find_library(
????????log-lib
????????log)

#?關聯?log?庫到本地庫。如果你本地的庫(DecryptKey)想要調用log庫的方法,那么就需要配置這個屬性
target_link_libraries(

????????#?目標庫
????????Key

????????#?依賴庫
????????${log-lib})

注意是 Module 根目錄,不是 Project 根目錄

6、修改對應 Module 的 build.gradle 文件添加配置參數

  • defaultConfig 標簽里添加如下配置

externalNativeBuild?{
????????cmake?{
????????????cppFlags?"-frtti?-fexceptions"
????????}
????}

????//?平臺架構支持
????ndk?{
????????abiFilters?'arm64-v8a',?'armeabi',?'armeabi-v7a',?'x86',?'x86_64'
????}
  • android 標簽里添加如下配置

externalNativeBuild?{
????cmake?{
????????path?"CMakeLists.txt"
????}
}

7、在 cpp 文件夾下新建 Key.cpp 文件里面放 c++ 代碼

完整代碼 → Key.cpp

0x03 調用生成的 .so 文件

  • 默認 .so 文件生成目錄,復制出來放到 libs 目錄下,即可使用

{項目目錄}\JNIKey\build\intermediates\cmake\debug\obj\
  • 你可以對生成的庫文件封裝一個 Jar 包,這樣 .so 就不必放在特定的包下,Jar 包的生成必須要 Module 里,默認 Jar 包生成目錄

{項目目錄}\JNIKey\build\intermediates\intermediate-jars\debug\classes.jar
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 亚洲精品伊人久久久久| 高清国语自产拍免费| 日韩欧无码一区二区三区免费不卡| 国产精自产拍久久久久久蜜 | 6080yy奇领电影在线看| 色午夜日本高清视频www| 久久人妻熟女中文字幕AV蜜芽| 动漫护士被乳羞羞漫| 中字幕视频在线永久在线观看免费| 试看做受120秒免费午夜剧场| 麻豆传煤网站网址入口在线下载 | 狼群资源网中文字幕| 国产精品免费小视频| 99这里有精品视频视频| 亚洲色图激情小说| 天美麻豆成人AV精品视频| 免费女人光着全身网站| 精品三级久久久久电影网1| 高h超辣bl文| old老男人野外树林tv| 在公交车上被JB草坏了被轮J了| 午夜看片网| 色妺妺免费影院| 欧美人禽Zozo动人物杂交| 口内射精颜射极品合集| 红尘影院手机在线观看| 国产乱码卡二卡三卡4W| 国产成人久久精品AV| 纯肉高H啪短文合集| 99欧美精品| 91久久偷偷做嫩草影院免费看| 亚洲一卡久久4卡5卡6卡7卡| 香蕉久久日日躁夜夜嗓| 色窝窝亚洲AV在线观看| 色欲AV亚洲永久无码精品麻豆| 欧美性狂猛AAAAAA| 欧美午夜不卡在线观看| 欧美成人无码视频午夜福利 | 有码 亚洲 制服 国产 在线| 亚洲国产精品久久精品成人网站| 忘忧草在线影院WWW日本动漫|