自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (5)
  • 收藏
  • 关注

原创 日常问题集合

日常问题汇总一、加密与解密1.openssl 调用RSA进行公钥加密私钥解密时调用PEM_read_bio_RSAPubKey()返回null二、跨语言接口调用1.C#调用C++共享库bool值始终返回为true2.C#调用C++共享库函数接口崩溃,提示堆栈不平衡3.C#调用C++共享库传入字符串后C++接收到的字符串长度不足一、加密与解密1.openssl 调用RSA进行公钥加密私钥解密时调...

2019-05-29 11:14:43 556 1

转载 Linker加载器保护总结

1.前言Android代码层加固保护目前主要为dex层加固及native层加固,当前Native层加固手段主要为加壳、混淆、OLLVM,VM、加载器保护、代码段加密运行时解密等方案. 本文主要提供native层的基于加载器的保护思路及实现中遇到的一些问题,文后会给出碰到的问题,欢迎各位不吝赐教,源码基于android 7.0进行分析2.SO装载与链接2.1 do_dlopen调用 dl...

2019-01-21 00:44:11 533

原创 帧同步原理

文章目录一.常见游戏同步方案1、状态同步2、帧同步二、帧同步技术基础概念1.基础概念1.MOBA类游戏基本服务器架构2.通信方式一.常见游戏同步方案同步问题的本质是一致性的问题,在同一局多人游戏的过程中,玩家A看到玩家B的状态,应该跟玩家B自身看到自己的状态相一致。延迟是造成不一致的本质原因,假设理想情况下双方的网络时延都为0,那两者应该是同步的,但是在现实情况中,往往是不可能的,本文讨论的同...

2019-01-21 00:40:44 7667

原创 安卓模拟点击方案调研

文章目录一.模拟点击需求二.涉及到的一些技术点三.常用模拟点击方案四.模拟点击方案分析五.方案选型一.模拟点击需求 1.点击"开始阅读" 2.进入目标页面进行浏览 3.此处可能需要加入防作弊检测手段,例如随机停留时长(>6s)、模拟人工操作进行滑动等) 4.可能需要的一些其他功能,例如文章点赞 5.点击“后退(<)”按钮 6.点击停止阅读按钮 7.如果需要做群控类设备的...

2019-01-21 00:36:16 895

原创 Libcurl库移植指南(下)--编译支持https的libcurl库

一、编译环境操作系统: ubuntu16.04 32位NDK版本: Android-ndk-r10b源码版本: curl-7.61.0环境变量:/etc/profileexport NDK_HOME=/opt/android/ndk/android-ndk-r10bexport PATH=/opt/android/ndk/android-ndk-r10bexport AND...

2018-08-28 11:47:39 3073 26

原创 Libcurl库移植指南(上)--OpenSSL库移植

一、环境配置系统版本:ubuntu16.04 32位 NDK版本:Android-ndk-r10b 源码版本:openssl-1.1.0f 环境变量:/etc/profileexport NDK_HOME=/opt/android/ndk/android-ndk-r10bexport PATH=/opt/android/ndk/android-ndk-r10bexport...

2018-08-27 17:31:23 997

原创 AndroidStudio+smalidea无源码调试问题汇总

## 1.smali代码下断无法断下来    本人为AS3.x+smalidear0.03下断时无法正常断下来,更换插件版本为0.05调试正常

2018-06-08 11:05:09 569

原创 OLLVM4.0+NDK编译环境搭建

0x00 项目简介Obfuscator-LLVM is a project initiated in June 2010 by the information security group of the University of Applied Sciences and Arts Western Switzerland of Yverdon-les-Bains (HEIG-VD).T...

2018-02-28 20:36:28 4261 4

原创 静态全局变量

Static声明该类型属于静态类型不允许外部文件访问,如果是在一个函数内部声明一个静态变量则说明该变量只能在函数内部使用,其他函数不能调用。C语言可以通过static来实现私有化,面向对象不是一种语言而是一种思想。Extern声明表示该变量或者函数可以被其他文件调用。Static  void  getnum();Int temp(){  getnum()}void

2018-02-28 15:03:50 616

原创 arm 汇编代码还原--for语句还原

arm汇编for语句还原代码片段代码特征*循环变量x初始化*LDR R3=[R11,#_0x38]STR R3=[R11,#_0x1C] ;此处相当于for(dword var_1c=var38;)B loc_DE87FDF8 ;先跳转到循环判断处loc_DE87FDE0: **循环体** LDR R0,[R11,#_0x1C] MOV R1,#0x400

2017-12-15 19:53:44 864

原创 安卓逆向DDMS不显示待附加进程解决思路

下图为正常开启调试模式时已经正常附加的界面。当出现异常时DDMS不显示待调试进程的解决方法。1.确保手机调试模式已打开2.确保ADB模式下能够检测到设备3.确保设备未被其他ADB占用4.在1.2.3都没问题的情况下 使用 adb kill-server 命令结束后   执行adb start server.

2017-12-15 11:34:37 1262

原创 IDA调试安卓程序提示“The debugger could not ...”解决办法

调试环境: IDA7.0手机: 华为nova青春版  已root系统版本: android 7.0解决办法: 关闭selinux异常提示界面如图:1 命令查看出selinux的状态getenforce2 临时关闭 selinux setenforce 0

2017-12-14 19:36:33 3192

原创 线程不同步的原因,如何同步,简单的防止程序多开

多线程编程中主要的问题是线程同步问题。1.什么时间需要线程同步访问共同的内存数据2.为什么需要线程同步多线程程序在执行时由于windows系统机制,会在线程之间来回切换俗称切时间片,当我们的程序没有进行线程同步处理时,Window切时间片不在我们的受控范围内,也就是我们的代码在执行时由于切时间片的原因代码可能会跑到一片被切走执行其他线程的代码,此时我们不知道代码执行到了何处,这种是

2014-07-31 02:24:55 3641

原创 c++结束知识点

1.Const 编译器器级别检查防止误修改(可通过指针修改).2.引用 &:代码更简洁效率高(无靠背构造),引用与指针无本质区别,都是将地址数据压入栈空间,汇编下代码一样。3.内联:优点:提高效率 缺点:占用空间大4.宏:属于强制内联 实现必须放在头文件 类可以默认内联5.函数重载:调用方便,编译期的多态,实现机制——名称粉碎6.默认参:方便调用,默认参数放

2014-05-18 23:18:05 562

原创 不可逆加密思路

2014-03-19 01:57:54 577

原创 3.17数组知识补课

1.定长管理定义一个二维数组每行放固定长度的字节,删除的话首字节用/0代替,缺点,效率低空间利用率低,不方便管理,每次进行删除或增加操作都要便利数组。2.变长管理3.可以定义一个多维数组,例如10000个字符串的增删查改[0][5][5]hellow [0][2][5]herld [0][6][6]printf假定这三个字符串空间连续。则用第一个标志位表示空间是否已用,第二个标

2014-03-18 01:45:50 576

原创 3.14笔记

1.在获取字符串输入时尽量不要用gets(),因为gets()不检查长度,如果数据过长可能会覆盖内存其他位置,造成程序错误。2.内存拷贝时高地址向低地址拷贝时正向拷贝就可以,如果是低地址向高地址拷贝要考虑内存重叠问题,如果有重叠则从低地址的最高位向高地址最高位反向拷贝例:高往低拷1 2 3 4 5 6 7 8 9 0a b如果要从b将数据拷贝到a 因为b为高地址则第一次拷贝b[

2014-03-18 01:44:11 490

原创 给定一个整数判断位数并实现分别输出每位,逆序输出。

//主要学习将数字转换位字符的存储方式//一个个位数加上字符'0'的ASCII值可以将数字转换为该数的字符形式。****************************************************************************#include #include void change(int Num);//主功能函数,转换数字为字符串,判断位

2014-03-09 01:45:07 2202

原创 身体状态统计(游戏)

#includeint birthdays();//计算从出生日到现在的总天数int sum();//计算某一年到某一年的总天数int count();//计算闰年与非闰年某一天为该年第几天int number();//计算第n月m天为该年第几天的函数void cheack(int num);//判断身体状态int door = 0;int main(){ int Year

2014-03-09 00:32:52 589

原创 统计出生天数

#includeint birthdays();//计算从出生日到现在的总天数int sum();//计算某一年到某一年的总天数int count();//计算闰年与非闰年某一天为该年第几天int number();//计算第n月m天为该年第几天的函数int door=0;int main(){ int Year1; int Month1; int Date1; int

2014-03-08 23:29:04 818

原创 统计出生天数(改进前)

#includeint birthdays();//计算从出生日到现在的总天数int sum();//计算某一年到某一年的总天数int count();//计算闰年与非闰年某一天为该年第几天int number();//计算第n月m天为该年第几天的函数int check();int door=0;int main(){ int Year1; int Month1; in

2014-03-08 19:58:36 611

原创 逆序输出

//逆序输出程序#include#define num 10void Change(int Array[],int N_num);void main(){int i;int Array[num]={0};printf("请输入要逆向输出的数字");for (i=0;i (sizeof(Array)/4);i++){

2014-03-08 01:21:24 720

原创 冒泡排序

/*冒泡核心思想每次比较相邻的两个数的大小,并进行交换,每轮都会选出一个最大或者最小的数,重复n轮就可以将n个数排序*/#include void F_Sort(int Array[],int Num);//排序主函数void main(){ int Num2; int Array[10]={0}; printf("请输入要排序的数字\r\n"); for(Num2

2014-03-07 21:06:02 530

原创 选择排序

/*选择排序核心思想假设第一个值为最值,让其与元素其他值进行比较,选取一个最值,以后每次从未排序元素选取一个最值*/#include void F_Sort(int Array[],int Num);//排序主函数void main(){ int Num2; int Array[10]={0}; printf("请输入要排序的数字"); for(Num2 = 0;

2014-03-07 19:00:25 491

原创 求素数程序

#include #include int is_prime(int n){ int i; for (i=2;i<=(sqrt(n));i++)//判断一个数是否为素数只需对其开平方范围内的数挨个求模就知道了,如果此处为100,则用100对1—10分别进行求模。 { if(n%i==0)//判断n对i取模的值是否为零如果不为零则该表达式不会执行,如果为零,则函数返回0,继续自加

2014-03-06 00:32:37 2021

原创 一周复习笔记

数制与编码 进制转换 二进制、八进制、十六进制转成十进制。方法:按权相加例如: N进制转换套用公式:(XYZ)n进制=X*n^2+Y*n^1+Z*n^0二进制与十六进制之间的转换二进制转换成十六进制: 从右向左,每4位一组(不足4位补0),转换成十六进制.十六进制转换成二进制: 用4位二进制数代替每一位十六进制数.二进制与八进制之间的转换二进制转

2014-03-06 00:24:47 509

原创 函数调用约定与栈

压栈顺序1.参数2.返回地址3.调用函数栈基址()4.临时变量空间5.寄存器信息一般为EBX,ESI.EDI。6.栈结构遵循先进后出的顺序,堆,栈是两个不同的概念,函数调用过程中参传递的顺序根据调用约定来执行,标准调用约定和C约定都是从右往传参,快速约定从左往右传参,参数多于两个的通过寄存器穿参,多出的通过栈传参,函数返回值默认在EAX中。7.约定:有且

2014-02-28 23:14:08 698

原创 2014.2.21听课笔记作业

一、编码:1、有符号数的原码最高位表示符号位,0表示正、1表示负、其装值部分用二进制表示。2、正数的反码是原码本身,负数的反码为其首位置一其他位取反。3、正数的补码是原码本身,负数的补码为其绝对值的原码按位取反末位加一。4、一个数的补码的补码还是原码本身。5、补码与求补运算不是一个概念。6、反码与求反运算不是一个概念。  二、数据类型7、单字节:当值为0~7

2014-02-23 11:31:31 771

原创 2012.2.20学习笔记

一、冯诺依曼体系1.输入设备2.存储设备3.运算设备4.控制设备5.输出设备二、存储设备速度快慢寄存器>高速缓存>内存>外存三、程序的三大结构1、顺序结构 2、选择结构、3循环四、DBMS(数据库管理系统)的重要技术指标1、大容量2、高速度3、可靠性4、稳定性侧重点根据项目需求决定零星知识点:1.软件的难度取决于对象和需求,最复杂

2014-02-23 11:27:01 594

libcurl安卓通信库支持https

开源通信库openssl,主要用于安卓的底层通信,支持https

2018-08-28

openssl1.1.0f 静态库 --android版

openssl1.1.0f静态库,包含头文件,libcrypa.a libssl.a,包含依赖的头文件,支持android平台

2018-08-27

x-pack-6.1.4破解版jar包

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

2018-03-30

Ubuntu14.04+UPX3.92编译过程及相关源码与错误处理方法

学习so加upx壳中碰到的一些问题,此资源将相关源码资源进行打包,并对一些编译过程中的碰到的一些错误进行集合并给出错误解决的文档

2017-10-21

驱动开发教程

驱动开发教程,内核HOOK,64无签名加载驱动、内核反调试

2015-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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