一个音乐app的逆向分析 这个App主要是用来听歌的并且支持下载QQ音乐和网易云的无损音乐,由于想在每个客户端方便的听歌,而且还不需要开会员,就想在网上找类似的网站,偶然间发现了这个App,但是我总不可能在电脑上开模拟器用这个软件吧,于是就有了接下来的事。偷(借)接口 第一步:分析一下APK对于这类软件,作者一般是会保护一下源代码的,打开MT发现果然加固了 得,先用抓包工具看看有没有有用的数据包 第二步:抓包 很容易就发现了数据就i在这个接口里获取的,那么只需要分析一下请求头信息就好了 将数据导出到ApiFox里 不难发现,这三个参数就是关键信息,都是经过加密的了,那么下一步就要获取加密前的内容和加密方式 第三步:分析加密接口参数启动算法助手,搜索字符串 请求参数里的sing是用字符串 1{"act":"search","type":"qq","keywords":"%E5%91%A8%E6%9D%B0%E4%BC%A6","keyty ...
因为前不久刚租房子,今天心血来潮,想看看这么久了花了多少度电,然后打开今天的主角 Power Bee 蜂电智能电表管理系统 本来想看看每天用了多少电,点击更多居然要我开通VIP,这我能忍?寻思着之前都没有的,应该是最近才加上的。 然后果断的打开了抓包工具,看看你到底是个啥。有没有什么破解方法 果然,简简单单的获取到了一条请求,这个请求里面刚好是两条数据 然后看一下请求头 12345678910GET http://im.zg118.com/api/client/ammeter/report/**********/2022-11-09/2022-11-11?uid=**********&token=********** HTTP/1.1Host: im.zg118.comConnection: keep-aliveAccept: application/json, text/javascript, */*; q=0.01User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, l ...
vue2.x的响应式 实现原理: 对象类型:通过Object.defineProperty()对属性的读取、修改进行拦截(数据劫持)。 数组类型:通过重写更新数组的一系列方法来实现拦截。(对数组的变更方法进行了包裹)。 1234Object.defineProperty(data, 'count', { get () {}, set () {}}) 存在问题: 新增属性、删除属性, 界面不会更新。 直接通过下标修改数组, 界面不会自动更新。 Vue3.0的响应式 实现原理: 通过Proxy(代理): 拦截对象中任意属性的变化, 包括:属性值的读写、属性的添加、属性的删除等。 通过Reflect(反射): 对源对象的属性进行操作。 MDN文档中描述的Proxy与Reflect: Proxy:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy Refle ...
1.什么是Spring框架 它是一个容器.它是整合其它框架的框架.它的核心是IOC和AOP.它由20多个模块构成.它在很多领域都提供优秀的解决方案. 2.Spring的特点 1)轻量级 由20多个模块构成,每个jar包都很小,小于1M,核心包也就3M左右. 对代码无污染. 2)面向接口编程 使用接口,就是面向灵活,项目的可扩展性,可维护性都极高.接口不关心实现类的类型.使用时接口指向实现类,切换实现类即可切换整个功能. 3)AOP:面向切面编程 就是将公共的,通用的,重复的代码单独开发,在需要的时候反织回去.底层的原理是动态代理. 4)整合其它框架 它整合后使其它框架更易用. 3.什么是IOC 控制反转IoC(Inversion of Control)是一个概念,是一种思想。由Spring容器进行对象的创建和依赖注入.程序员在使用时直接取出使用. 正转:由程序员进行对象的创建和依赖注入称为正转.程序员说了算. Student stu = new Student(); ===>程序员创建对象 stu.setName(“张三”); ...
系统优化
未读Windows11优化1.还原到windows10右键以管理员身份运行CMD,复制下列命令,按回车后即可恢复Win10的右键菜单 reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve 需重启Windows资源管理器方能生效。 如果想恢复Win11菜单,就把添加的注册表项删掉。 reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f 2.任务栏对齐方式调整Win11默认将任务栏图标放在了中间,导致左右不平衡,十分难看。 在任务栏上右键任务栏设置,找到任务栏行为-任务栏对齐方式,调成“左”即可。
jQuery
未读JQuery 高级1. 动画 1. 三种方式显示和隐藏元素 1. 默认显示和隐藏方式 1. show([speed,[easing],[fn]]) 1. 参数: 1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000) 2. easing:用来指定切换效果,默认是"swing",可用参数"linear" * swing:动画执行时效果是 先慢,中间快,最后又慢 * linear:动画执行时速度是匀速的 3. fn:在动画完成时执行的函数,每个元素执行一次。 2. hide([speed,[eas ...
jQuery
未读JQuery 基础:1. 概念: 一个JavaScript框架。简化JS开发 * jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。 * JavaScript框架:本质上就是一些js文件,封装了js的原生代码而已 3. JQuery对象和JS对象区别与转换 1. JQuery对象在操作时,更加方便。 2. JQuery对象和js对象方法不通用的. 3. 两者相互转换 * jq -- > js : jq对象[索引] 或者 jq对象.get(索引) * js -- > jq : $(js对象) 4. 选择器:筛选具有相似特征的元素(标签) ...
MySQL
未读DQL:查询语句1. 排序查询 * 语法:order by 子句 * order by 排序字段1 排序方式1 , 排序字段2 排序方式2... * 排序方式: * ASC:升序,默认的。 * DESC:降序。 * 注意: * 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。 2. 聚合函数:将一列数据作为一个整体,进行纵向的计算。 1. count:计算个数 1. 一般选择非空的列:主键 2. count(*) 2. max:计算最大值 3. min:计算最小值 4. sum:计算和 5. avg:计算平均值 * 注意:聚合函数的计算,排除null值。 解决方案: 1. 选择不包含非空的列进行计算 2. IFNULL函数 3. 分组查询: 1. 语法:group by 分组字段; 2. 注意: 1. ...