- 博客(84)
- 收藏
- 关注
原创 某矿webpack逆向
本篇博文的初衷是分享自己学习逆向分析时的个人感悟,所涉及的内容仅供学习、交流,请勿将其用于非法用途!!!任何由此引发的法律纠纷均与作者本人无关,请自行负责!!!推荐文章:WebPackwebpack是JavaScript应用程序的模块备份器,可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,备份成符合生产环境部署的前端资源。所有的资源都是通过JavaScript渲染出来的。扣取代码抓包发现每次请求都需要先请求一个pu
2024-07-23 11:26:43
627
原创 Redis - 优惠卷秒杀
为了避免对数据库造成压力,我们在新增优惠卷的时候,可以将优惠卷的信息储存在Redis中,这样用户抢购的时候访问优惠卷信息,通过Redis读取信息。
2024-05-25 21:13:03
879
原创 Mybatis 详解
简化dao层开发,通过简单的XML或注解来配置和映射原生信息,从而避免了许多繁琐的JDBC代码和手动设置参数以及获取结果集。上手还快。
2024-04-03 16:02:14
926
原创 springAop讲解
二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来——解耦。调用目标方法时先调用代理对象的方法,减少对目标方法的调用和打扰,同时让附加功能能够集中在一起也有利于统一维护。切面(Aspect):横跨多个对象的关注点,如日志记录、安全控制等。切面由切点和通知组成。连接点(Join Point):程序执行过程中能够插入切面的点,如方法调用、异常处理等。
2024-02-01 10:34:38
956
原创 springIoc以及注解的使用
作用域指的是在Spring容器中管理的Bean对象的生命周期范围和可见性。不同的作用域决定了在容器中创建的Bean实例的行为方式。可以使用注解的形式进行规定周期(Lifecycle)指的是对象的创建、初始化、使用和销毁过程中的各个阶段。在Spring框架中,可以通过声明周期方法注解来定义在Bean的生命周期中执行的特定方法。@PostConstruct:在Bean的初始化阶段,即依赖注入完成后调用的方法上添加该注解。该方法会在构造函数执行之后、任何自动装配发生之前被调用。
2024-01-28 21:25:09
1052
原创 SpringIoc讲解
如果使用的是有参构造函数,则需要提供构造函数所需的参数值,可以在 XML 配置文件中使用 元素指定参数值。:DI 是一种非常有用的设计模式,它可以帮助开发者更好地管理对象之间的依赖关系,实现对象之间的解耦,从而提高代码的可维护性、可测试性和复用性。在 Spring 框架中,DI 是通过 IoC 容器来实现的,开发者只需要定义对象之间的依赖关系,由容器来负责对象的创建和依赖注入。换句话说,对象不再负责自己的依赖项的创建和解析,而是由容器负责,容器会在运行时动态地将依赖项注入到对象中。
2024-01-27 20:20:43
615
原创 Maven讲解
Maven是一个流行的构建工具和项目管理工具,它主要用于Java项目的构建、依赖管理和项目报告生成。Maven通过提供一致的项目结构、自动化的构建过程和强大的依赖管理,简化了项目的开发和维护过程。下面是一些Maven的主要特点和用途:项目结构管理:Maven规定了一种标准的项目目录结构,使得项目的组织和管理更加统一和规范化。这样可以方便开发者共享项目,并且降低新成员加入项目的学习成本。构建工具:Maven可以自动化执行项目的构建过程,包括编译源代码、运行测试、打包、部署等。
2024-01-26 19:42:15
1208
原创 内嵌音乐播放器
讲解一个基本的播放器,包含基本的功能实现。播放器制作的成品。代码直接在后面拿,注意歌曲对象的格式。1.分析基本结构我们可以发现这个界面的基本结构可以分为两个部分,一个部分是歌曲的top 一个部分是歌曲的bottom这边直接使用flex布局进行,划分,上二下一 对上面的内容继续进行划分。使用flex布局完成之后的划分。
2024-01-21 13:36:41
397
原创 MySQL基础知识(三)
MySQL中的内连接(Inner Join)是一种用于合并两个或多个表中符合特定条件的行的方法。内连接返回仅在连接条件满足的情况下存在于两个表中的行。内连接通常用于检索具有相关信息的数据,以便将它们合并在一起。简单来说就是通过内连接检索表之间的关系,然后进行相关的操作INNER JOIN这是最常见的内连接语法,使用INNER JOIN关键字,后跟连接的表以及连接条件。在FROM子句中列出多个表,然后在WHERE子句中指定连接条件。这是一种隐式内连接的写法。USING使用USING。
2024-01-19 08:45:48
392
原创 某狗音乐逆向(js逆向)
免责声明:本篇博文的初衷是分享自己学习时的个人感悟,所涉及的内容仅供学习、交流,请勿将其用于非法用途!!!任何由此引发的法律纠纷均与作者本人无关,请自行负责!!!
2024-01-18 12:57:20
1198
原创 爬虫引流(简单实现这个功能)
使用不同的代理可以模拟出不同的游客信息,这是因为代理服务器会将你的请求发往目标网站,而代理服务器本身的 IP 地址和地理位置等属性不同,从而使得目标网站无法确定请求的真正来源。这样就可以模拟出不同的游客信息,包括 IP 地址、地理位置、设备信息等,从而避免了被服务器识别出来,同时也造成了阅读量的上升。所以只需要满足这部分内容的话就可以规避掉被认定成机器人的问题,当然有的网站在进行验证的时候往往需要使用验证码进行人机判断,那个只能使用工具,或者是扣js代码模拟这个加密过程。
2024-01-01 15:02:54
1105
2
原创 MySQL基础入门(二)
这个内容是黑马的入门问题,可以带大家思考一下这个怎么设计我们要知道一个岗位可以对应很多用户,而一个用户只能对应一个岗位,这就属于一对多的类型那么我们需要怎么将他们进行关联呢?现在我们可以通过一个新的知识点来进行关联,使用外键进行约束。
2023-12-31 15:49:12
374
原创 py注册登录界面
它打开文件并逐行读取,将每行的用户名和密码以空格分隔后存储在一个列表中,最后返回该列表。如果验证通过,弹出一个登录成功的消息框,并清空之前可能存在的错误提示信息;否则,在界面上显示"用户名或密码错误"的提示信息。,设置其文本为"欢迎登录系统",使用Helvetica字体,字号为16,并将其放置在第0行、第0和1列。函数用于验证用户输入的用户名和密码是否与已存储的用户信息匹配。,设置其文本为"登录",并将回调函数设置为。,设置其文本为"退出",并将回调函数设置为。,并使用网格布局放置在相应的位置。
2023-12-30 21:53:45
1157
原创 猿人学第五题(js逆向)
直接搜索,当你试一下搜索的内容的时候,你是无法直接搜索到的,因为这段加密他的键名是通过字符累加产生的,这边我是直接一步一步分析js代码,最后定位到了这个位置。继续hook,找到第二个cookie加密,这边等我后续分析,明天必须拿下。分析网络请求,我们可以确定,该部分加密是加密的cookie。所以我们开始寻找加密的位置。我们可以找到第一个加密参数m。打上断点,开始hook。
2023-12-30 21:48:38
1117
原创 酷我音乐逆向 请求头 参数解密(js逆向)
免责声明:本篇博文的初衷是分享自己学习逆向分析时的个人感悟,所涉及的内容仅供学习、交流,请勿将其用于非法用途!!!任何由此引发的法律纠纷均与作者本人无关,请自行负责!!!
2023-12-28 12:10:38
2315
3
原创 猿人学逆向第16题(js逆向)
注意题目的内容,window蜜罐,所以这里面会有环境检测,我们直接搜索一些关键词,要是不知道的可以看我先前的博客,里面有介绍。所以就是一些判断 try 三目运算符 if语句种都会有,这边分析一下这个加密流程,我们主要看btoa加密位置,出错的位置应该是这里面的。复制粘贴,出现新的错误,缺少window环境,直接补一下。直接抓包分析,我们可以看出这个部分的请求参数是一个时间戳,页数,和被加密参数m的数值。直接出现这个内容,这个内容是会出现验证失败的,证明你的加密是不对的。由于内容过多,后面会有个完整的代码。
2023-12-27 13:51:01
1605
原创 爬虫hook学习
比如说我们的请求头 请求参数 请求体 cookie 等等内容,有时候我们需要快速定位到这个内容的话可以使用hook技术来进行。这个是使用浏览器注入的方法进行的,但是需要注意的是刷新后这个hook过程就会结束掉。hook代码,你可以选择将这段代码加到控制台->代码片段中,也可以使用脚本插件等进行定位。链接:https://juejin.cn/post/7207406497508589625。选用启动,执行后续的代码就可以hook到cookie的位置了。该文中的hook代码来源于稀土掘金。
2023-12-25 16:11:54
934
原创 基础js逆向练习-登录密码破解(js逆向)
可以明显看出来这是一个对象,这个对象中有两个属性,一个是username 一个是password ,那么我们可以直接获得这个对象,使用python传递即可。直接打开平台,输入密码账号,抓包找到加密的参数携带的位置,这边我们找到的是一个叫token的加密参数,这个参数的携带是一个密文。我们发现内层是一个将form转换成json的一个过程,那么这边我们直接查找这个form看一下这个form是什么内容。目的还是这个e的内容的获取,那么我们直接拷贝下来这个e的内容。直接调试到这个位置,浏览器输入。
2023-12-24 14:52:10
783
原创 某联webpack解析(js逆向)
相当于就是说,基本的webpack格式就是一个自执行函数,函数体中,执行传递进来的参数,这个参数可以是数组也可以是字典。现在我们直接开始进入主题,开始抓包找到数据返回的位置观察是否存在加密参数或者是一些动态cookies之类的。找到这个加密的位置,我们先来看一下这个m函数的作用是什么,开始调试,该函数毫无用处。执行完第一步我们会发现这个函数的主要作用是拼接e,所以我们可以不需要这步拼接的过程,直接传递即可。进入到这个函数里面,我们观察他的结构=,这个就是一个webpack,直接断点调试,进入其中观察内容。
2023-12-20 09:48:58
793
原创 逆向登录(js逆向)
建议大家直接全部扣掉这段代码,虽然说内容很多,但是很快就可以解决,这个加密的函数越扣越多,所以直接全扣是最简单的事情。将js数据跟py链接就可以直接使用这段加密的程序了,你如果一个一个的扣去这段代码的话你会发现,需要的代码实在是太多了。开始堆栈调试,这个加密直接搜索的话,不是很好找,这边我是用xhr断点分析把。数据是在异步中被加密的。看到这个e就直接确定这就是加密函数的位置,应为e是这个密码。分析逆向加密过程 ,这手机号随便填的,主打的就是安全性高。我们现在开始在控制台输出这个加密的函数,找到他的位置。
2023-12-18 20:22:32
471
原创 猿人学新平台第一题-魔改加密算法(js逆向)
面对这种我们有两种选择,一直接根据这个代码,开始使用js或者py自带的库进行解析,二直接扣代码,这边测试之后会发现这个并不是常规的加密算法,是经过更改的算法,所以这里我们必须进行代码的提取,这个提取代码正常的逻辑就是提取加密的位置然后根据报错的一步一步补环境,但是这个题如果这样的话你会发现越找越多。所以你只要按照顺序一个一个的替换,最终都会是正确的,你问我为什么要补环境,当我的代码可以正常运行的时候,但是结果确实失败的,你就应该怀疑是不是浏览器环境的问题了。对象的一些属性,以便模拟特定的浏览器环境。
2023-12-17 19:21:21
497
原创 猿人学简单题分析(js逆向)
所以说这个返回的直接是一个数值,可是当我们进行刷新之后,查看这个值的话,我们发现他是改变的,那么说明那个文件并不是固定的数值,所以现在开始查询资料。查询js中怎们调用wasm文件,这边主要是因为扣下来的是js代码,要是使用python的话,你需要吧扣下来的js转换成py的这种。由于这里的加密参数是m搜索出来的肯定是很多的,所以直接上XHR断点进行快速定位。借鉴一个人的代码,我的出现问题了,等后续更新吧,一直提示错误。别换了,我js下不上去,服了,用python吧。开发者工具进行抓包,然后找的参数类型。
2023-12-16 17:42:14
465
原创 猿人学19题(原比赛平台)
现在可以知道这些数据是ajax返回的,请求的参数是page,直接携带页数即可,你只需要填上自己的sessionid,就可以成功访问了。这道题给我搞得有点懵了,我现在还没发现他到底要考察什么,这边我直接协商我的sessionid请求是直接就成功的。如果各位有知道考察内容是什么的,也告诉我一下😂。依旧是分析请求方式,抓包到返回数据的位置。
2023-12-16 15:40:41
77
原创 简单的js加密练习(js逆向)
编写代码直接解决,这个题目如果直接去找的话还是很困难的,但是这个链接的形式还是比较容易发现问题的,没有参数,加密的还是链接,首先就要想到时间加密。没有载荷但是有个加密的链接,这是我们得想一下,这个加密绝对是可解的加密,不然服务器怎们知道是什么请求呢,所以我们先使用解密工具验证。直接找到,看来是base64加密,但是后谜案还有一串字符,我们可以猜测一下这个加密是md5的。所以这个加密我们可以很清晰的得出是md5,结合名字,直接可以验证。直接开发者工具检查,然后查找加载这个的文件位置。
2023-12-15 19:55:11
447
4
原创 逆向微博热搜时光机(js逆向)
我们可以发现这个网页返回的数据是经过加密的数据,但是这个加密的数据想要呈现出这种效果肯定的使用解密函数,那么又因为没有返回的改数据的名称,所以我们可以直接使用搜索来确定,大家可以使用搜索来解决这个问题,常见的解密函数是decrypt,直接搜索。直接使用浏览器抓包,我们会发现这里出现了一个无限debugger,直接找的这行使用右键直接一律不在此执行,跳过这个debugger,或者使用js代码在控制台中直接修改这个函数的内容,这里我感觉使用右键比较方便。你可以查看到没有一个参数是加密的数据,所以并不是这个。
2023-12-15 16:13:12
715
1
原创 逆向获取某音乐软件的加密(js逆向)
现在我们直接来照这个params参数,直接搜索,也可以打XHR断点快速找到这个位置,但是这里的话我推荐大家直接搜索,因为这个加密的参数不是字母代替的,而是一个英文单词,这样搜出来的内容可能会比xhr断点得到的更为准确,要是说加密参数是m="密文这种",如果搜m=或者=m均出现大量情况的话,分析请求再来决定使用什么方法快速定位。进入文件后,直接搜索encSecKey,观察这里面是不是存在这个参数,直接找到,加密的两个参数的位置,所以说很多时候这种查找都是有技巧的,实在不行才去一个一个的查看。
2023-12-14 09:47:54
626
原创 极简壁纸js逆向(混淆处理)
本文仅用于技术交流,不得以危害或者是侵犯他人利益为目的使用文中介绍的代码模块,若有侵权请练习作者更改。之前没学js,卡在这个网站,当时用的自动化工具,现在我要一雪前耻。
2023-12-12 21:05:39
606
6
74个大数据可视化大屏的前端代码
2024-04-13
爬虫 极简壁纸 逆向分析 js逆向 交流学习
2023-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人