菜鸟小筑

一只平凡的菜鸟,一片浩瀚的天空,我自翱翔…

WINDOWS+CMAKE+VS2017编译OLLVM并整合到VS2017 NDK

OLLVM全称Obfuscator-LLVM,即基于LLVM框架的源码级别混淆工具,相比机器指令混淆,源码级别混淆无需关心底层指令差异(由编译器生成),因而更具兼容性和拓展性,对程序流程的控制更为全面,同时也易于理论研究的展开。         本文编译的OLLVM来自Github上的开源项目h...

2017-09-26 19:35:56

阅读数:46625

评论数:4

实现Android ARM64平台下Inline Hook框架

Android阵营新出机型的cpu基本都是64位了,虽然可以向下兼容armeabi-v7a,但是使用32位的so毕竟不能充分发挥64位cpu的潜力,所以以后arm64-v8a用的会越来越多。但是整个安卓生态圈似乎还没有开源发布的ARM64内联HOOK方案,所以自己动手写了个,姑且取名And64In...

2017-09-23 21:00:02

阅读数:54100

评论数:1

【OpenCV3.3】搭建VS2017+Android开发环境

在上一篇 【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境 中我们搭建了OpenCV的Windows开发环境,现在我们来搭建Android的C++开发环境(当前版本直接使用官方提供的SDK)。

2017-08-07 21:36:03

阅读数:16256

评论数:0

VS 2015 Update 2 构建 Android 程序遇到的一些问题

自VS2015起, Visual Studio开始逐渐内置支持跨平台开发, 并且Visual Studio团队还额外发布了一个编译工具集Clang with Microsoft CodeGen, 方便开发人员进行跨平台代码的开发, 该工具集在VS 2015 Update 2时采用的 Clang 版...

2016-04-10 12:38:09

阅读数:54417

评论数:4

VirtualBox+Win10搭建android-x86_64调试环境

完整概述如何在VirtualBox+Windows 10环境下搭建android-x86_64调试环境

2015-05-30 11:15:59

阅读数:20416

评论数:0

cocos2d-x v3.6 使用TMXLayer::getTiles遍历瓦片地图块

this->_map = TMXTiledMap::create(tmxFile); this->_barriers = this->_map->getLayer("barriers"); this->_states->setVisibl...

2015-05-08 22:31:01

阅读数:16141

评论数:1

cocos2d-x v3.6 根据png序列图创建animation

之前都是使用TP格式化swf来创建动画,今天遇到了个问题,我拿到的动画序列图是合成好的一张png。没有plist文件。悲催... 现在只好自己画区域创建动画。 先看看png序列图。我就随便拿一个来用用。(先说明哈,该图是我从一个android游戏里面抽出来的。无侵权之意。)   Te...

2015-05-04 15:26:46

阅读数:13488

评论数:1

dalvik下替换so简单dump出梆梆加固保护的odex

本文介绍了一种在dalvik虚拟机下简单可行、通过替换so实现的梆梆加固脱壳的方案, 不需要定制ROM、不需要动态调试, 并且由于掌握了代码主动权, 可以进一步深入进行抽离类还原、资源修复等工作。

2015-04-18 12:28:02

阅读数:15727

评论数:0

【代码】Android SDK平台获取高唯一性设备识别码

注意:由于获取的设备信息完全可以通过诸如hook拦截等手段伪造,因此不能简单通过代码获取到数据作为判断用户身份的唯一凭据!(某些apk竟然通过imsi,imei来为用户自动登录...)private static String getUniqueID(Context paramContext) ...

2014-12-20 11:52:21

阅读数:16755

评论数:0

Android开发中通过关键路径初步检测虚拟机环境,防止作弊

实际开发过程中, 碰到用户使用虚拟机进行违反规则的活动(作弊,逆向等等)时着实令开发人员头疼, 于是应运而生的便是各种检测方法, 其不外乎基于虚拟环境的特征进行检测, 而可执行文件的路径也是其中之一. 以下是收集的关键路径,欢迎补充:  "/data/app/com.bl...

2014-11-18 09:50:34

阅读数:36788

评论数:8

GNU Hash ELF Sections And GNU-style hash table

GNU Hash ELF Sections 和 GNU-style hash table (搜索关键词SHT_GNU_HASH, DT_GNU_HASH, .gnu.hash) 是经过精心设计、用来加速ELF符号表查找的一种手段,相比传统的ELF HASH查找, GNU HASH的效率更高, 原文...

2014-10-11 16:40:08

阅读数:9771

评论数:1

Android平台在JNI层实现动态dex分包加载

简要介绍Android平台动态dex分包加载原理, 并提供了其在JNI层相应实现的C++类DexClassLoader。

2014-08-08 20:30:06

阅读数:31311

评论数:2

ARM交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别

命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如ARM,MIPSvendor - 工具链提供商os - 目标操作系统eabi - 嵌入式应用二进制接口(Embedded Application Binary...

2014-06-15 15:50:41

阅读数:54222

评论数:0

How to Load Constants in Assembly for ARM Architecture

ARM is a 32-bit CPU architecture where every instruction is 32 bits long. Any constants which are part of an instruction must be encoded within the 3...

2014-06-09 09:21:37

阅读数:4839

评论数:0

android ndk开发中常用的系统自带网络命令

android本身内置了一些网络命令,使用这些命令程序尤其基于ndk开发时会获得很多便利,并在某种程度上可以绕开上层的限制、获得更多详细的信息和更好的灵活性等。

2012-03-17 17:28:09

阅读数:9015

评论数:4

Android在JNI层反射替换当前app的ClassLoader

值得一提的是,反射确实是个很强大很灵活的东西, 借助哈希、红黑树等高度优化的数据结构让反射的代价降到了极低,通过反射+JNI, 可以做到几乎任何你想做的东西。JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *unused) { JNIEnv...

2012-02-02 15:47:29

阅读数:4820

评论数:0

解决adb connect无法连接Android设备

一般情况下,只要Android设备和主机处于同一局域网(互联网也行,不过要求Android设备有公网Ip或者上层路由做好端口映射),并且打开了相关开发者选项(如USB调试等,国内ROM自定义太多了,各家表述不一样),adb connect ip即可成功建立连接,但有时部分设备会遇到以下情况: u...

2012-02-02 15:46:20

阅读数:58765

评论数:0

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