app逆向——安卓备份文件以及sqliteCipher加密数据库

分析 题目是XCTF app3,下载得到一个ab后缀的文件 .ab后缀名的文件是Android系统的备份文件格式,它分为加密和未加密两种类型 ab文件的前24个字节是类似文件头的东西,如果是加密的,在前24个字节中会有AES-256的标志,如果未加密,则在前24个字节中会有none的标志 载入winHex,发现ANDROID BACKUP 2 1 none,nono代表没有加密 将ab文件转成zip文件 github上有个开源项目Android backup extractor可以将.ab文件
分类: 其他 发布时间: 01-01 23:00 阅读次数: 0

mariadb的主从复制,redis的主从复制

1 mysql基本命令 1.启动mysql systemctl start mariadb ​ 2.linux客户端连接自己 mysql -uroot -p -h 127.0.0.1 3.远程链接mysql服务端: 条件一:两台机器上都安装了mysql (mariadb) 条件二:远程授权 远程授权: grant all privileges on *.* to root@"root"@'10.0.3.191' indentified by '123456'; flush privileges
分类: 其他 发布时间: 01-01 23:00 阅读次数: 0

Java 判断两个文件是否相同

使用Java 如何判断两个文件是否相同呢?我的做法是 (1)先比较两个文件内容的长度; (2)在长度相同的情况下,再比较两个文件的MD5值。 需要引入的Jar 包: <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.11</version> <
分类: 其他 发布时间: 01-01 23:00 阅读次数: 0

接口测试时返回的响应报json错误

问题: 测试接口时,传入错误数据,最开始对于错误数据也返回了json数据的响应;后来传入错误数据,接口突然就没有返回json数据,通过在出错的代码之前进行打印,发现接口报500了 检查错误的方法1:在测试类中出错的代码行前面进行打印输出 检查错误的方法2:因为传入正确的公司id时,用例通过,而传入错误的id,运行就报错,那么就去源码中验证,看看传入错误参数时,返回的响应数据是哪种类型
分类: 其他 发布时间: 01-01 23:00 阅读次数: 0

C++11 —— 单生产者/单消费者 的 FIFO 无锁队列

  发现 zeromq 的 yqueue_t 模板类,其数据存储理念设计得非常妙。借这一理念,按照 STL 的泛型类 queue 的接口标准,我设计了一个线程安全的 单生产者/单消费者(单线程push/单线程pop) FIFO 队列,以此满足更为广泛的应用。 1. 数据存储理念的结构图 队列的整体结构上,使用链表的方式,将多个固定长度的 chunk 串联起来; 每个 chunk 则可用于存储队列所需要的元素; 增加一个可交换的 chunk 单元,利于内存复用; 队列使用时,支持 单个线程的 p
分类: 其他 发布时间: 01-01 23:00 阅读次数: 0

OKR的理解

OKR,目标+关键结果,和KPI关键不同点是KPI是自上而下的任务指派,OKR是自下而上的目标认领。 OKR会逐步流行起来,并在高水平的公司运作得比较好,我觉得这里有两层意思值得深思 1、OKR要求自己定目标,其实就是要求“自驱”,我想做什么,达成什么目标。自驱力是一个非常凶猛的力量,但是也不见得谁都有。我在和身边朋友同事交流时会强调,我们到一个企业工作,一定要有除了工资之外的诉求。工资是企业给予员工达成老板目标所付出的努力的报酬,等同于老板的目标。如果没有自己的目标,是没有内在的成长动力的,
分类: 其他 发布时间: 01-01 23:00 阅读次数: 0

Double值保留两位小数的四种方法

public class DoubleTest { //保留两位小数第三位如果大于4会进一位(四舍五入) double f = 6.23556; /** *使用精确小数BigDecimal */ public void fun1() { BigDecimal bg = new BigDecimal(f); /** * 参数: newScale - 要返回的
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

2020画个螺旋

最好的风景在路上,2020年新年的第一天匆忙之间就这么开始了。新年伊始正是立Flag的大好时候,想起去年立了个论文集的Flag,到现在只打了个草稿,只好默默的把Flag先收起来,行动着就好。 在很多人眼里,软件公司似乎具有类似烤串的功效,没有什么事情是软件公司解决不了的,如果一个公司不行那就再找一个。看到AutoCAD至今还绕在阿基米德螺旋里无法自拔,我就在想,为什么不能由自己来解决这个问题呢?于是就有了这个基于CAD文件格式的螺旋线插件。 2020年的第一天,让我们从“画个螺旋”开始,向CA
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

LWJGL配置以及窗口创建(精!)

有些人初学LWJGL,不知道如何入门,也不知道如何使用这个框架,今天我教大家如何用LWJGL做个窗口。 本章大纲: 需要下载或安装什么软件吗? 在哪下载LWJGL? 怎么配置LWJGL? 如何运行? 展示效果! 需要下载或安装什么软件吗? 当然需要下载安装软件和LWJGL,安装方法可以选择官方安装,或本文章自带的整套安装软件包。除了LWJGL的文件外还需要一个IDE,eclipse或IDEA/Netbean,本篇文章就使用了eclipse,其他IDE大同小异! 需要:LWJGL开发包和 jav
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

Java基础认知--权限管理

所谓“万变不离其宗”,“宗”即本,本质。不管如何错综变化只要抓住本质,就能拨开云雾。这句话反过来也可以这样说,只要摸透本质就可幻化无穷。上层建筑要想建的高建的漂亮,底层必须牢固可靠。所以打好底层能力是能爬的高的关键。这里我们不提智商,性格,思维模式,沟通表达啊这些底层,我们不说那些抽象宏观的东西,这里我们聚焦于一些具体的技术。学技术也一样,先弄懂本质基础,才能玩的溜。基础需要不断的巩固加强,此系列的文章我会写一些自己对Java的基础知识的理解认知。 此篇的主题为Java的权限管理。 首先一个事
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

day3——序列及通用操作

什么是序列? 序列是python的最基本数据结构,每一个元素被分配一个序号,即元素的位置(索引)。 x=1 x=2 不是值的改变 是指向的改变 索引从0开始 可变序列:列表list 不可变序列:元祖tuple、字符串str、 生成器range 序列的通用操作 判断是否属于序列(in、not in) 序列链接与重复(+、*、append) 下标索引([-1]:表示最后一个值) 切片([起始值,终止值,步长] 左闭右开) 内置全局函数(len、min、max、sum、index:返回第一个索引、c
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

汽车雨刮故障维修

汽车雨刮故障维修 本文说明汽车雨刮的工作原理、维修要点、和可能出现的问题。以五菱之光汽车雨刮为蓝本进行说明,市场上其他大部分车型雨刮部分电路都类似。 1.雨刮电机原理分析 雨刮分为前雨刮和后雨刮,前雨刮电机有两组线圈(高速、低速),后雨刮只有组线圈对应一个速度。先说明前雨刮工作原理,实物如下: 下段部分黑色的为电机部分,上部分为机械部分。四根控制线、其中三个为电机线圈控制,一根为停止位控制。 1.1电机部分 两组线圈,如下图连接。 用万用表导通档位测量测试三根线应该两两导通否则认为电机线圈烧毁
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

剑指Offer做题笔记(4)整数中1出现的次数(从1到n整数中1出现的次数)

参考牛客解答作者nailperry的总结: 原回答链接:https://www.nowcoder.com/questionTerminal/bd7f978302044eee894445e244c7eee6?f=discussion 解题思路:整数n出现1的次数=个位上1出现的次数+十位出现1的次数+百位出现1的次数+...+最高位1出现的次数 求出各位出现1的次数累加即结果。 首先要知道以下的规律: 每10个数个位出现1次1. 每100个数十位出现10次1. 每1000个数百位出现100次1.
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

css--属性

1、font-size:12px; 默认浏览器字体16px,一般互联网12px,14px,设置字体的高度,不是宽度 2、font-weight:bold; bold 加粗 100-900的区间值 加粗 strong{   font-size:50px; } 3、font-style:italic;斜体 em{ font--size:60px } 4、font-family:arial;字体 5、color:; 字体颜色   - 土鳖式(纯英文单词,开发不能这种方式) red,green   常
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

【Python学习之旅】---多态(类的相关知识)

#多态反应的是执行时候的状态,不同对象调用的相同方法,调用同一个类,但运行结果不一样,属于继承的一种体现机制。 class H2O: def __init__(self,name,wendu): self.name=name self.wendu=wendu def turn_ice(self): if self.wendu < 0: print('【%s】温度太低成冰了' %self.name)
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

JS事件流模型

JS事件流模型 (一)JS中的事件流模型 1. 事件冒泡(fasle/不写):当触发一个节点的事件是,会从当前节点开始,依次触发其祖先节点的同类型事件,直到DOM根节点。 2. 事件捕获(true):当初发一个节点的事件时,会从DOM根节点开始,依次触发其祖先节点的同类型事件,直到当前节点自身。 3. 什么时候事件冒泡?什么时候事件捕获? ① 当使用addEventListener绑定事件,第三个参数传为true时表示事件捕获; ② 除此之外的所有事件绑定均为事件冒泡。 4. 阻止事件冒泡:
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

对象拷贝—代码生成

在做业务的时候,经常会有这种情况:有一个对象,里头一堆值,需要get出来,然后set到另一个对象。使用下面这段脚本,轻松搞定这件事 public static void main(String[] args) { Class<TAircraftWorkLocusEntity> clazz = TAircraftWorkLocusEntity.class; Method[] fields = clazz.getDeclaredMethods();
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

spring-boot 中使用graphql的正确姿势

在spring-boot中使用graphql 参照graphql-java-kick-to-start 首先构建spring-boot项目,pom.xml文件中加入 <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-java-tools</artifactId> <version>5.4.0</version> </dependency> <!-- graphql --> <
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

SpringBoot2(十)自定义Cache

前面一篇文章已经提到,自定义Cache中 get(Object key, Class<T> aClass) 函数从未被调用,无法用来对接JSON的 parseObject(String json, Class<T> clazz) 函数。 虽然不理解作者的真实意图,事实已然如此,那就只能尝试解决。 方法一:   改写CacheInterceptor接口(位于context核心包下),虽然很简单直接,但是Spring的回答也简单粗暴:“不允许!”项目启动直接报错,强调不允许修改。 方法二:   在
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0

【LeetCode】排列硬币

【问题】你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。 给定一个数字 n,找出可形成完整阶梯行的总行数。 n 是一个非负整数,并且在32位有符号整型的范围内。 【代码】 class Solution { public: int arrangeCoins(int n) { long sum = 0; long val = 1; int res = 0; while(sum < n)
分类: 其他 发布时间: 01-01 22:50 阅读次数: 0