自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (13)
  • 收藏
  • 关注

原创 Frida Hook 代码片段

jnitrace是一个Frida模块,跟踪Android应用程序中JNIAPI的使用情况。使用DroidSSLUnpinning项目,这是github上开源项目,把想Hook的类的完整包名,卸载distClassArr数组中。参数-o,指定Frida的输出日志到文件。同样是github上开源项目,工具的下面这个命令,直接将。

2023-12-02 15:42:37 215

原创 抓包 Hook 工具Objection

Objection 是一个基于 Frida 开发的命令行工具,它可以很方便的 Hook Java 函数和类,并输出参数,调用栈,返回值。因为 Objection 是基于 Frida 的所以必须先安装 Frida 然后才能安装 Objection为什么有了frida,还需要Objection呢,因为frida hook需要写JavaScript脚本代码,Objection就很方便把frida很多脚本都封装了,直接使用一条命令,就可以使用frida 进行hook,简化了很多hook写通用代码的过程。

2023-12-02 14:58:17 384

原创 Frida抓包flutter app过程记录

承接上一篇。

2023-12-01 23:58:03 712

原创 一次不成功的抓包,踩坑过程

想搞Android app抓包,简单的方法,已经不起作用,打开charles代理工具,抓不到我的目标app任何请求,搞了两三天,也没成功。我的目标APP里,经过apk反编译出来,看到有libflutter.so文件,想着开发商用flutter框架开发的此应用,准备用frida hook技术+postern工具+Charles代理工具,对其进行抓包。

2023-10-22 17:21:56 502

原创 Android逆向之重新打包APK

反编译工具使用apktool执行完毕后会在当前目录生成一个example文件夹,里面是反编译出的文件。

2023-10-22 16:11:48 816

转载 Android逆向之反编译APK

1、反编译资源,主要通过 apktool2、反编译代码,主要通过 dex2jar + jd-gui3、基于一个 app 打造一个新的 app,主要通过 apktool 反编译后,修改 activity_main.xml 文件,然后进行重新打包,签名,对齐,最后安装展示了预期的效果。

2023-10-22 15:58:42 834

转载 入门 Kubernetes/K8s

2023-06-28 00:03:55 61

原创 FRP 内网穿透搭建(无域名)

frp是一种快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露到Internet。到目前为止,它支持TCP和UDP,以及HTTP和HTTPS协议,其中请求可以通过域名转发到内部服务。

2023-01-06 11:30:18 2941 8

原创 技术管理实战之全貌

管理到底都做哪些事儿?作为技术管理者,如何保持技术判断力?

2022-08-20 12:43:43 213

原创 设计方案\解剖框架\写文章得力工具UML可视化语言

本文用足够简单的语言记录UML的常用内容。UML统一建模语言,描述、构造和文档化系统制品的可视化语言

2022-08-05 11:51:58 184

原创 读《DevOps实践指南》笔记三

第五部分 第三步:持续学习与实验的技术实践第19章 将学习融入日常工作  180前言他们有一个特别的设计目标,那就是即使 AWS 的整个可用区域都发生了故障,就像这次美国东部区的事故,也要确保 Netflix 的服务能够持续运行。要达到这一点就需要系统架构是松耦合的,每个组件都有特别敏感的超时设计,从而保证出现故障的组件不会拖垮整个系统。作为替代,Netflix 每个功能和组件都设计为具有完全降级的能力。例如,当流量剧增造成了 CPU 使用率暴涨的时候,就不向用户显示个性化的电影推荐列表,而是只显示已

2021-09-12 00:44:30 295

原创 读《DevOps实践指南》笔记二

第三部分 第一步:流动的技术实践第9章 为部署流水线奠定基础  709.1 按需搭建开发环境、测试环境和生产环境  71 不再需要运维团队手动构建和配置环境,而是可以使用自动化的方式完成以下操作: 复制虚拟化环境(如 VMware 虚拟机镜像、执行 Vagrant 脚本,以及启动 Amazon EC2 虚拟机镜像文件); 构建“裸金属物理机”的自动化环境搭建流程(例如,使用 PXE 方式通过基线镜像进行安装); 使用“基础设施即代码”的配置管理工具(例如 Puppet、Chef、

2021-09-12 00:37:28 891

原创 读《DevOps实践指南》笔记一

第一部分 DevOps介绍第1章 敏捷、持续交付和三步法  41.1 制造业价值流  41.2 技术价值流  4我们通常将技术价值流定义为“把业务构想转化为向客户交付价值的、由技术驱动的服务所需要的流程”。1.2.1 聚焦于部署前置时间  5价值流始于工程师”(包括开发、QA、IT运维和信息安全人员)向版本控制系统中提交了一 个变更,止于变更成功地在生产环境中运行,为客户提供价值,并生成有效的反馈和监控信息。我们并不提倡在设计、开发中串行地完成了大批量的工作后,再转入测试、运维阶段(如使用大批

2021-09-12 00:25:11 609

原创 Shell监控JVM内存-企业微信群告警

#!/bin/bashjdkVersion=`java -version 2>&1 | sed '1!d' | sed -e 's/"//g' | awk '{print $3}'`sysdate=`date +"%Y-%m-%d %H:%M:%S" -d now`for pid in `jps |grep -v Jps|awk '{print $1}'`doprocess_name=$(ps -ef|grep java|grep $pid)#jvm内存监控echo ---

2021-09-09 00:55:37 473

原创 读《考试脑科学:脑科学中的高效记忆法》笔记

第1章 记忆究竟是什么  11-1 能力只能用考试检测吗  21-2 神经元“创造”出的脑  4脑科学中对“记忆”的描述如下: 记忆是将神经回路的动力学(dynamics)现象转化为一定规则,在突触重叠的空间中,根据读取的外部时空信息,形成一种内部信息表达的过程。简单来说,记忆的“真相”就是“新神经回路的形成”。每一个神经元都通过“神经纤维”分别与其他一万个神经元相连,这种由神经元之间相互连接构成的系统就是“神经回路”。1-3 记住与忘记  6无论是从长期记忆里调取信息,还是向长期记忆里保存信

2021-07-18 13:26:25 11084 1

原创 GitLab CI 自动部署

GitLab Runner 安装版本要求GitLab:社区版本gitlab-ce-14ContOS:CentOS Linux release 7.9JDK:1.8maven:Apache Maven 3.8.1Git:2.31.1使用GitLab CI实现java项目的自动部署。更新git 到2.xyum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.r

2021-07-11 00:16:01 367 1

原创 gitLab安装&配置

基本信息安装版本社区版本gitlab-ce-14服务器:11.22.33.44访问地址http://gitlab.lihuayong.com:8888需要配置本地host映射11.22.33.44 gitlab.lihuayong.com日志地址:/var/log/gitlab/服务地址:/var/opt/gitlab/安装#查看是否安装依赖rpm -qa | grep policycoreutilsrpm -qa | grep policycoreutils-pytho

2021-07-04 00:00:31 232

原创 敏捷项目管理

敏捷方法定义一种迭代式增量开发方法敏捷提倡"轻量级”的开发模式敏捷要求分析和设计要适度而不是过度,而且敏捷更强调迭代敏捷适合在很不明确、很不确定或快速变化的环境中使用迭代的周期不要太长,通常是2 ~4周项目是通过一次一次的较短周期迭代完成每次迭代都有交付为什么需要敏捷提高了生产率减少"浪费”(不需要繁多过重的文档, 重复工作等)提高客户满意度短期内产生成效按预期交付每次迭代结束,产生可见的成果改善员工的满意度团队精神能够规划和管理自己的工作稳定的工作量(可持续的步伐)

2021-06-22 23:24:57 181

转载 原来 8 张图,就可以搞懂「零拷贝」了

前言磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。这次,我们就以「文件传输」作为切入点,来分析 I/O 工作方式,以及如何优化传输文件的性能。正文为什么要有 DMA 技术?在没有 DMA 技术前,I/O 的过程是这样的:CPU 发出对应的指令给磁盘控制器,然后返回; 磁盘控

2021-02-28 22:13:14 211

转载 Epoll原理解析

文章会从网卡接收数据的流程讲起,串联起 CPU 中断、操作系统进程调度等知识;再一步步分析阻塞接收数据、Select 到 Epoll 的进化过程;最后探究 Epoll 的实现细节。从网卡接收数据说起下边是一个典型的计算机结构图,计算机由 CPU、存储器(内存)与网络接口等部件组成,了解 Epoll 本质的第一步,要从硬件的角度看计算机怎样接收网络数据。计算机结构图(图片来源:Linux 内核完全注释之微型计算机组成结构)下图展示了网卡接收数据的过程:在 1 阶段,网卡收到网线传.

2021-02-28 18:56:06 161

原创 Redis Cluster集群Linux安装

redis集群安装

2020-09-22 17:25:04 710 1

转载 RocketMQ-消息存储

一、磁盘文件结构1.1文件简介RocketMQ的Broker机器磁盘上的文件存储结构CommitLog:消息主体以及元数据的存储主体,存储Producer端写入的消息主体内容。单个文件大小默认1G,文件名长度为20位,左边补零,剩余为起始偏移量,比如00000000000000000000代表了第一个文件,起始偏移量为0,文件大小为1G=1073741824;当第一个文件写满了,第二个文件为00000000001073741824,起始偏移量为1073741824,以此类推。消息主要是顺序写入日志

2020-09-13 13:07:52 1034 1

转载 RocketMQ-基础介绍

一、RocketMQ术语1.1Producer消息生产者,位于用户的进程内,Producer通过NameServer获取所有Broker的路由信息,根据负载均衡策略选择将消息发到哪个Broker,然后调用Broker接口提交消息。1.2Producer Group生产者组,简单来说就是多个发送同一类消息的生产者称之为一个生产者组。1.3Consumer消息消费者,位于用户进程内。Consumer通过NameServer获取所有broker的路由信息后,向Broker发送Pull请求来获取消息数据

2020-09-12 12:39:44 733 1

原创 即时通信IM聊天消息顺序之ID生成策略

即时通信IM消息ID生成策略

2020-09-03 20:50:40 2835 5

原创 Elasticsearch初级学习笔记

Elasticsearch-基础介绍及索引原理分析:分析倒排索引,分析term index的压缩算法和posting list的压缩算法

2020-08-22 13:11:58 608

原创 Redis多机数据库—主从复制-Sentinel-集群

读《Redis设计与实现》笔记一、复制在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave),Redis的复制功能分为同步和命令传播两个操作,1.1同步当客户端向从服务器发送SLAVEOF命令,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,以下是PSYNC命令的执行步骤:从服务器向主服务器发送PSYNC命令

2020-08-09 11:53:33 218

原创 分布式事务方案分类汇总

分布式事务方案分类目前分布式事务解决的方案主要有对业务无入侵和有入侵的方案.业务无侵入的方案无入侵方案主要有基于数据库 XA 协议的两段式提交(2PC)方案和蚂蚁金额开源的Seata AT 模式。分布式事务方案常用实践框架相关阅读数据库 XA各个数据库厂商实现XA协议Seata ATSeata AT 模式分布式事务中间件Seata的设计原理Seata XASeata XA 模式Seata 分布式事务实践和开源详解基于数据库 XA 协议方案优缺点:

2020-08-08 20:45:31 166

转载 最终一致性分布式事务

上面咱们聊了聊 TCC 分布式事务,对于常见的微服务系统,大部分接口调用是同步的,也就是一个服务直接调用另外一个服务的接口。这个时候,用 TCC 分布式事务方案来保证各个接口的调用,要么一起成功,要么一起回滚,是比较合适的。但是在实际系统的开发过程中,可能服务间的调用是异步的。也就是说,一个服务发送一个消息给 MQ,即消息中间件,比如 RocketMQ、RabbitMQ、Kafka、ActiveMQ 等等。然后,另外一个服务从 MQ 消费到一条消息后进行处理。这就成了基于 MQ 的异步调用了。

2020-08-08 09:57:33 251

转载 TCC分布式事务案例

业务场景介绍咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。那对一个订单支付之后,我们需要做下面的步骤:更改订单的状态为“已支付” 扣减商品库存 给会员增加积分 创建销售出库单通知仓库发货这是一系列比较真实的步骤,无论大家有没有做过电商系统,应该都能理解。进一步思考好,业务场景有了,现在我们要更进一步,实现一个 TCC 分布式事务的效果。什么意思呢?也就是说,[1] 订单服务-修改订单状态,[2] 库存服务-扣减库存,[3] 积分服务-增加积分,

2020-08-06 17:03:18 1632

原创 Redis单机数据库-RDB AOF持久化-文件事件

读《Redis设计与实现》笔记redis服务器默认会创建16个数据库。

2020-08-02 11:59:21 204

原创 Redis数据结构—动态字符串-链表-字典-跳跃表

一、简单动态字符串一个sdshdr结构表示一个SDS值:struct sdshdr { //记录buf数组中已使用字节的数量 int len; //记录buf数组中未使用字节的数量 int free; //char类型的数组,用来保存字符串 char buf[]; }SDS还是遵循了C字符串以空字符结尾的惯例,最后一个字节保存空字符’\0’。这样做的好处是SDS可以重用一些C字符串函数库里面的函数。字符串拼接,例如执行sdscat(s,“C

2020-07-30 00:14:26 220

原创 读MySQL技术内幕 事务笔记

读《MySQL技术内幕 InnoDB存储引擎》事物笔记事物是数据库区别于文件系统的重要特性之一,数据库引入事物的主要目的:事物会把数据库从一种一致状态转换为另外一种一致的状态。事物的特性以及这些特性的实现方式:事物特性实现方式原子性重做日志 redo log持久性重做日志 redo log一致性回滚日志 undo log隔离性锁事物的隔离性,通过锁技术来实现,锁分为几种:事物隔离性锁算法锁范围读未提交(read-uncommit

2020-07-18 11:44:13 176

原创 Spring Boot原理分析之简单示例

Spring+XML配置示例Spring Boot自动配置示例

2020-07-07 20:40:49 128

原创 读MySQL技术内幕 锁笔记

读《MySQL技术内幕 InnoDB存储引擎》锁笔记数据库管理的是磁盘上的文件,文件系统也是对磁盘文件的管理,那么数据库和文件系统有什么区别呢?首先假设这样一个场景,用户开启两个窗口,在这个窗口中,打开磁盘上同一个文件,起初两个窗口中看到的文件内容是相同的,现在用户在窗口1中修改了文件的内容,这个时候用户在窗口2中刷新文件内容,应该看到最新的内容吗?这得看用户自己的选择了。选择1:窗口2看到最新的实时的内容。选择2:窗口1中修改的文件内容保存到磁盘之后,窗口2才能看到保存之后的内容。选择3:窗口

2020-07-06 00:07:11 154

转载 读MySQL技术内幕 B+树与算法笔记

读MySQL技术内幕 索引与算法笔记。B+树的B不代表二叉(binary),而是代表平衡(balance),因为B+树最早是从平衡二叉树演化而来,但是B+树不是一个二叉树。B+树索引并不能找到一个给定键值得具体行。B+树索引能找到的只是被查找数据行所在的页。然后数据库通过把页读入内存,再在内存中进行查找,最后得到查找的数据。平衡二叉树定义:首先符合二叉查找树的定义,其次必须满足任何节点的左右两个子树的高度最大差为1。B+树B+树是为磁盘或其他直接存取辅助设备设计的一种平衡查找树。它所有记录节点都是

2020-07-04 18:00:33 157

原创 读MySQL技术内幕 InnoDB存储引擎笔记

后续有时间在对InnoDB存储引擎体系架构做补充说明…

2020-07-02 16:26:35 133 3

原创 Spring循环依赖决策

Spring循环依赖决策

2020-06-25 15:55:34 205

原创 基于slf4j和common-logging的日志框架

前言用了这么长时间的日志框架,有时候用得很顺利,有的时候又很迷惑,比如在项目中引入一个新的jar包,会出现日志框架冲突的时候,要不就是日志莫名的打印不出来,要不就是项目启动异常。今天花点时间来整理,梳理一下这些日志框架之间的关系。日志框架概览这是从其他的博主文章中摘录出来的,我借用过来记录一下,从这张图中就能看的很清楚,不同的日志框架(包括:log4j、logback等)的基础是slf4...

2020-04-19 11:15:04 824 4

原创 CentOS 7 安装 Hive

操作系统:CentOS 7Hive版本:2.3.6JDK版本:1.8Mysql版本:5.7安装前准备保证 hadoop 正常运行保证 Mysql 正常运行确保JDK 正常安装yum install java-1.8.0-openjdk创建hive数据库并为其授权在msyql数据库中创建hive的元数据库create database hive;...

2020-03-10 13:05:45 1422 2

原创 CentOS7 安装 Zookeeper

创建安装目录mkdir /opt/soft/zookeepercd /opt/soft/zookeeper下载wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz解压tar -zxvf zookeeper-3.4.13....

2020-03-10 11:22:15 200

zookeeper资料

包括zookeeper源码注释、文档、图

2016-12-17

kmip1.0相关资料

KMIP。一种协议可以被视为一种语言,它定义了事件的顺序,消息的内容,和它的编码。KMIP符合一个密钥管理系统和客户之间的沟通要求。

2014-05-11

kmip4j介绍

KMIP定义了密钥生命周期管理系统(KLMS)和其客户之间的沟通,KMIP4J,这是一个使用Java代码开发的开源KMIP实现,现已在www.sourceforge.net。此文章给出了开源实现的概述。

2014-05-10

apache-tomcat-7.0.6

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

2014-05-05

h2嵌入式数据库

h2采用纯Java编写,因此不受平台的限制。

2014-05-05

kmip完整测试环境

完整的测试环境源码包,包括GUI客户端、 KMIP库、 KLMS服务器。

2014-05-03

kmip服务端的简单实现

kmip服务端的简单实现,一个web应用服务器,使用Tomcat7.0发布。

2014-05-03

kmip客户端简单实现

这个例子显示了一个非常简单的KMIP客户端。它使用KMIP4J库来创建一个请求到KLMS。

2014-05-03

kmip客户端

系统的结构是基于客户机-服务器体系结构,客户端提供一个GUI程序。

2014-05-03

kmip4j-src-1.0

使用java实现的kimp1 0 密钥管理互操作协议 源码

2014-05-03

kmip4j-bin-1.0

实现kmip1.0的jar包和和几个配置文件。

2014-05-03

windows server 2003域控服务器安装配置

在windows server 2003环境中安装域控服务器,以及一些可能出现的问题的解决方法。

2013-07-18

空空如也

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

TA关注的人

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