0x00 背景

本文依然是团队大佬 非尘 学习逆向的学习笔记,这一系列都将以实验的方式进行知识点学习和总结,后续将持续更新,不喜勿喷~

本文及后续文章中使用到的靶场地址:

https://adworld.xctf.org.cn/task/task_list?type=mobile&number=6&grade=0

0x01 实验目的

在c层定义字段,java层调用该字段。

0x02 实验步骤

1)新建一个安卓工程(Android Application project),给该应用命名,然后一路next,直至finish

2)然后在src/com.example.feichen/MainActivity编写我们的java代码

3)定义调用native层的方法,然后弹窗显示在c层编写的字符串

4)在cmd中进入src路径下,生成jni.h的头文件

5)新建一个文件夹,将.h文件单独放过去,并重命名(太长),然后在该文件夹下新建一个.c文件,编写c层方法

6)将Android.mk和Application.mk放到JNI目录下

               

7)然后cmd到jni路径,编译生成so文件,再刷新一下项目,在libs下可找到生成的so文件

8)最后在主函数MainAcitvity函数中加载so库,然后启动程序生成apk

0x03 总结

 jni静态注册相关知识点提炼如下:


  • 定义字符或者是方法,被native修饰;

  • java -jni 命令,生成被native的方法的jni接口;

  • .h里面的东西赋值到.c,补充完整:添加参数、添加方法体;

  • 拖入(配置)两个mk文件:

  • 执行ndk命令生成so文件

  • 回到java层,加载so;

  • 加完完保存,然后运行;

金蝶移动bos开发教程_移动安全(四)|NDK开发教程_JavaToC相关推荐

  1. java web 应用技术与案例教程_《Java Web应用开发技术与案例教程》怎么样_目录_pdf在线阅读 - 课课家教育...

    出版说明 前言 第1章 java Web应用开发技术概述 1.1 Java Web应用开发技术简介 1.1.1 Java Web应用 1.1.2 Java Web应用开发技术 1.2 Java Web ...

  2. micropython移植教程_移植MicroPython到NUCLEO_L476RG开发板

    在最新的 MicroPython 源码中,已经加入了STM32L476DISC开发板,但是还没有NUCLEO-L476RG开发板.而我只有NUCLEO-L476RG开发板,要在NUCLEO-L476R ...

  3. php 网站访问统计插件,帝国CMS教程_网站访问统计插件使用教程_好特教程

    帝国CMS教程:网站访问统计插件使用教程,先来看下效果图 上传以下图片: ********************     安装插件     ******************** 1.如果你的后台 ...

  4. sdn智能互联系统及开发平台_聊天交友平台系统APP开发

    点击上面"蓝字"关注我们! 聊天交友系统开发APP软件平台找[卢经理:186微1316电8035同号], 聊天交友短视频APP开发,聊天交友短视频软件APP开发系统,聊天交友开发A ...

  5. 惠普打印机墨盒更换教程_惠普打印机加墨教程:老司机教你

    01惠普打印机加墨教程 [中关村在线原创]惠普的打印机用户众多.那么墨盒用完了怎么办?很多人想到的是找个加墨教程.这里我们作为老司机就给各位带带路,来一个惠普打印机加墨教程. 惠普打印机加墨教程 惠普 ...

  6. 移动应用开发实例_物联网改变移动应用开发的4种方式

    图片来源:pixabay.com 来源:物联之家网(iothome.com) 转载请注明来源! 物联网改变了移动应用程序的开发格局.那么,为物联网开发移动应用程序有何不同? 物联网与移动应用程序开发齐 ...

  7. python人工智能开发语言_哪些编程语言最适合开发人工智能?

    这两年,"一只狗"AlphaGo打遍天下棋手无对手,让我们认识了什么叫人工智能.在刚刚过去的IT领袖峰会上,BAT三位大佬都表示看好人工智能的未来发展.今年年初,百度就做了一个大动 ...

  8. vscode开发python使用教程_用VScode配置Python开发环境

    前言 VScode是一个相当优秀的IDE,具备开源.跨平台.模块化.插件丰富.启动时间快.颜值高.可高度定制等等优秀的特质,不愧是微软爸爸的私生子. 所以用VScode来编写Python,也是相当的好 ...

  9. python爬虫xpath教程_使用 Xpath 进行爬虫开发

    使用 Xpath 进行爬虫开发 Xpath( XML Path Language, XML路径语言),是一种在 XML 数据中查找信息的语言,现在,我们也可以使用它在 HTML 中查找需要的信息. 既 ...

  10. vscode如何运行python新手教程_从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)...

    VScode不愧是用户数量上升最快的编辑器,界面华丽(当然,需要配合各种主题插件),十分容易上手且功能强大.之前用它写C++体验十分nice,现在需要学习tensorflow,而工欲善其事必先利其器, ...

最新文章

  1. cisco PIX防火墙的配置及注解完全手册
  2. 啥叫正则表达式(语法详解)
  3. VTK:Utilities之GetClassName
  4. JQUERY的toFixed()
  5. GCC编译器选项及优化提示
  6. Python代码注释应该怎么写?
  7. 12.24笔记(关于//UIDynamic演练//多对象的附加行为//UIDynamic简单演练//UIDynamic//(CoreText框架)NSAttributedString)...
  8. 频繁项目集java实现_关联分析(2):Apriori产生频繁项集
  9. dedecms 模型新添加的自定义字段设置样式
  10. AcWing 867. 分解质因数(唯一分解定理)
  11. 在ubuntu中添加widows启动项的简单方法
  12. java毕业设计青岛滨海药店管理系统的设计与实现源码+lw文档+mybatis+系统+mysql数据库+调试
  13. 普华永道-开放数据资产估值白皮书,首创“数据势能”估值模型
  14. Cocos2d-x之TileMap
  15. 【转发】晶圆到底是什么?台积电为什么被称为晶圆厂?
  16. 链游StarSharks(星鲨)全方位介绍
  17. elang 游戏 生成全局id
  18. Python 实现按键精灵的功能,超简单详细(Windows版)
  19. 软件下载站【xing.isgreat.org】
  20. 如何中文下使用英文标点,但是保留逗号句号。

热门文章

  1. HttpUtility.UrlEncode、HttpUtility.UrlDecode、Server.UrlEncode、Server.UrlDecode的区分与应用
  2. 高等数学复习笔记(二)- 一元函数微分学的概念、计算以及几何应用
  3. 如何更高效地学习3D视觉?
  4. 多传感器数据标定融合完整教程:时间同步+空间同步(Camera+Lidar+IMU+Radar)
  5. 【题解】【合并序列(水题)P1628】
  6. 「HNOI 2015」落忆枫音
  7. android详细信息java.util.ConcurrentModificationException变态
  8. jqGrid添加详细按钮,单击弹出窗体
  9. NI.LabVIEW.v8.6.1.FPGA.Module-ISO 2CD(FPGA开发)
  10. JS调用ATL DLL