- 博客(19)
- 资源 (6)
- 收藏
- 关注
原创 android JNI运行NDK编译成的可执行文件
1.android环境的可执行文件的生成所谓的android下的可执行文件,其实就是一般的c/c++代码使用NDK编译出来的应用程序。它和linux下用gcc编译出来的程序和windows系统下的.exe文件是一样的。要将代码编译成可执行文件只需要将编译so的include $(BUILD_SHARED_LIBRARY)改成include $(BUILD_EXECUTABLE)就行。
2016-02-19 16:31:43
5891
3
原创 C++使用AES+Base64算法对文本进行加密
使用AES算法和Base64实现具体的文本加密功能。采用AES算法的CBC模式,16位秘钥,PKCS7Padding填充方案对文本进行加解密。此方案可防止一些比较关键的文本暴露,也可以用于服务器通信间的加密,防止通信协议和信息的泄露。Main.cpp#include #include "AES.h"#include "Base64.h"using namespace
2016-02-18 17:37:12
18885
11
转载 SQLite3 C语言API入门
本文转载自http://www.blogjava.net/xylz/archive/2012/09/25/388519.html下载SQLite3我们下载sqlite源码包,只需要其中的sqlite3.c、sqlite.h即可。最简单的一个创建表操作
2016-02-18 11:56:50
630
原创 MD5和SHA1算法的C++实现和使用
MD5算法:MD5.H#ifndef MD5_H#define MD5_Htypedef struct{ unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64];} MD5_CTX;#define F(x,y,z) ((x & y) | (~x & z))#defin
2016-02-18 11:16:12
9266
原创 android JNI使用curl库进行文件下载和http请求
1.CURL几个基本函数的说明:1) curl_global_init();这个函数是进行curl库的初始化,这个函数与curl_global_cleanup配套使用,当调用了一次后,在没有调用curl_global_cleanup之前不要再次调用。2) curl_global_cleanup();对curl_global_init进行的一些操作进行清理。3)
2016-02-17 16:19:47
10052
1
原创 android使用NDK编译curl库
1.下载curl库源码 https://curl.haxx.se/download.html。2.解压文件后,一般是用cygwin 执行./configure配置环境生成curl_config.h,然后修改一些宏定义,让curl库适应android环境配置。下面附上修改后的curl_config.h源码。curl_config.h/* lib/curl_config
2016-02-16 15:09:17
12099
转载 Android.mk的一些属性说明(转载)
本文转载自http://blog.sina.com.cn/s/blog_602f8770010148ce.html0. Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在Android.mk中
2016-02-15 16:08:19
878
原创 android JNI基本库(jsting转string和C多线程调用java方法的说明)
1.JNI开发时经常需要使用到jstring和string的转换,还有C++多线程中使用JNIEnv,因此特意写了这个类,方便以后的开发使用。注意: 如果要使用打印日志的LOGI和LOGE需要在mk文件中链接log库LOCAL_LDLIBS := -llog2.在C++创建的多线程中使用JNIEnv中的findclass方法会出现找不到类库的问题,是因为只能在主线程中使用
2016-02-04 16:01:46
3016
原创 android APK加固篇-3.使用JNI加载dex和调用方法
1.首先需要把assets中的test.dex复制到应用的files空间下。string copyDexToData(JNIEnv* env, jobject asset, string dexName, string dataPath){ AAssetManager* asMg = AAssetManager_fromJava(env, asset); AAsset* as = A
2016-02-02 18:13:01
6487
1
原创 android APK加固篇-2.动态加载dex及dex的方法的调用
1.用于动态加载的dex可以放在sdcard中进行加载,但是为了安全起见还是觉得放在asset中,加载之前把dex复制到app的data空间中更好。 String copyDex(String dexName) { AssetManager as = getAssets(); String path = getFilesDir() + File.separator + dexNam
2016-02-02 11:02:56
3705
2
原创 android APK加固篇-1. 动态加载的Dex文件的生成
1. 创建一个一般的测试类,用于导出JAR。package com.example.dextest;import android.app.Activity;import android.view.Gravity;import android.widget.FrameLayout;import android.widget.TextView;public class Test1 {
2016-02-01 16:00:49
2189
原创 android JNI使用AAssetManager读取asset目录内容
JNI读取安卓asset下的文件需要使用到NDK目录下的asset_manager_jni.h和asset_manager.h提供的接口。1.从java端使用getAssets()得到一个JAVA端的AssetManager对象,通过JNI调用传递到C++端。2.C++端使用NDK提供的AAssetManager_fromJava方法得到C++端的AAssetM
2016-01-15 16:06:20
8385
原创 android使用JNI进程守护service
最近公司一个应用需要让应用启动后不能被360和一些清理内存工具杀死,然后搜索一些相关的资料确定了下面的方法进行进程的守护:使用jni fork出一个子进程用select方法检测管道是否可读,主体进程打开新建管道的写端,当主进程死亡时 写端自动关闭,select检测退出,然后启动service。注意:这个方法在android5.0以上系统和部分小米机型不行,调试发现原因应该是小米和5.0
2015-12-25 14:49:06
3188
原创 win7下使用Eclipse双向断点调试JAVA+NDK的环境配置
安卓NDK在eclipse上的调试环境配置,配置好后可以直接用eclipse的快捷键进行断点调试,java c++双方面的跳转。
2015-08-20 10:04:52
1256
原创 安卓Application.mk文件的属性说明和基本写法
一般JNI根目录下会定义二个Mk文件, Android.mk/Application.mk。1.先说一下Application.mkAPP_PLATFORM = android-8APP_ABI := armeabi-v7aAPP_STL := stlport_staticAPP_OPTIM := debug (1)APP_PLATFORM 使用的
2015-08-17 11:43:19
8578
原创 Android JNI调用的二种方式
Android JNI调用的二种方式首先创建一个专门用于JNI调用的单例MainNative,并且在里面添加静态块加载so库。publicclass MainNative { private static MainNative instance =new MainNative(); private MainNative (
2015-06-23 14:49:00
1327
原创 使用vmware+ubuntu14.04编译android4.4.2源码
注意使用虚拟机装系统时必须分配80G左右的虚拟磁盘和4G以上内存,要不然安卓源码编译会出错,还有ubuntu系统必须是64位的要不然也会出错。。 1安装好VMware并且使用VMware安装ubuntu14.04虚拟机。这些都是很简单的一步安装就行。 2.安装VMtool共享windows系统上的目录。(1) vmwar
2015-05-15 09:56:08
1391
android JNI运行NDK编译成的可执行文件
2016-02-19
android jni使用curl进行http请求和文件下载
2016-02-17
APK加固(JAVA/JNI二种方式动态加载dex)
2016-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人