自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1289)
  • 资源 (119)
  • 收藏
  • 关注

转载 android proguard代码混淆,代码保护

一般情况下,Android 的 gradle 中都会默认写着:默认 Proguard 文件:官方自带的混淆规则文件路径:proguard-android.txt。这个默认文件中帮我们声明了许多混淆规则内容,包括:keep 所有继承自 View 的类,keep 所有继承自 Activity 的类,keep 所有 JavascriptInterface、native 方法声明,以及 keep 一些注解了@Keep的内容。

2024-01-17 12:01:03 159

原创 2021-10-19

c++之内存大小对齐。uint32_t alignLen = (size + 4095) & (~4095);

2021-10-19 16:51:13 727 3

原创 Java异或加解密

/* * Copyright (C) 2017, Megatron King * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/.

2021-09-23 10:49:24 968

转载 Android加壳过程中mprotect调用失败的原因及解决方案

问题原由函数抽取壳是当前最为流行的DEX加壳方式之一,这种加壳方式的主要流程包含两个步骤:一、将DEX中需要保护的函数指令置空(即抽取函数体);二、在应用启动的过程中,HOOK 类的加载过程,比如ClassLinker::LoadMethod函数,然后及时回填指令。笔者在实现抽取壳的过程中遇到了一个问题,即在步骤二回填指令之前,需要先调用mprotect将目标内存设置为“可写”,但在初次尝试过程中一直调用失败,于是有了今天这篇文章。本文探讨的主要内容是mprotect调用失败的根本原因,以及

2021-09-15 15:01:49 1463

原创 C++关于类结构体大小和构造顺序、析构顺序的测试。

#include <iostream>using namespace std;/**1. c++的类中成员若不加修饰符的话,默认是private2. 调用构造函数时,先递归调用最顶级的父类构造函数,再依次到子类的构造函数。3. 调用析构函数时相反,先调用最底层的子类析构函数,再依次到父类的构造函数。4. 空类的sizeof(A)大小为1,多个空类继承后的子类大小也是1 */class A{public: A() { cout<&l..

2021-08-24 22:12:12 337 2

转载 二叉树之前序/中序/后序和层次遍历

#include <iostream>#include <cstring>#include <queue>using namespace std;typedef struct TreeNode{ char data; TreeNode* left; TreeNode* right;} TreeNode;#define STR_SIZE 1024//创建二叉树int createBTNode(TreeNode** BT, ..

2021-08-24 10:20:41 233

原创 c++多线程

#include <iostream>#include <thread>#include <mutex>#if _WIN32#include <Windows.h>#else#include <unistd.h>#endifusing namespace std;mutex mu; //线程互斥对象int totalNum = 20;void thread01(){ while (totalNum > .

2021-08-04 18:10:34 184

转载 ECDH 算法概述(CNG 示例)

转自:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2008/cc488016(v=vs.90)ECDH全称是椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie–Hellman key Exchange),主要是用来在一个不安全的通道中建立起安全的共有加密资料,一般来说交换的都是私钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据传输中使用。ECDH是建立在这样.

2021-08-02 17:27:51 4202 1

转载 Tencent soter生物认证原理

https://blog.csdn.net/peilong1988/article/details/88253704一、分析了下腾讯Soter的原理和开源代码。开源代码:https://github.com/Tencent/soter三级密钥管理(采用的RSA2048密钥)ATTK:设备根密钥,在设备出厂前在TEE中生成,公钥通过安全通道传输到腾讯TAM服务器,私钥存储在RPMBASK:App Secure Key,应用密钥,在应用启动时生成,每个应用生成一个AuthKey:Auth

2021-07-28 17:52:07 634

转载 如何利用 SOTER ,1 个版本内完成指纹支付开发?

转自:https://cloud.tencent.com/developer/article/1005987作者简介 : Henryye,叶轩,来自腾讯微信事业群,主要负责腾讯开源项目TENCENT SOTER(GitHub地址:https://github.com/Tencent/soter, 生物认证平台的开发、维护与运营。提到指纹支付,你会怎么做?假如有一天,产品经理安排你做指纹支付,并且要下版本就上,你会怎么做?如果是产品大哥,就从工位下面抽出一把指甲刀架在他脖子上,让他跪在墙角

2021-07-28 17:49:13 949

转载 Android Tombstone 分析

转自:https://www.cnblogs.com/CoderTian/p/5980426.html1.什么是tombstone当一个动态库(native 程序)开始执行时,系统会注册一些连接到debuggerd 的signal handlers,当系统 crash 的时候,会保存一个 tombstone 文件到/data/tombstones目录下(Logcat中也会有相应的信息),文件的确就像墓碑一样记录了死亡了的进程的基本信息(例如进程的进程号,线程号),死亡的地址(在哪个地址上发生了 ..

2021-07-28 17:46:45 2469

转载 AndroidQ 锁屏密码验证流程之GateKeeper解析

转自:https://blog.csdn.net/qq_34211365/article/details/105833847本篇文章分析一下GateKeeper这个模块,官网对GateKeeper的描述如下:GatekeeperGatekeeper 子系统会在可信执行环境 (TEE) 中执行设备解锁图案/密码身份验证。Gatekeeper 会使用由硬件支持的密钥通过 HMAC 注册和验证密码。此外,Gatekeeper 会限制连续失败的验证尝试次数,并且必须根据指定的超时和指定的连续失败尝试次数拒

2021-07-27 23:42:14 1548

转载 什么是可信计算?

阿里妹导读:可信计算(TrustedComputing,简称TC)是一项由TCG(可信计算组)推动和开发的技术。可信的核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。可信和安全是相辅相成的,可信是安全的基础,了解可信才能更好地了解安全,才能为构建更稳固的安全体系固本强基。一、什么是可信计算可信并不等同于安全,但它是安全的基础,因为安全方案、策略只有运行在未被篡改的环境下才能进一步确保安全目的。通过保证系统和应用的完整性,可以确保使用正确的软件栈,并在软件栈受到攻

2021-06-18 15:54:13 4089 1

转载 动态规划算法

读完本文,你可以去力扣拿下如下题目:509.斐波那契数322.零钱兑换-----------这篇文章是我们号半年前一篇 200 多赞赏的成名之作「动态规划详解」的进阶版。由于账号迁移的原因,旧文无法被搜索到,所以我润色了本文,并添加了更多干货内容,希望本文成为解决动态规划的一部「指导方针」。动态规划问题(Dynamic Programming)应该是很多读者头疼的,不过这类问题也是最具有技巧性,最有意思的。本书使用了整整一个章节专门来写这个算法,动态规划的重要性也可见一斑。刷题刷多了就会发现,算

2021-06-08 17:39:05 322

转载 GCC 安全编译选项

https://gohalo.me/post/program-c-gcc-security-options.html操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险,例如 ASLR、NX 等等,这里简单介绍一些常见的使用项。简介操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险,例如 NX ASLR PIE CANARY FORTIFY RELRO 等手段,存在 NX 的话就不能直接执行栈上的数据,存在 ASLR 的话各个系统调用的地址就是随机化的等等。

2021-06-01 17:32:16 3230

转载 调用约定

8086 CPU寄存器均为16位。寄存器名 AX BX CX DX SP BP SI DI DS ES SS CS IP 作用 通用寄存器 栈区段地址寄存器 数据地址寄存器 栈区偏移地址寄存器 段地址寄存器 偏移地址寄存器 内存寻址两个寄存器操作只能相加,不能相减,例如mov ebx,[esi+eax] ; 有效mov ebx,...

2021-05-11 10:34:36 191

原创 c++&java之快速排序算法

#include <iostream>#include <time.h>using namespace std;//https://baike.baidu.com/item/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95void Qsort(int arr[], int low, int high){ if (high <= low) return; int i = low; in.

2021-05-10 15:51:31 172

原创 数据结构之常用c语言排序算法

#include <iostream>#include <string.h>using namespace std;#define NUM 16#define MAX 100#define MAX_LINE_NUMBER 16int list[NUM*7]={0};int merge_list[NUM*10]={0};int merge_link[NUM*10]={0};void init();void init_list(int);void out(in.

2021-05-08 17:34:09 169

原创 使用tomcat搭建HTTP文件下载服务器

1. 假设需要下载的文件目录是D:\download(注意这里写了个1,跟后面的名称区分)2. 设置 tomcat 的虚拟目录。在 {tomcat home}\conf\Catalina\localhost 下建一个任意名称(如download.xml),内容如下:<?xml version="1.0" encoding="UTF-8"?><Context path="/download" reloadable="true" docBase="D:\download" cros

2021-05-06 18:24:16 413

转载 C++单元测试教程

转自:https://www.jetbrains.com/help/clion/unit-testing-tutorial.html本教程概述了单元测试方法,并讨论了CLion支持的四个框架:Google Test,Boost.Test,Catch2和Doctest。CLion中的单元测试部分将指导您完成将这些框架包含到项目中的过程,并描述CLion提供的可帮助您进行单元测试的工具。单元测试的基础单元测试旨在分别检查源代码的各个单元。此处的单元是可以隔离进行测试的代码的最小部分,例如,自由函.

2021-04-29 17:36:06 7574

转载 证书的有效性管理和验证—CRL及OCSP的异曲同工之妙

转自https://www.cfca.com.cn/20150811/101230759.htmlhttps://www.secpulse.com/archives/113075.html  怎样验证数字证书   数字证书号称是网上的身份证。网上交易者通过交易对象的数字证书对其产生信任,并能够使用和证书绑定的公钥和交易对象通信,这是PKI认证机制的基本宗旨。但是,当网上交易者从交易对象那里直接获取,或通过访问CA证书库等不同途径得到了交易对象的数字证书以后,这张证书不经过验证是不能放心使用的。验

2021-04-29 10:26:55 2191

转载 Android V3 签名方案,使用密钥转轮为签名更新做准备!

Android V3 签名方案,使用密钥转轮为签名更新做准备!https://juejin.im/post/6844903843361210381在将 App 发布到市场之前,很重要的一个步骤就是为 APK 进行签名,大部分时候,这个操作隐藏在了打包的流程中,而不被我们注意到。签名的作用,除了证明 App 的所有权之外,还可以帮助 Android 市场和设备校验 APK 的正确性Android 签名是自证明的,并不会对证书进行 CA 认证。也就是我们可以使用工具自行生成签名证书,只要是一个正

2020-11-12 15:28:36 1343

转载 Android Q动态分区super.img相关初步整理

Android 10上刷机使用了super.img,差分包多了dynamic_partitions_op_list,大致查询了下是新增了动态分区,从编译到生成差分包都做了一些修改,本次先整理大致分析,对这个更新点有初步的认识一、编译方面1.super.img的生成通过编译的log可以看到,super.img的生成makebuild/make/core/Makefile# If BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT is set, super.im..

2020-06-12 17:25:13 12679 4

原创 Memory_Leak_Detection内存泄漏检测工具

https://www.mantidproject.org/Memory_Leak_Detectionhttp://valgrind.org/https://sourceware.org/git/?p=valgrind.githttps://sourceware.org/git/https://archive.codeplex.com/?p=vldhttps://www.codeproject.com/Articles/9815/Visual-Leak-Detector-Enhanced

2020-05-21 19:50:14 4042

转载 dlsym RTLD_DEFAULT和RTLD_NEXT

https://blog.csdn.net/ustcxiangchun/article/details/6310085https://linux.die.net/man/3/dlsymhttp://man7.org/linux/man-pages/man3/dlsym.3.htmldlsym()函数dlsym()接受dlopen()返回的动态库的“句柄” 和以空字符结尾的符号名称,返回将该符号加载到内存中的地址。如果未找到该符号,则在指定的库中,或在加载该库时由dlopen()自动加载的任何 库

2020-05-16 12:28:33 3108

转载 跟我一起写Makefile

https://seisman.github.io/how-to-write-makefile/index.html目录概述 关于程序的编译和链接 makefile介绍 makefile的规则 一个示例 make是如何工作的 makefile中使用变量 让make自动推导 另类风格的makefiles 清空目标文件的规则 Makefile里有什么?...

2020-05-07 18:54:40 257

转载 IA32寄存器与x86-64寄存器的区别

转自:https://blog.csdn.net/qq_15514565/article/details/57644132IA32寄存器一个IA32CPU包含一组8个存储32位值的通用寄存器,这些寄存器用来存储整数数据和指针:31-0 15-0 15-8 7-0 使用惯例 %eax %ax %ah %al 调用者保存 %ecx...

2020-04-02 10:47:27 628

转载 openssl RSA密钥格式PKCS1和PKCS8相互转换

RSA私钥格式PKCS1和PKCS8相互转换RSA公钥格式PKCS1和PKCS8相互转换以下转换基于openssl命令的操作;1. openssl 生成pkcs1格式的私钥,密钥长度1024位, (PKCS1)openssl genrsa -out private.pem 1024-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQ...

2020-02-26 18:22:20 1698

转载 java-xx参数介绍及调优总结

功能开关:参数 默认值或限制 说明 参数 默认值 功能 -XX:-AllowUserSignalHandlers 限于Linux和Solaris,默认不启用 允许为java进程安装信号处理器,信号处理参见类:sun.misc.Signal, sun.misc.SignalHandler -XX:+DisableExplicitGC 默认启用...

2019-12-11 16:49:39 5386 1

转载 剖析 Android ART Runtime (2) – dex2oat

在上一篇文章中我们介绍了 Android 4.4 新开发的运行时 ART 项目,其中的一个重要模快是 dex2oat,简单讲就是使用 LLVM 把 dex 文件编译成 oat 文件(Optimized ART?)。下面我们详细研究一下 dex2oat 的功能,以及他是如何被调用的。一、dex2oat 简介dex2oat 顾名思义 dex file to oat file,就是在新旧两种运行...

2019-12-06 16:09:52 835

转载 android.mk转换为android.bp

转自:https://blog.csdn.net/csdn66_2016/article/details/80258627https://www.jianshu.com/p/f239e919352aandroid.mk大家都很熟悉了,就是android下编译模块的配置文件,可以理解为android makefile。从android N之后,我们发现好多模块下面没有了android.mk文...

2019-12-04 22:50:59 1215

转载 Android关于Dex拆分(MultiDex)技术详解

转自:https://blog.csdn.net/jiangwei0910410003/article/details/50799573本文链接:https://blog.csdn.net/jiangwei0910410003/article/details/50799573一、前言关于Android中的分包技术,已经不是什么新的技术了,网上也有很多解析了,但是他们都是给了理论上的知道和...

2019-11-26 12:22:03 478

转载 android源码编译

转自:https://source.android.google.cn/setup/buildinghttps://github.com/CyanogenMod/androidhttps://developers.google.com/android/images#hammerheadhttps://source.android.google.cn/setup/buildingh...

2019-11-14 15:56:39 316

转载 使用Android Keystore进行加解密

https://www.jianshu.com/p/06775ddf435f国内使用Android Keystore加解密的应该很少吧,搜出来也基本都是Android打包时的Keystore,其实谷歌在很早之前就已经为Android提供了类似IOS的KeyChain功能,私钥存储在trustzone系统中,这个trustzone系统独立于Android系统,能做到私钥安全。具体怎么安全,我们...

2019-11-12 20:43:56 2712

转载 Android Linker 与 SO 加壳技术

https://cloud.tencent.com/developer/article/10713581. 前言Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环。目前Android 应用加固可以分为dex加固和Native加固,Native 加固的保护对象为 Native 层的 SO 文件,使用加壳、反调试、混淆、VM...

2019-10-26 15:49:06 544

转载 Android签名攻与防

转自:https://cloud.tencent.com/developer/article/1356482一. Android签名背景Android应用使用应用包文件(.apk文件)的形式分发到设备上,由于这个平台的程序主要是用 Java 编写的,所以这种格式与 Java 包的格式 -- jar(Java Archive)有很多共同点,它用于将代码,资源和元数据(来自可选的META-IN...

2019-10-24 16:13:17 530

转载 linux c下把进程/线程绑定到特定cpu核上运行

https://blog.csdn.net/guotianqing/article/details/80958281概述现在大家使用的基本上都是多核cpu,一般是4核的。平时应用程序在运行时都是由操作系统管理的。操作系统对应用进程进行调度,使其在不同的核上轮番运行。对于普通的应用,操作系统的默认调度机制是没有问题的。但是,当某个进程需要较高的运行效率时,就有必要考虑将其绑定到单独的核上运...

2019-09-02 19:55:58 1571

转载 Android 中使用 Proguard 混淆 Java 代码

转自:https://blog.rinc.xyz/posts/130808-proguard/容易被反编译是 Java 、C# 这类解释型、托管型语言的通病,为了保障代码安全,通常采取的措施主要有两种: 核心逻辑采用难于被反编译的 native 语言(C / C++)编写,而 C# 通过 DllImport 等方式、Java 通过 JNI 都可调用 native 代码。 对代码...

2019-08-30 16:47:37 255

转载 JNI 引用问题梳理

转自:https://blog.rinc.xyz/posts/151119-jni-reference/最近项目中有个视频文件分块上传的模块,核心逻辑是 C/C++ 实现的,Android 上层调用自然又要写 JNI。其中有个需求是 Native 层上传进度更新时需要回调 Java 代码,这里我用了 C++11 的 Lambda 表达式: std::function<vo...

2019-08-30 16:30:44 452

转载 iOS 引用 C/C++ 项目:交叉编译与 Objective-C++

转自:https://blog.rinc.xyz/posts/170606-objcxx/最近终于有幸参与公司的 iOS 项目,其中有个 C/C++ 写的库需要调用;之前对 Android JNI/NDK 调用 C/C++ 还算熟悉,但 iOS 混编 C/C++ 却是初次接触,各种被虐..上个周末基本都在解决库的编译问题,爱人Amble也耐心帮我查资料、作分析,感动之余,决定把中途...

2019-08-30 16:23:54 3230

sqlite3.36集成加密版_vs2008

sqlite3.36集成加密版_vs2008,实现了sqlite3_key,sqlite3_rekey接口。VS2008多字节工程。

2014-04-10

vc 实现进程管理器

vc 实现进程管理器

2014-04-01

tomcat配置https双向认证

tomcat配置https双向认证文档

2014-03-30

vc 抓取网页源码实例

vc 抓取网页源码实例,vs2008 unicode工程:解决了unicode+utf8编码,内存泄露,抓取网页等问题。

2014-03-28

vc 编写小技巧

vc 编写小技巧

2014-03-21

vc++ 常用函数使用例子

vc++ 常用函数使用例子

2014-03-21

Xtreme ToolkitPro+MFC使用小例子

Xtreme ToolkitPro+MFC使用小例子,Xtreme ToolkitPro+MFC使用小例子 vs2008工程

2014-03-19

delphi 2010 数据库三层架构例子

delphi 2010 数据库三层架构例子,以备日后需要

2014-03-04

libcurl在android下的移植、编译与测试源码

libcurl在android下的移植、编译与测试源码,libcurl在android下的移植、编译与测试源码

2014-02-18

android ddmlib截屏源码

android ddmlib截屏源码,android ddmlib pc端截屏源码,测试成功!

2014-01-22

android 录制视频源码

android 录制视频源码,包括前后摄像头,录制视频,播放视频等源码实例。

2014-01-17

java csv操作实例

java csv操作实例

2014-01-15

linux epoll例子

linux epoll例子

2014-01-14

android log4j的使用例子

android log4j的使用例子

2014-01-14

c语言日志工具-zlog的使用

c语言日志工具-zlog的使用,c语言日志工具-zlog的使用

2014-01-13

gumbo_parser

Google 的一款用C语言实现的HTML5解析库,无需任何外部依赖。gumbo_parser

2013-12-10

jnative源码和例子

jnative源码和例子

2013-12-10

Python web开发框架Django小例子

Python web开发框架Django小例子

2013-12-06

injectso-0.2.tar.gz

linux injectso-0.2.tar.gz ,

2013-12-05

cmake使用实例

请参考教程:http://blog.csdn.net/dbzhang800/article/details/6314073,cmake使用实例

2013-12-05

java 常用序列化和反序列化框架使用demo

java 常用序列化和反序列化框架使用demo ,java 常用序列化和反序列化框架使用demo

2015-07-16

ormlite-jdbc demo使用例子。

ormlite-jdbc demo使用例子。 ORMLite是一个轻量级对象关系映射持久层框架。ORMLite支持MySQL、Postgres、Microsoft SQL Server、H2、Derby、HSQLDB和Sqlite。提供灵活的QueryBuilder来构建复杂的查询。强大的抽象DAO类,让你的数据库读写类只需5行代码。能够自动生成SQL来创建和删除数据库表格。

2015-04-06

基于netbeans+javafx+fxml的基本控件的使用

基于netbeans+javafx+fxml的基本控件的使用-tableview,listview,treeview,treetableview,webview

2014-10-29

javafx之fxml例子_用户登录

javafx之fxml例子_用户登录,基于netbeans javafx fxml实例

2014-10-26

Gmail4J实例

Gmail4J实例,操作gmail邮箱。

2014-10-21

JAVA 使用hibernate配置实例

JAVA 使用hibernate配置实例,包括普通java工程版本(不是web工程)和maven配置使用hibernate版本。

2014-07-30

jetty嵌入式服务器实例大全

java jetty嵌入式服务器实例大全,包括文件资源、servlet、xml配置服务器、war包、多端口监听等实例。

2014-07-15

java 连接各种数据库大全和实例

java 连接各种数据库大全和实例,基于maven进行项目管理、先安装apache maven,然后使用mvn clean compile编译,mvn exec:java -Dexec.mainClass="com.jiepu.testsql.App" 运行。

2014-07-14

hadoop rpc实例

hadoop rpc实例,

2014-07-11

cxf整合实例_李刚webservice视频参考源码

cxf整合实例_李刚webservice视频参考源码

2014-07-10

java使用Rome解析Rss的实例

java使用Rome解析Rss的实例

2014-06-23

xfire实现webservice实例

xfire实现webservice实例,XFire WebService开发快速起步

2014-06-23

hadoop1.1.2操作例子 包括hbase hive mapreduce相应的jar包

hadoop1.1.2操作例子 包括hbase hive mapreduce相应的jar包

2014-06-06

android 接收屏幕广播例子

android 接收屏幕广播例子

2014-05-22

测试root权限

测试root权限

2014-05-19

android 零权限发送短信

android 零权限发送短信,支持android 4.0一下版本。

2014-05-16

android hibernate demo例子

android hibernate demo例子 eclipse工程成功运行

2014-05-15

使用cygwin自己编译的gdb的源码

使用cygwin编译的gdb的源码,生成gdb.exe使用。window 版本gdb.exe

2014-05-14

简易杀软源码。

简易杀软源码。应某人要求上传,只作为杀软静态查杀的模拟。

2014-04-17

delphi 生成和调用com,dll,服务程序小例子

delphi 生成和调用com,dll,服务程序小例子

2014-04-16

空空如也

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

TA关注的人

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