关闭
当前搜索:

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

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

实现Android ARM64平台下Inline Hook框架

Android阵营新出机型的cpu基本都是64位了,虽然可以向下兼容armeabi-v7a,但是使用32位的so毕竟不能充分发挥64位cpu的潜力,所以以后arm64-v8a用的会越来越多。但是整个安卓生态圈似乎还没有开源发布的ARM64内联HOOK方案,所以自己动手写了个,姑且取名And64InlineHook吧,需要注意的是仍然是Alpha版。         关于Inline Hook的背...
阅读(49058) 评论(1)

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

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

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

自VS2015起, Visual Studio开始逐渐内置支持跨平台开发, 并且Visual Studio团队还额外发布了一个编译工具集Clang with Microsoft CodeGen, 方便开发人员进行跨平台代码的开发, 该工具集在VS 2015 Update 2时采用的 Clang 版本号是3.7. 与此同时VS的移动开发能力也不再局限于Windows Phone, 而是支持了包括Android, iOS在内的主流平台的应用开发.本文就搭建过程中遇到的一些问题作个小结, 并不定时更新....
阅读(54204) 评论(4)

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

完整概述如何在VirtualBox+Windows 10环境下搭建android-x86_64调试环境...
阅读(20261) 评论(0)

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

this->_map = TMXTiledMap::create(tmxFile); this->_barriers = this->_map->getLayer("barriers"); this->_states->setVisible(false);//如果直接在editor中设置invisible, getLayer会返回nullptr // find auto layerSize...
阅读(16025) 评论(1)

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

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

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

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

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

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

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

实际开发过程中, 碰到用户使用虚拟机进行违反规则的活动(作弊,逆向等等)时着实令开发人员头疼, 于是应运而生的便是各种检测方法, 其不外乎基于虚拟环境的特征进行检测, 而可执行文件的路径也是其中之一. 以下是收集的关键路径,欢迎补充:  "/data/app/com.bluestacks.appmart-1.apk" "/data/app/com.bluestacks.BstCo...
阅读(36586) 评论(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的效率更高, 原文简要介绍了其编程实现原理和数学背景知识。...
阅读(9671) 评论(1)

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

简要介绍Android平台动态dex分包加载原理, 并提供了其在JNI层相应实现的C++类DexClassLoader。...
阅读(31259) 评论(2)

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

命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如ARM,MIPSvendor - 工具链提供商os - 目标操作系统eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface) 根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如 ...
阅读(53241) 评论(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 32 bits of the given instruction and this naturally limits the range of constants that can be represented in...
阅读(4786) 评论(0)

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

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

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

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

解决adb connect无法连接Android设备

一般情况下,只要Android设备和主机处于同一局域网(互联网也行,不过要求Android设备有公网Ip或者上层路由做好端口映射),并且打开了相关开发者选项(如USB调试等,国内ROM自定义太多了,各家表述不一样),adb connect ip即可成功建立连接,但有时部分设备会遇到以下情况: unable to connect to 192.168.0.100:5555: cannot conn...
阅读(53734) 评论(0)
    联系作者
    通过QQ与我联系(全天候7*24小时基本不在线)
    最新评论
    免责声明
    如果转载的文章侵犯了您的版权,请务必告知,我将立刻删除;
    博客所有文章允许转载,原创类不要求注明出处,随意就好;
    如果是转载的文章,建议直接转载原始来源,因为原作者极可能有更新