• 首页
  • Android
  • Java
  • Python
  • 信息安全
  • 闲扯淡

Guge's blog

以大多数人的努力程度之低,根本轮不到去拼天赋

ndk

android studio NDK折腾记

2016年3月17日 by Guge Leave a Comment

转载请注明出处:http://mybeibei.net/?p=1039

为了学习cydia_substrate框架,要在Android Studio上搭建NDK环境,网上查了好多教程,各种不行,折腾了一下午,最终发现是NDK版本问题(之前用ndk r8版本),最终解决,特将配置流程记下:

一、环境准备:

Android Studio(用的是1.3.2版本)

NDK(android-ndk-r11版本)

二、配置开始:

1.创建新的一个project,并建立一个blank Activity

2.在MainActivity.java中增加一个方法

Java
1
public native String getStringFromNative();

此时“getStringFromNative()”会有红色报错,不用管它,继续下一步

3.打开as的Teminal,进入到app/src/main/java目录下,输入:javah -d ../jni com.kuhn.myjni.MainActivity,如果没有任何报错,这时as刷新后,会多出一个jni的文件夹,该文件夹下会出现com.kuhn.myjni.MainActivity.h文件,文件内容类似下面这样:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_kuhn_mykuhn_MainActivity */
 
#ifndef _Included_com_kuhn_mykuhn_MainActivity
#define _Included_com_kuhn_mykuhn_MainActivity
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class:     com_kuhn_mykuhn_MainActivity
* Method:    getStringFromNative
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_kuhn_mykuhn_MainActivity_getStringFromNative
  (JNIEnv *, jobject);
 
#ifdef __cplusplus
}
#endif
#endif

[详细阅读…]

Posted in: Android Tagged: android studio, ndk

android 4.4使用gdbserver动态调试

2015年10月15日 by Guge Leave a Comment

系统环境:window8.1

模拟器:android studio下的4.4模拟器

参考:http://bbs.pediy.com/showthread.php?p=1300089

下载“android-ndk-r8″,解压,在android-ndk-r8文件夹下的“toolchains\arm-linux-androideabi-4.4.3\prebuilt”路径下可以看到适用于arm4.4.3设备的gdbserver,将其push到模拟器的相应目录(/data/local/),并赋予相应执行权限(chmod 775),然后执行“ gdbserver :23946 –-attach [PID]”命令即可。

windows端,在“android-ndk-r8\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin”目录下,运行arm-linux-androideabi-gdb.exe即可进行动态调试。

进入GDB后,依次输入:

set disassemble-next on (打开这个,显示汇编代码)
set step-mode on (打开单步调试)
target remote 127.0.0.1: 23946

使用 b 设置断点, c 运行至断点, s 和 n 进行单步调试

 

Posted in: Android Tagged: android4.4, arm, gdbserver, ndk

微信公众平台

站内搜索

标签

360 Activity ADB Android android studio apktool arm BCTF CSRF CTF drozer hacker精神 IDA ISG java线程 Json Launch4j MySQL ndk Phantomjs python ROP xposed xss Zaker 一周安全 信息安全 信息安全,干货 加壳 华尔街之狼 安全 安全干货 安全竞赛 寄存器 干货 数据库 查找 步长 每天一个小程序 爬虫 程序员 系统信息获取 脱壳 逆向 遍历

近期文章

  • 关于绕过域名(ip)的一些小技巧
  • 骨哥电台第4期:马斯克之地启示录1
  • 骨哥电台第3期:了解马斯克
  • 骨哥电台第2期:钢铁侠原型-霍华德·休斯的故事
  • 它终于让我换下了使用多年的谷歌浏览器

友情链接

CRoot' Blog
void* Future

Copyright © 2022 Guge's blog.

Omega WordPress Theme by ThemeHall