- 博客(216)
- 资源 (11)
- 收藏
- 关注
原创 a_bogus逆向 bdms_1.0.1.19_fix.js
前期准备完成后,开干。没成想直接就干出结果了,而且补环境框架一行代码没改。还需要注意a_bogus生成的位置,因为是靠前面的参数生成的。经过2天苦战分析,最终逆向出来了,完美调用。实际请求地址,这点很重要!
2025-03-23 13:33:38
204
原创 js逆向之断点调试和python补环境
当刷新页面时候,有大量请求,并且你无法定位参数信息的时候,或者参数被混淆无法搜到,可以用该方法,该方法是会捕获所有请求连接,然后我们通过连接过滤出自己想要的请求,然后在调用堆栈中去回溯跟踪。步骤很简单,点击加号,然后把url连接关键词丢进去,触发网络请求,这个时候符合要求的就会被断住。一般补环境的时候可以用,但是你也可以直接在html页面中调用JS,浏览器会给你返回错误信息。写上自己的表达式,为true的时候就会被断住,条件表达式更灵活,不局限于网络请求url过滤。在需要断点的地方,进行日志输出,观测值。
2025-03-22 23:33:38
415
原创 Visual Studio 2022 无法附加到进程注意事项
2.检测附加的时候进程类型看是X86还是X64 ,X86就对应开X86的远程调试。X64 就开对应的X64 的远程调试。1.注意防火墙是否打开,该程序是否在防火墙中属于被允许的程序。如果telnet是通的。那基本和防火墙没关系;
2025-03-13 12:04:36
234
原创 51单片机之蓝牙模块的使用
由于HC-05/HC-06的RXD引脚需要3.3V逻辑电平,而51单片机的TXD输出为5V,因此需要一个分压电路来将5V降到3.3V。该代码主要作用是手机发送数据给蓝牙,蓝牙把数据传递给单片机,单片机使用定时器和中断去检测串口是否有数据,然后控制led的亮灭,简单实验。物理意义:设置定时器1的重装载值为253,这样当定时器1溢出时,它会自动重载这个值,从而生成9600bps的波特率。第7位(SM0)和第6位(SM1)为 01,表示选择串口工作在模式1(8位UART,可变波特率)。
2025-03-08 09:27:24
961
原创 图片遮罩层,点击图片看大图
/ 等待图片加载完成,获取原始尺寸。// 更新遮罩层中的原图尺寸和来源。// 将原始尺寸存储到数据属性中。// 点击缩略图时显示遮罩层。// 获取容器内的所有图片。// 设置缩略图固定大小。// 传入目标容器的ID。
2025-02-21 16:40:48
451
原创 单片机之常用位运算符号
0011 1100 按位向右移动2位 就是把整体向右移动2位,高位补0低位溢出,变成0000 1111。0011 1100 按位左移1位就是把整体向左移动一位,低位补0高位溢出,变成0111 1000。按位异或就是,相同是假,不同是真。按位与就是俩俩对比,全真及真。按位或也是俩俩对比,有真及是真。
2025-02-09 09:33:07
270
原创 51单片机之使用Keil uVision5创建工程以及使用stc-isp进行程序烧录步骤
3.下载编程,点击后重启单片机,程序就烧录进去了 右下角日志可以看到操作成功!1.选择单片机型号,再选择串口号,串口号一般把单片机插入会自动识别。3.选择目标机器,直接搜索at89c52选择,然后点击OK。9.生成16进制文件,点击图中小图标,步骤见图。7.在C文件中右键,添加单片机依赖头文件。4.是否添加起吊文件,一般选择否。9.代码编写完成,点击build。5.再新建的项目工程中添加文件。这样我们进生成了16进制文件。2.打开刚刚生成的16进制文件。
2025-02-07 22:12:00
1335
原创 51单片机之引脚图(详解)
按照功能不同,8051单片机引脚可以分成四大类:电源引脚、时钟引脚、I/O口引脚和控制引脚,下面我们要分别对其进行介绍。1.电源引脚电源引脚用于接入单片机的工作电源,8051系列单片机的正常工作电压为5V。❑ VCC引脚(第40脚):接+5V电源。❑ GND引脚(第20脚):接地。2.时钟引脚两个时钟引脚XTAL1与XTAL2外接石英晶体,与片内的反向放大器构成振荡器,用于为单片机提供时钟信号。❑ XTAL1引脚(第19脚):连接外部晶体振荡器,如使用外部时钟信号,此引脚应接地。
2025-02-07 18:05:16
9361
原创 51单片机之冯·诺依曼结构
8051系列单片机将作为控制应用最基本的内容集成在一个硅片上,其内部结构如图4-1所示。作为单一芯片的计算机,它的内部结构与一台计算机的主机非常相似。其中微处理器相当于计算机中的CPU,由运算器和控制器两个部分构成;数据存储器(RAM)相当于计算机的内存,负责存储程序运行时的中间数据;程序存储器(ROM/EPROM/FLASH)相当于计算机的硬盘,掉电后数据不会消失,用来保存程序代码;并行I/O口有四组,分别称为P0口、P1口、P2口和P3口,每组I/O口有8根线;串行口有一个,使用两根线进行数据通信。
2025-02-07 16:57:04
647
原创 python之使用 tensorflow框架去定制自己的验证码识别模型,正确率几乎100%,小白也可以操作。
但是这种方式打标签比较麻烦,因为如果你人工打标签,1W张验证码,你可能人都废了,但是这种人工打标的方式是正确率最高的。次识别率就几乎100%了,然后这个采用的是CUP训练,如果要用GPU,可以自己去按照驱动,并调整响应的代码,代码调整也简单,好像就加个cuda就行了。这里的验证码里面的识别内容,就是标签,这个标签的作用就是让机器学习框架知道,这个图的正确结果是什么,你需要提前把正确结果标注出来,并告诉机器学习框架这个结果的值是多少,这个过程就是打标签。这里的数据集,就是你准备的一万张验证码的图片。
2025-01-20 14:20:44
759
原创 python之使用列表推导式实现快速排序算法
重宏观上分析,这个算法相当于二分查找,先找到数组中的最中间的数,然后用剩余的数和中间的数做对比,小于中间数的都在左边,大于中间数的都在右边。从微观中看递归,也是符合宏观的思维。故最终递归出来的结果是从宏观意义上满足,从微观意义上也满足,最终实现快速排序。
2025-01-18 11:09:52
325
原创 JS逆向之时间戳重新下载js文件,导致之前js中的断点就无法被命中
cdnversion=1735539486755 200 script loginv4_tangram_102e583.js:45 171kB 29毫秒。需要先找到替换的文件,只有替换之后才可以修改,修改后保存,保存成功后刷新页面,加载的js就不会被替换了这样就可以断点调试了。cdnversion=1735539480863 200 script 171kB 29毫秒。每次都会下载最新的JS导致上次的断点无法命中。1.在源码中搜索mkd.js的所在位置。2.把后面时间戳改成一个常量值。
2024-12-30 14:34:38
471
原创 Elasticserch Error: Failed to create persistent cache writers
这个错误是还有进程占用了es中的一些文件导致的,跟踪到具体的elasticsearch.log日志中,想着删除这个日志,看下最新错误,结果删除的时候提示openjdk…这个进行占用了,这个进程和java jdk有关,需要把他干掉。解决办法:杀掉占用的进程,然后重启es.
2024-12-27 17:34:30
136
原创 CE之植物大战僵尸植物无冷却
思路:先扫描所有的未知道初始化的值,一般是4字节,然后我们先种植一棵植物再通过CE扫描不断变化的值,等植物冷却结束后再去扫描未变化的值,重复操作。然后找到冷却值,然后通过汇编的方式去编写nop代码,让控制时间冷却的代码制空。但是如果你想重启游戏后也可以让他生效,这时候我们可以编写对应的脚本让他去激活。点了前面的active才算激活,不知道它为什么点击之后是个红色X,不知道的还以为是禁用。2.不断尝试,找到需求修改的值,右键是谁访问了它。5.点击指令,然后点击右边的显示汇编。
2024-12-22 21:58:06
773
原创 CE之植物大战僵尸无限阳光
然后我们可以看到有8000多条,但是这8000多条指向的是同一个地址24A9461F0AC。这个就是阳光的基地址。选择值类型,这里其实和你找临时地址的步骤是一样的,只不过现在扫描的是你临时地址的指针集合。然后进入游戏,我们来查看当前的阳光值,对当前指针文件进行扫描。我们发现是1000.对1000进行扫描。通过不断精确扫描,拿到临时阳光地址。会让你选择指针保存的文件地址,方便下次扫描。这种方式相比于其他方式,个人感觉还更简单。打开后会让你选择范围,一般默认就好了。右键临时地址,然后选择指针扫描。
2024-12-21 08:49:54
479
原创 SQL Server中SELECT (Transact-SQL)语法定义和解释
也是术语,他可以是一个表达式,一个值,等,或者是通过逗号分隔出来的各种表达式。
2024-12-09 18:06:19
499
原创 jenkins安装和部署
2.如果是本地测试用,在添加凭证那步直接给系统权限就行,喜欢折腾的可以打开windows凭据管理,添加一个账号。1.先看版本对应的Jdk 如果jenkins依赖的JDK版本不一致,是安装不上的。3.如图这一步需要写你自己电脑上的JDK地址,不需要写在到bin,比如我的路径是。,记得配置JDK环境变量。然后一直下一步就OK了。
2024-12-03 18:36:56
255
原创 Web安全之XSS攻击的防范
XSS(跨站脚本攻击)是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本,使其在用户的浏览器中执行,从而达到攻击的目的。XSS 攻击主要分为三种类型:反射型 XSS、存储型 XSS 和 DOM 型 XSS。
2024-11-22 14:00:49
1181
原创 cookie的提取方式
这个可以在set-cookie中看到。一般只用关注domain和你当前页访问的地址是一样的cookie。一、选抓包,提取登录的接口,一般会返回set-cookie。比如我们要访问https://www.baidu.com/然后我们在响应头中去找到set-cooke。可以看到返回了很多条cookie。最后组装好所有的cookie如图。然后我们提取这种cookie。
2024-11-04 18:29:17
372
原创 C#之WebView2实现cookie登录,免登操作。
我实现的方式有三种,一种是通过JS注入cookie的方式,第二种是通过读取本地化存储的用户数据实现,第三种是发送请求的时候,对请求头进行修改。
2024-10-31 17:09:43
1691
原创 JavaScript 中URLSearchParams用法
let params = new URLSearchParams(query) 这句代码创建了一个 URLSearchParams 对象,用于处理查询字符串。如果 query 是一个字符串,URLSearchParams 会解析这个字符串并生成相应的键值对。如果 query 是一个对象,URLSearchParams 会将对象的键值对转换为查询字符串格式。set(name, value):设置指定键的值,如果键已存在,则更新其值。getAll(name):获取指定键的所有值(返回一个数组)。
2024-10-29 18:17:26
485
原创 net mvc中使用vue自定义组件遇到的坑
按照官网文档的意思,组件命名需要大写驼峰命名。或者使用kebaba-case方式。注意,vue如果挂载了template ,那么组件请写在template 中,如果写在外面也出不来。提示组件失败,并且组件名称默认是小写。既然默认是小写那我们使用kebaba-case命名方式试试。这样的方式引入组件并在页面中使用,什么都不会显示,并且F12会有警告。如果我们使用PascalCase方式命名来导入自定义组件。自定义一个ButtonCounter.js组件。组件里面给组件name赋值。运行后,组件完美加载出来。
2024-10-29 16:38:03
435
原创 JavaScript 中,三个点 ... 被称为“扩展运算符”(Spread Operator)
可以看到,由于 address 是一个对象,所以 this.Detail.address 和 this.defaultDetail.address 实际上引用的是同一个对象。因此,修改 this.Detail.address 也会影响到 this.defaultDetail.address。这意味着 this.Detail 将拥有与 this.defaultDetail 相同的所有可枚举属性及其值,但它们是两个独立的对象。它有多种用途,其中一个常见的用途是在对象字面量中展开对象的所有可枚举属性。
2024-10-29 11:20:34
206
原创 Vue语法汇总
在这个例子中,submitForm 方法通过 this.$refs[‘DetailForm’] 访问到了表单组件的实例,并调用了它的 validate 方法。在 Vue.js 中,this.$refs 是一个对象,它用于直接访问 DOM 元素或子组件的实例。当你给元素或组件添加 ref 属性时,Vue 会自动将这些元素或组件的引用添加到 $refs 对象中。需要注意的是,$refs 只能在组件渲染完成后才能访问到,因此通常在生命周期钩子如 mounted 或者在事件处理函数中使用 $refs 更为合适。
2024-10-29 11:06:37
293
原创 JavaScript 中Object.assign内置函数用法
Object.assign 是 JavaScript 中的一个内置方法,用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。Object.assign 是一个非常有用的方法,特别是在需要合并多个对象或创建对象的浅拷贝时。在这个例子中,虽然 copy 是 original 的浅拷贝,但 b 属性是一个引用类型,因此对 original.b.c 的修改也会影响 copy.b.c。在这个例子中,target 对象被修改了,添加了 c 和 d 属性,并且 b 属性的值被 source1 中的值覆盖了。
2024-10-28 14:34:28
348
原创 asp.net MVC 常用知识汇总
这些属性使得在ASP.NET Core应用中创建动态链接变得非常方便。它们不仅能够确保链接的正确性,还能够在路由配置发生变化时自动调整链接地址,从而提高开发效率和代码的可维护性。点击带有 asp-controller 和 asp-action 属性的。
2024-10-21 15:17:33
1225
原创 Elasticsearch常用查询
此查询旨在从索引IndexName中找出所有在给定日期范围内,且至少在一个指定字段(fieldName1,fieldName2,或fieldName3)中包含关键词“你好”的文档。同时,通过高斯衰减函数对结果进行评分调整,使得接近2025-08-0916:03:08的文档得分更高。最终,返回的结果将按日期降序排列,最多返回750条记录。
2024-10-17 15:28:18
962
原创 SQL Server 常用关键词语法汇总
请注意,CONCAT() 函数是在 SQL Server 2012 版本中引入的,因此如果你使用的 SQL Server 版本早于此版本,那么你可能需要使用 + 运算符来连接字符串,并且需要手动处理 NULL 值,例如通过使用 ISNULL() 或 COALESCE() 函数。是 SQL Server 中用于条件逻辑的表达式,它允许你执行复杂的条件判断,并根据不同的条件返回不同的值。在这个例子中,LTRIM() 和 RTRIM() 函数分别去掉了字符串左边和右边的空格,然后再用 LEN() 计算长度。
2024-10-08 15:42:07
526
原创 adb的安装和使用 以及安装Frida 16.0.10+雷电模拟器
下载完成解压下来 改个简单名字 frida-server ,运行雷电模拟器,然后打开雷电模拟器安装目录,运行命令把文件传送到手机的/data/local/tmp/目录,并且启动。标记红色部分是因为模拟器目录搞错了 自己看看自己的目录,需要对二进制文件赋权。按键windows+r打开运行,输入sysdm.cpl,回车。意思是不模拟器端口映射到本地相同的端口。两次确定之后在重新打开命令行进行校验是否安装成功。2.1然后去下载安卓模拟器的frida。高级》环境变量》系统变量》path。然后还要转发一下端口。
2024-09-11 14:04:12
959
原创 C#使用CefSharp和网页进行自动化交互
这里就是点击winfrom中的按钮,然后注入JS,JS执行后把JS的结果返回给C#。首先我们要定义JS调用的方法,这里单独写一个类,然后需要在初始化的时候注入这个类。这里意思是页面加载完成后,给页面中的按钮注入一个点击事件。这句话在页面加载后,注入点击事件中有写到。2.2如果你需要在网页加载好后,就注入JS事件,可以写在。2.3接下来我们看看如何注入JS到网页中,并且带返回值。只有注入了,才能被JS代码识别,然后调用。1.先安装对应的包,我目前用的最新版本。用于注入JS,这个是没有返回值的。
2024-07-02 18:39:03
2190
2
原创 C# 使用NetAutoGUI.Windows做软件自动化操作
通过上述步骤,我们不仅实现了对微信窗口的查找、激活,还实现了基于时间间隔的自动化消息发送。NetAutoGUI库的强大之处在于它提供了丰富的API,使得复杂的自动化操作变得简单且高效。无论是个人自动化需求,还是企业级自动化解决方案,NetAutoGUI都是一个值得信赖的选择。在本指南中,我们将详细解析如何使用NetAutoGUI库来实现对微信应用的自动化控制,包括查找并激活微信窗口、自动识别并点击屏幕图标、以及定时发送消息等功能。主函数Main()是程序的入口点,所有的自动化逻辑都在这里展开。
2024-06-20 14:24:37
1481
1
屏幕取词器(获取鼠标选取的文字)
2022-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人