- 博客(27)
- 资源 (8)
- 收藏
- 关注
原创 SpringCloud GateWay 使用https
前置:开发某微信小程序,要求走https,因为后端框架采用SpringCloud,入口统一为SpringCloud Gateway,在某云上申请了证书,如下:然后坑来了,因为SpringCloud Gateway采用webflux,netty形式,某度搜索,说使用IIS服务器类型,配置如下:server: port: 8082 ssl: enabled: true key-store: classpath:xxxx.pfx key-password: xxx
2021-09-22 14:53:29 721
转载 实用FRIDA进阶:内存漫游、hook anywhere、抓包
本章中我们进一步介绍,大家在学习和工作中使用Frida的实际场景,比如动态查看安卓应用程序在当前内存中的状态,比如指哪儿就能hook哪儿,比如脱壳,还有使用Frida来自动化获取参数、返回值等数据,主动调用API获取签名结果sign等工作实际高频场景,最后介绍一些经常遇到的高频问题解决思路,希望可以切实地帮助到读者。1 内存漫游Frida只是提供了各种API供我们调用,在此基础之上可以实现具体的功能,比如禁用证书绑定之类的脚本,就是使用Frida的各种API来组合编写而成。于是...
2020-11-26 17:28:52 829 4
转载 frida hook解密auto.js加密后的脚本
一、环境windows:python 3.0以上 :这篇博客中并未直接使用到python编程,只是在下载frida-tools时使用到了pip命令,所以若选择下载下面的工具包,就不需要配置python环境 adb环境 :电脑连接手机通过命令行进行操作 frida命令环境 :命令行执行frida命令 dex2jar :将dex文件转换成jar文件 jd-gui :将jar文件进行反编译,得到java源码文件安卓手机:root frida-server服务器工具包(frida-tool
2020-11-25 10:47:21 2330
转载 frida的用法--Hook Java代码篇
frida是一款方便并且易用的跨平台Hook工具,使用它不仅可以Hook Java写的应用程序,而且还可以Hook原生的应用程序。1. 准备frida分客户端环境和服务端环境。在客户端我们可以编写Python代码,用于连接远程设备,提交要注入的代码到远程,接受服务端的发来的消息等。在服务端,我们需要用Javascript代码注入到目标进程,操作内存数据,给客户端发送消息等操作。我们也可以把客户端理解成控制端,服务端理解成被控端。假如我们要用PC来对Android设备上的某个进程进行操作,那么PC就
2020-11-25 10:30:51 6730 2
转载 Auto.js js转.class具体代码过程
前几天给大家分享了一篇关于Auto.js代码加密的技术文章,链接在《[Auto.js教程]js代码加密终极方案>js脚本解析成.class》不少的Auto.js的开发者,开始有安全意识的对Rhino进行操作了。有时候觉得一个行业或细分领域的发展快慢,就得看行业内是否有人愿意输出、愿意普及一些别人不愿意拿出来的东西,来普遍提高行业内人士的认知和水平,分享的同时也彰显了自己在涉及该领域的意义说起Rhino,我看群中很多是对Rhino.jar进行操作,有直接Java Main的,...
2020-10-23 11:00:34 921
原创 java实现--自动调用QQ聊天窗口
package test;import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.StringSelection;import java.awt.datat...
2020-07-13 14:45:13 1247 2
转载 分布式事务的四种解决方案
简述分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。解决方案在分布式系统中,要实现分布式事务,无外乎那几种解决方案。一、两阶段提交(2PC)两阶段提交(Two-phase Commit,2PC),通过引入协调者(Coordinator)来协调参与者的行为,并最终决定这些参与者是否要真...
2020-03-09 14:09:49 92
转载 Java命令:常见命令及Java Dump介绍
转发自:https://www.jianshu.com/p/8171d9934471Java命令: 常见命令及Java Dump介绍1、常用命令:在JDK的bin目彔下,包含了java命令及其他实用工具。jps:查看本机的Java中进程信息。jstack:打印线程的栈信息,制作线程Dump。jmap:打印内存映射,制作堆Dump。jstat:性能监控工具。jhat:内存...
2020-03-04 11:42:54 235
原创 ThreadPoolExcutor线程池
Java通过Executors提供四种线程池: 1. newCachedThreadPool() 创建一个可缓存线程池,可灵活回收空闲线程,若无可回收,则新建线程。 2. newFixedThreadPool() 创建一个定长的线程池,超出的线程会在队列中等待. 3.newSingleThreadExecutor() 创建一个单线...
2020-03-03 21:47:34 309
原创 模拟GC触发并且监测GC变化
打印详细的GC信息命令:-XX:+PrintGCDetails;监测工具:VisualVM模拟大对象,触发GC -XX:+PrintGCDetails 打印GC信息 VisualVM启动package com.lyb269.jvm.gc;import org.junit.Test;import java.text.SimpleDateFormat;import ja...
2020-03-01 23:03:21 303
原创 Java垃圾回收机制
Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区。 那些内存需要回收?(对象是否可以被回收的两种经典算法: 引用计数法 和 可达性分析算法) 什么时候回收?(堆的新生代、老年代、永久代的垃圾回收时机,MinorGC 和 Fu...
2020-02-29 23:21:13 118
原创 并发之Condition
查看Condition源代码,@since 1.5,Condition是JDK1.5中才出现的,相比使用传统Object的wait(),notify(),使用Condition的await()、signal()这种方式实现线程间协作更加安全和高效。 Condition类能实现synchronized和wait、notify搭配的功能,另外比后者更灵活,Condition...
2020-02-26 17:06:49 174
原创 同步: synchronized和ReentrantLock
开头给自己得渣渣发音备注下: synchronized读法:['sɪŋkrənaɪzd] ReentrantLock和synchronized都是加锁式同步,当一个线程获取了对象锁后,其它要进入同步块的线程就必须阻塞在同步块外等待。线程的阻塞和唤醒需要操作系统在用户态和内核态之间切换,所以,ReentrantLock和synchronized都是代价比较高的。关于用户态...
2020-02-25 15:37:53 469
原创 Thread线程状态变化过程
关于线程的定义(摘自百度百科): 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。JVM中定义的线程状态:NEW :Thread state for a thread which has not yet...
2020-02-24 15:32:55 357
原创 使用Guava的RateLimiter限流
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。...
2020-02-19 14:53:55 205 1
原创 对两个限流算法的理解
漏桶算法(Leaky Bucket) 以下选自百度百科: 水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数据的传输速率. 个人理解: 桶代表请求的最大数,水代表请求,桶的出口代表响应,桶里面一直接水,当接水的速度超...
2020-02-18 10:25:54 147
原创 Centos7 Mysq 安装
前几天看到阿里云上服务器系统,centos出了7.3版本的,想起手里有个闲置的服务器,果断登录阿里后台把系统更换为centos7.3,64位,开搞!去mysql官网下载最新版本的 yum repository,mysql yum repository.1.下载完repository,扔到服务器上,执行以下命令:yum localinstall mysql-community-r...
2020-02-17 17:24:23 260
转载 Java反射注解妙用(获取所有接口说明)
前言最近在做项目权限,使用shiro实现restful接口权限管理,对整个项目都进行了重构。而权限管理需要用到所有的接口配置,包括接口url地址,接口唯一编码等。想要收集所有的接口信息,如果工程接口很多,工作量可想而知。这里用了反射,来获取所有接口的信息,接口再多,也不过几秒钟的事。使用Auth.java接口信息对象主要包括授权地址...
2019-09-05 11:38:59 538
转载 同为分布式缓存,为何Redis更胜一筹?
如今,市面上的缓存解决方案已经逐步成熟了,今天我将选取其中一些代表性的方案包括Redis、Memcached和Tair进行对比,帮助大家在生产实践中更好地进行技术选型。一、常用的分布式缓存的对比常用的分布式缓存包括Redis、Memcached和阿里巴巴的Tair(见下表),因为Redis提供的数据结构比较丰富且简单易用,所以Redis的使用广泛。下面我们从...
2019-09-02 14:32:35 115
转载 Spring WebClient 与 RestTemplate 比较
1. 导读在这篇教程中,我们将对比两种 Spring Web 客户端实现,RestTemplate 和新的 Spring 5 Reactive WebClient。2. 阻塞式客户端 vs 非阻塞客户端在 Web 应用程序中,向其他服务发起 HTTP 调用是常见需求。因此,需要一个 Web 客户端工具。2.1. RestTemplate 阻塞式客户端...
2019-08-26 13:40:07 4044
转载 如何让笨重的架构变灵巧?
随着业务的复杂性增大、系统吞吐量增长,所有功能统一部署难度加大,各个功能模块相互影响使系统变的笨重且脆弱,因此需要对业务进行拆分、对系统进行解耦、对系统内部架构升级,以此来提升系统容量及健壮性。接下来主要分两部分介绍: 系统拆分 结构演变 一、系统拆分系统拆分从资源角度分为应用拆分和数据库拆分,而从采用的先后顺序则可分为: 水平扩展; ...
2019-08-26 08:54:01 99
原创 JVM之类加载
JVM虚拟机中类加载的过程:加载、连接(验证、准备、解析)、初始化三个步骤.盗用网上的图: 加载 加载是类装载的第一步,首先通过class文件的路径读取到二进制流,并解析二进制流将里面的元数据(类型、常量等)载入到方法区,在java堆中生成对应的java...
2019-08-08 16:34:55 108
原创 Mysql格林威治时间转 yyyy-MM-dd格式
格林威治时间:Thu Jul 6 10:00:06 2019SELECT STR_TO_DATE('Thu Jul 6 10:00:06 2019','%a %b %e %T %Y %Y %Y') from dual ;执行完:2019-07-06 10:00:06格林威治时间:Tue Sep 9 00:00:00 CST 2019SELECT STR_TO_DATE(R...
2019-07-23 11:45:26 2215
原创 Java虚拟机
JVM总体架构 JVM 是 java虚拟机,是用来执行java文件的 Java的跨平台及原理 跨平台:由Java编写的程序可以在不同的操作系统上运行:一次编写,多处运行 原理:编译之后的字节码文件和平台无关,需要在不同的操作系统上安装一个对应版本的虚拟机(JVM) JVM的分类 ...
2019-07-22 20:26:41 106
转载 【多线程】Thread和Runnable区别
线程是进程中独立运行的子任务,比如我们运行的QQMuic.exe的时候,然后就会有很多的子任务,而且不同的子任务可以共同工作,这时候每一个子任务就是一个线程,多个子任务共同工作,就是多线程。使用多线程,很大程度上缩短了用户等待时间,而且使CPU的利用率大幅度的降低。实现方式 多线程的编程方式有两种:一是集成Thread类,另一种是实现Runnable接口;Thread类是实现了Run...
2019-07-16 15:46:47 148
转载 饿了么:业务井喷时,订单系统架构这样演进
本文转载自InfoQ目录快速增长下的业务场景 服务架构的演进 Design for failure“本文根据石佳宁在InfoQ举办的2016ArchSummit全球架构师(深圳)峰会上的演讲整理而成。老司机简介石佳宁,饿了么后台支撑研发部负责人,目前任职于饿了么,现任平台研发中心-后台支撑部门负责人,主要负责饿了么外卖订单、统一客服系统、BD销售以及管理工 具、代理商管理平台...
2019-07-15 14:35:00 427
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人