关闭
当前搜索:

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】SVM与字符分类示例

SVM,全称Support Vector Machine,即支持向量机,是机器学习中常用的分类器(同样支持向量回归),属监督式学习的一种。         在二值分类中,SVM通过寻找一个 决策最优分类超平面 来尽可能地将两类样本分开(最大分类间隔)并作为分类的判据,以期得到较强的泛化能力,我们所指的训练(train)主要就是寻找这个超平面。如果你看过相关推导,会发现原本复杂的问题被一步步等价,...
阅读(9102) 评论(0)

【OpenCV3.3】特征值、奇异值分解与图像矩阵重构

在图像处理方面,矩阵分解被广泛用于降维(压缩)、去噪、特征提取、数字水印等,是十分重要的数学工具,其中特征分解(谱分解)和奇异值分解是两种常用方法,本文简单介绍如何在OpenCV中使用它们对图像进行分解,然后重新构造图像。       本文不会阐述两种分解的数学背景知识,但是为了方便读者唤醒记忆,会先贴出(部分)数学定义,详细的介绍和证明建议阅读矩阵理论相关书籍或者参考资料。...
阅读(9468) 评论(0)

【OpenCV3.3】通过透视变换矫正变形图像

在平面图像处理中,因为镜头角度等原因,容易导致图像出现倾斜、变形等情况,为了方便后续处理我们常常需要进行图像矫正,其中主要技术原理是两种变换类型--仿射变换(Affine Transformation)和透视变换(Perspective Transformation)。         仿射变换是二维坐标间的线性变换, 故而变换后的图像仍然具有原图的一些性质,包括“平直性”以及“平行性”,常用于...
阅读(11890) 评论(1)

【OpenCV3.3】检测图像中的身份证区域

假设现有一些含身份证前景以及不确定背景的图像,想通过计算机将身份证区域检测出来,实现诸如用户拍照定位提示、背景分离等业务,用OpenCV该如何做呢?如果输入图像前景和背景同时具有一定区分度,并且没有光照污染(即均匀光照),那么本文介绍的方法似乎是一种较快的检测方案(因为对输入图像要求比较严格, 故计算量少)。         首先我们来看看一些例子(来自互联网):         ...
阅读(12267) 评论(2)

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

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

【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境

OpenCV 3.3在8月3号正式Release,带来了许多优化改进和新特性,包括备受关注的深度神经网络(DNN)模块被正式引入主仓库,标志着OpenCV对DNN有了更深层次的优化与支持; 支持通过宏ENABLE_CXX11启用对C++ 11特性的支持;默认包含大量SSE4.X和AVX/AVX2指令集优化;内置Intel IPP版本升级至2017.2,官方测试显示有近15%的性能提升......
阅读(23090) 评论(18)

Microsoft Visual Studio 2017 Supports Intel® AVX-512

Intel® AVX-512提供了32个程序可见的512位宽向量寄存器以及8个专用屏蔽寄存器, 支持的数据宽度是AVX/AVX2的两倍并能和AVX保持完美兼容而不带来性能损失, 是向512位SIMD支持跨出的巨大飞跃。VS 2017 v15.3也宣布增加了对Intel® AVX-512的编程支持,在这篇文章中,对比了未优化的C版本快速排序和使用Intel® AVX-512指令优化的快速排序,后者的性能平均提升了近十倍...
阅读(16577) 评论(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)

Stroustrup专访:畅想C++17

最近,Bjarne Stroustrup(设计并最初实现C++的作者)公开的一份草案引发了一场激烈讨论,讨论的话题围绕着C++17的设计目标以及可能加入的新特性。据Stroustrup说,C++17将会有以下三个设计目标: 改善对大规模可靠软件的支持。 支持更高级的并发模型。 简化语言核心。 针对以上的每个设计目标,Stroustrup列举了可加入C++17的新特性...
阅读(13600) 评论(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)

通用型C/C++程序性能测试Benchmark的简单实现

在完成一个算法的改进后, 除了人工估算时间复杂度外, 我们可能还希望直观地检测改进效果, 现有的性能分析工具比如Intel® VTune™ Amplifier自然满足需求, 然而有时候使用第三方工具的成本却可能超出我们的所需(也许我们仅仅需要大概地对比便能得到结果), 或者我们希望能在代码中控制测试流程, 这时写一个Benchmark便是首选了.      本文实现了一个简单的通用型Benchm...
阅读(25369) 评论(0)

分支预测(Branch Prediction)

分支预测(Branch Prediction)是现代处理器用来提高CPU执行速度的一种手段, 其对程序的分支流程进行预测, 然后预先读取其中一个分支的指令并解码来减少等待译码器的时间....
阅读(27425) 评论(1)

C++ 代码模拟登录淘宝、天猫、支付宝等电商网站的实现

有关C++ 代码模拟登录淘宝、天猫、支付宝等电商网站的实现, 在群上有很多人问, 想来有许多人对此非常感兴趣, 其中的厉害关系在此不做深究, 这篇文章也仅仅提供一些基础的实现方法, 由于整个过程中基本不需要什么技术, 因此也没有什么技术探讨的价值, 全当分享心得吧. 想通过纯代码(我指的是不借助浏览器而完全通过自己处理和发送请求)来实现登录有一定阻碍, 因为PC端网站的登录模块出于各种原...
阅读(40545) 评论(11)

NTAPI枚举指定进程中指定模块创建的线程

代码示例了如何使用API枚举指定进程中指定模块创建的线程, 注意该方案存在一定局限性, 就是模块的起始地址和线程起始地址之间的关系无法保证, 可能存在漏掉的....
阅读(34644) 评论(0)

解决VERIFIER STOP 00000900: A heap allocation was leaked.

VERIFIER STOP 00000900: pid 0xDE0: A heap allocation was leaked. 0A37011C : Address of the leaked allocation. Run !heap -p -a to get additional informat...
阅读(54252) 评论(1)

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)
81条 共5页1 2 3 4 5 ... 下一页 尾页
    联系作者
    通过QQ与我联系(全天候7*24小时基本不在线)
    最新评论
    免责声明
    如果转载的文章侵犯了您的版权,请务必告知,我将立刻删除;
    博客所有文章允许转载,原创类不要求注明出处,随意就好;
    如果是转载的文章,建议直接转载原始来源,因为原作者极可能有更新