某A系电商App x-sign签名分析
一、目标前不久(我去,都大半年了)分析过我们找到了几个伪装成so的jar包。虽然rpc调用ok了,但是它的实际运算过程还是在so里面的。今天我们从它们同族的App来入手,利用Native层字符串定位的方式来定位下在哪个so中去做的运算。App版本:v4.15.1二、步骤特征字符串定位一开始选择的特征字符串是x,后来发现没有xsign好使In
不能Hook的人生不值得 jsHook和模拟执行
一、目标李老板:奋飞呀,上次分析的那个App光能Debug还不够呀,网页中的js也用不了Frida,我还想Hook它的函数,咋搞呀?再有App可以RPC去执行签名,这个js我如何去利用呀?总不能代码都改成js去做请求吧?奋飞:老板呀,你一下提这么多要求,不是明摆着要我们加班吗?这次加班费可得加倍。二、步骤最简单易行的jsHookcon
捉虫大师 捉虫大师
3年前
服务探活的五种方式
几个月前,我在这篇文章中给自己挖了个坑:文中提到的实际问题就是服务探活,今天来填上这个坑。在微服务架构下,服务提供方(Provider)的节点一般不止一个,消费方(Consumer)根据负载均衡算法挑选一个健康的节点进行调用。识别Provider节点是否健康,这便是服务探活要讨论的内容。健康的节点可定义为能正常响应Consumer请求的节点,不健康自然是不
Wesley13 Wesley13
3年前
STM32嵌入式开发学习笔记(二):将功能封装为库文件
将所有的函数都堆在main.c文件里不是好的选择,庞大的代码文件会是你维护的障碍,明智的做法是,一种功能封装到一个库文件里。库文件就是你代码开始部分写的include<xxxx.h里面的xxxx.h,让我们打开stdio.h文件看一看里面具体有什么内容。!(https://oscimg.oschina.net/oscnet/71321f0b3
Wesley13 Wesley13
3年前
SQL JOIN 简单介绍
前言本文还是秉持之前一贯的写作风格,以简单易懂的示例帮助大家了解各种join的区别。为什么需要join为什么需要join?join中文意思为连接,连接意味着关联即将一个表和多个表之间关联起来。在处理数据库表的时候,我们经常会发现,需要从多个表中获取信息,将多个表的多个字段数据组装起来再返回给调用者。所以join的前提是这
Wesley13 Wesley13
3年前
Java里的按值传递与引用传递
按值传递还是按引用传递这个在Java里面是经常被提起的问题,也有一些争论,似乎最后还有一个所谓的结论:“在Java里面参数传递都是按值传递”。事实上,这很容易让人迷惑,下面先分别看看什么是按值传递,什么是按引用传递,只要能正确理解,至于称作按什么传递就不是个大问题了。1:按值传递是什么指的是在方法调用时,传递的参
Wesley13 Wesley13
3年前
J2Cache 和 JetCache 框架有何不同?
从软件名称看还有点像呢?但这两者完全不是一回事!JetCache是阿里的一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。也就是说这个项目主要的目的是为了让所有的缓存框架通过JetCache实现统一的接口调用,让你不需要关心底层缓存的API细节。这是设计模式层面上的封装。而J2Cache完全不同,
Wesley13 Wesley13
3年前
Java集群优化——dubbo+zookeeper构建高可用分布式集群
不久前,我们讨论过Nginxtomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容,就是分布式,而当下流行的Dubbo框架,不容我们忽视,这里,咱们一起来探讨一下这个框架的使用。一,背景  以前我们需要远程调用他人的接口,我们是这么
Wesley13 Wesley13
3年前
Spring方法注入
在spring中注入方式有3中:1,构造函数注入2,set方法注入3,接口注入(方法注入)在spring中的bean默认范围都是单例,但是在特定的情况下,我们需要有如下的业务需要,单例bean1需要依赖非单例bean2,由于bean1始终是单例,所以如果不做出改变,每次获取的bean2也是同一个,容器就没办法给我们提供
浅谈服务接口的高可用设计
作为一个后端研发人员,开发服务接口是我正常不过的工作了,这些接口不管是面向前端HTTP或者是供其他服务RPC远程调用的,都绕不开一个共同的话题就是“高可用”,接口开发往往看似简单,但保证高可用这块实现起来却不并没有想想的那么容易,接下来我们就看一下,一个高可用的接口是该考虑哪些内容,同时文中有不足的欢迎批评指正。