云守护的专栏

专注于移动安全、游戏安全、逆向安全 ;------------------------- 邮箱:1309521515@qq.com...

Android 加载 SO 库 UnsatisfiedLinkError 错误的原因及解决方案

转自:http://crash.163.com/#news/!newsId=4 Android 加载 SO 库 UnsatisfiedLinkError 错误的原因及解决方案 追风 发布于 2016-05-02  Android 应用开发者应该对 UnsatisfiedLinkError 这...

2018-08-24 18:35:20

阅读数:54

评论数:0

在Android平台上加载本地库的危险性

转自:https://www.csdn.net/article/2015-11-10/2826182-the-perils-of-loading-native-libraries-on-android 摘要:本文作者Hilal Alsibai来自名为“KeepSafe”的创业团队。他们为了给An...

2018-08-24 18:33:59

阅读数:43

评论数:0

谈Android NDK C++ RTTI 分析

转自:http://crash.163.com/#news/!newsId=28 本文意在说明Android NDK 在实现C++ RTTI时的相关数据结构,并从汇编角度分析其内存布局,以帮助理解RTTI的实现原理,同时,分析在逆向过程中如何利用RTTI恢复C++类名信息。        用nd...

2018-08-24 18:08:03

阅读数:49

评论数:0

Android NDK编译选项设置

转自:http://crash.163.com/#news/!newsId=24 在Android NDK开发中,有两个重要的文件:Android.mk和Application.mk,各尽其责,指导编译器如何编译程序,并决定编译结果是什么。本文将详细说明几个常见的NDK选项的配置,帮助大家理解相...

2018-08-24 17:43:24

阅读数:70

评论数:0

Android SO库文件头分析

转自:https://blog.micblo.com/2018/02/10/Android-SO%E5%BA%93%E6%96%87%E4%BB%B6%E5%A4%B4%E5%88%86%E6%9E%90/因为项目的需要,我对Android系统加载.so文件有一些些研究,把最近看过的一些大牛的分析...

2018-07-03 15:28:32

阅读数:314

评论数:0

linux使用读写锁pthread_rwlock_t

转自:https://blog.csdn.net/onlyou930/article/details/6755593使用读写锁配置读写锁的属性之后,即可初始化读写锁。以下函数用于初始化或销毁读写锁、锁定或解除锁定读写锁或尝试锁定读写锁。下表列出了本节中讨论的用来处理读写锁的函数。表 4–9 处理读...

2018-05-02 19:10:43

阅读数:118

评论数:0

VirtualApp沙盒基本原理

转自:http://rk700.github.io/2017/03/15/virtualapp-basic/ VirtualApp是一个开源的Android App虚拟化引擎,允许在其中创建虚拟空间,并在这个虚拟空间中运行其他应用。通过阅读源码及动态调试,基本了解了其运行原理,在此记录。 ...

2017-05-03 23:33:16

阅读数:16079

评论数:0

arm64-v8a汇编指令

转自:http://blog.sina.com.cn/s/blog_936739790102v6ny.html A64指令 提供同A32和T32指令类似的功能, 也提供如下新功能 1)一个清晰的,固定长度的指令集: 指令是32位宽度, 寄存器字段(fields)是 在固定位置的 连续的位, 立...

2017-05-02 23:25:18

阅读数:3553

评论数:0

如何快速定位native方法在对应so中的位置

转自:http://www.jianshu.com/p/03800b72a367 前言 在逆向的时候,有些应用有一大堆的so,而且都是提前加载好,有的so甚至做了处理,很难看出函数名。本文讲述的方法可以快速定位: native方法的实现在哪个so中在so中的哪个位置 ...

2017-03-25 18:26:02

阅读数:1463

评论数:2

如何压缩ndk的so库

压缩so的有效手段: 不要启用 Exceptions 和 RTTI不要使用 iostream使用 -fvisibility=hidden使用 gc-sections 丢弃未使用的函数使用 –icf=safe 移除重复代码修改交叉编译工具链的默认标记位限制编译的ABI 详情下面参考链接。...

2017-03-25 18:22:33

阅读数:878

评论数:0

Android Valgring检测Native内存泄漏

说明: Native内存泄漏 --- 泛指底层库文件中的代码存在的内存泄漏,在我们的项目里是指   NavSDK底层so文件中存在的内存泄漏 .   Valgrind --- 一款开源的跨平台的支持多种语言的描绘和检测内存操作相关问题的监 测工具 , 在我们的项目目前只检测内存泄漏 ,内存操...

2017-03-01 10:46:39

阅读数:1171

评论数:0

Android反调试笔记

转自:https://my.oschina.net/cve2015/blog/734381 1)代码执行时间检测 通过取系统时间,检测关键代码执行耗时,检测单步调试,类似函数有:time,gettimeofday,clock_gettime. 也可以直接使用汇编指令RDTSC读取,但...

2016-12-29 23:46:16

阅读数:926

评论数:1

ndk生成ARM汇编(附代码)

转自:http://www.cnblogs.com/bingghost/p/5838688.html 使用ndk即可生成arm汇编 1.首先写好hello.c #include int main(int argc, char const *argv[]) { int a=10...

2016-12-29 23:18:44

阅读数:796

评论数:0

arm汇编语言(android)调用C函数之参数传递

转自:http://blog.csdn.net/gooogleman/article/details/3538033 arm汇编语言调用C函数之参数传递 来源: ChinaUnix博客  日期: 2008.06.28 17:3...

2016-11-06 00:54:15

阅读数:353

评论数:0

windows下gdb与gdb_server调试Android的程序

手机服务端: 启动方式:  gdbserver:23946 + bin程序路径 附加方式:  gdbserver:23946+-attach [pid] PC客户端: D:\Android-ndk-r9\toolchains\arm-linux-androideab...

2016-11-03 15:27:48

阅读数:1002

评论数:0

ARM-ELF文件格式与GNU ARM Linker机制

这里所说的ARM系统基本文件格式,都是在基于ARM的嵌入式系统开发中常会碰到的文件格式。     ARM系统基本文件格式有三种: 1) BIN,平板式二进制格式,一般用于直接烧写到Flash中,也可以用于加载到monitor程序中。 2) ELF,EXECUTABLE AND LINKABL...

2016-11-02 15:24:01

阅读数:263

评论数:0

android linker 浅析

Android 的加载/链接器linker 主要用于实现共享库的加载与链接。它支持应用程序对库函数的隐式和显式调用。对于隐式调用,应用程序的编译与静态库大致相同,只是在静态链接的时候通过--dynamic-linker /system/bin/linker 指定动态链接器,(该信息将被存放在ELF...

2016-11-02 15:12:25

阅读数:1021

评论数:0

android开发--- jni使用RegisterNatives注册本地方法

1. 以前在jni中写本地方法时,都会写成 Java_com_example_hellojni_HelloJni_stringFromJNI的形式,函数名很长,而且当类名变了的时候,函数名必须一个一个的改,麻烦。 现在好了有了RegisterNatives,现在一片顶过去五片,蓝瓶的好喝的! ...

2016-09-06 11:21:48

阅读数:722

评论数:0

基于HOOK的Anti-debug调用点trace和Anti-anti

转自:http://bbs.pediy.com/showthread.php?t=199671 一、概述 相信动态调试过SO的坛友对Anti并不陌生,比如读取/proc/self/status,/proc/self/task/xxx/status、stat文件查看状态TracePi...

2016-07-07 16:47:06

阅读数:410

评论数:0

NDK编译和使用静态库、动态库

默认所有代码和文件在$project/jni下,否则特殊说明。 情况一:编译静态库 文件Android.mk: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE    := hello-jni L...

2016-07-07 10:18:06

阅读数:583

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭