金蝶移动bos开发教程_移动安全(四)|NDK开发教程_JavaToC
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相关推荐
- 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 ...
- micropython移植教程_移植MicroPython到NUCLEO_L476RG开发板
在最新的 MicroPython 源码中,已经加入了STM32L476DISC开发板,但是还没有NUCLEO-L476RG开发板.而我只有NUCLEO-L476RG开发板,要在NUCLEO-L476R ...
- php 网站访问统计插件,帝国CMS教程_网站访问统计插件使用教程_好特教程
帝国CMS教程:网站访问统计插件使用教程,先来看下效果图 上传以下图片: ******************** 安装插件 ******************** 1.如果你的后台 ...
- sdn智能互联系统及开发平台_聊天交友平台系统APP开发
点击上面"蓝字"关注我们! 聊天交友系统开发APP软件平台找[卢经理:186微1316电8035同号], 聊天交友短视频APP开发,聊天交友短视频软件APP开发系统,聊天交友开发A ...
- 惠普打印机墨盒更换教程_惠普打印机加墨教程:老司机教你
01惠普打印机加墨教程 [中关村在线原创]惠普的打印机用户众多.那么墨盒用完了怎么办?很多人想到的是找个加墨教程.这里我们作为老司机就给各位带带路,来一个惠普打印机加墨教程. 惠普打印机加墨教程 惠普 ...
- 移动应用开发实例_物联网改变移动应用开发的4种方式
图片来源:pixabay.com 来源:物联之家网(iothome.com) 转载请注明来源! 物联网改变了移动应用程序的开发格局.那么,为物联网开发移动应用程序有何不同? 物联网与移动应用程序开发齐 ...
- python人工智能开发语言_哪些编程语言最适合开发人工智能?
这两年,"一只狗"AlphaGo打遍天下棋手无对手,让我们认识了什么叫人工智能.在刚刚过去的IT领袖峰会上,BAT三位大佬都表示看好人工智能的未来发展.今年年初,百度就做了一个大动 ...
- vscode开发python使用教程_用VScode配置Python开发环境
前言 VScode是一个相当优秀的IDE,具备开源.跨平台.模块化.插件丰富.启动时间快.颜值高.可高度定制等等优秀的特质,不愧是微软爸爸的私生子. 所以用VScode来编写Python,也是相当的好 ...
- python爬虫xpath教程_使用 Xpath 进行爬虫开发
使用 Xpath 进行爬虫开发 Xpath( XML Path Language, XML路径语言),是一种在 XML 数据中查找信息的语言,现在,我们也可以使用它在 HTML 中查找需要的信息. 既 ...
- vscode如何运行python新手教程_从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)...
VScode不愧是用户数量上升最快的编辑器,界面华丽(当然,需要配合各种主题插件),十分容易上手且功能强大.之前用它写C++体验十分nice,现在需要学习tensorflow,而工欲善其事必先利其器, ...
最新文章
- cisco PIX防火墙的配置及注解完全手册
- 啥叫正则表达式(语法详解)
- VTK:Utilities之GetClassName
- JQUERY的toFixed()
- GCC编译器选项及优化提示
- Python代码注释应该怎么写?
- 12.24笔记(关于//UIDynamic演练//多对象的附加行为//UIDynamic简单演练//UIDynamic//(CoreText框架)NSAttributedString)...
- 频繁项目集java实现_关联分析(2):Apriori产生频繁项集
- dedecms 模型新添加的自定义字段设置样式
- AcWing 867. 分解质因数(唯一分解定理)
- 在ubuntu中添加widows启动项的简单方法
- java毕业设计青岛滨海药店管理系统的设计与实现源码+lw文档+mybatis+系统+mysql数据库+调试
- 普华永道-开放数据资产估值白皮书,首创“数据势能”估值模型
- Cocos2d-x之TileMap
- 【转发】晶圆到底是什么?台积电为什么被称为晶圆厂?
- 链游StarSharks(星鲨)全方位介绍
- elang 游戏 生成全局id
- Python 实现按键精灵的功能,超简单详细(Windows版)
- 软件下载站【xing.isgreat.org】
- 如何中文下使用英文标点,但是保留逗号句号。
热门文章
- HttpUtility.UrlEncode、HttpUtility.UrlDecode、Server.UrlEncode、Server.UrlDecode的区分与应用
- 高等数学复习笔记(二)- 一元函数微分学的概念、计算以及几何应用
- 如何更高效地学习3D视觉?
- 多传感器数据标定融合完整教程:时间同步+空间同步(Camera+Lidar+IMU+Radar)
- 【题解】【合并序列(水题)P1628】
- 「HNOI 2015」落忆枫音
- android详细信息java.util.ConcurrentModificationException变态
- jqGrid添加详细按钮,单击弹出窗体
- NI.LabVIEW.v8.6.1.FPGA.Module-ISO 2CD(FPGA开发)
- JS调用ATL DLL