- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 离线资源的加密保护
3)当阅读器要使用H5时,首先用express启动一个WEB服务器,同时将课本目录ZIP解密并用Jszip装载,然后在阅读器中用iframe加载WEB服务器首页(比如访问index.html),服务器监听到请求后,从jszip对象中取出对应的文件返回即可;当阅读器播放音频视频的时候,首先读取到文件的Buffer数据(加密),然后对其进行解密得到新的Buffer数据,最后将其转换成blob地址并交给video标签或audio标签播放即可。资源加密,其实就是对正常文件进行破坏,只要用的时候有办法恢复就行。
2025-03-16 17:38:56
323
原创 限制程序在指定U盘运行
为方便U盘制作者,编写了一个小工具,该工具也是用Electron开发的(nodejs环境),没有直接获取磁盘物理ID的API,需要使用child_process模块执行DOS命令来获取。3)既然上述步骤需要校验磁盘物理ID,就必须在程序中预设U盘ID,此处使用一个单独的加密文件(disk.disc)来存储敏感信息,当启动程序时,在内存中解密该文件数据来使用。1)当启动程序时,获取到程序所在磁盘的物理ID,然后与程序绑定的ID做对比,相等则通过,不相等则直接关闭程序;框架:Electron。
2025-02-26 18:06:10
296
原创 代码角度为Word添加封面、封底和页面背景
2)Word文档中的横竖屏是通过分节符来划分区域的,判断横竖屏可以通过分节符中<w:pgSz/>标签的w:orient属性,landscape代表横屏(例:<w:pgSz w:w="16838" w:h="11906" w:orient="landscape"/>);略,该文件为页眉文件,代码内容比较固定,可以在一个Word文档中添加页眉(内容为一张衬于文字下方并铺满整个页面的图片),然后解压文档后获取。略,该文件是页眉的索引文件,它会索引页眉xml文件对应的图片文件,获取方法同上。
2024-11-28 13:59:40
1167
原创 nodejs批量修改word文档目录样式
工作中遇到一个需求:写个nodejs脚本,对word文档(1000+个)的目录页面进行美化。实现过程遇到不少麻烦,在此分享下。
2024-11-01 19:01:17
1166
原创 试用Foxit PDF: 在网页中单页展示PDF
网站只是用插件单页展示PDF文件,功能简单,在官网提供的插件包里也有只渲染单页的示例代码,稍加改动后即可使用,但实施过程中发现有许多坑,于是想找官方文档,费了好一番功夫才找到一个中文文档,但发现里面也没有详细的参数配置说明,所以只能自行摸索。在控制台可以看到PDF的尺寸闪烁是因为每次翻页时都会重新计算宽度,而当某次因为某些原因产生滚动条后,滚动条会压缩网页的有效宽度,那么下次翻页时计算的宽度就会偏小,于是又会出现间隙(如图所示,间隙大约8px,默认的滚动条宽16px,所以大体可以猜到原因)。
2024-09-29 15:07:18
987
原创 学习实践: Procdump获取本地远控信息
通过Procdump和WinHex可获取ToDesk和向日葵远控的“设备代码”和“连接密码”,对肉鸡提权有价值。需先获取进程PID,再转储内存并搜索特定信息。
2024-09-18 12:57:17
530
原创 网页中的音视频裁剪&拼接&合并
在上面这段代码中,需要注意的是:录音结束后的回调函数是放在handleDataAvailable中的,这是因为当mediaRecorder.stop()停止录制后,会再出发一次dataavailable事件,然后才把最后的数据分片存储到recorder中。2)然后,用户可以选择为某一个角色配音,假如选择为A配音,那么视频在播放到A的位置时会静音,并录制用户的声音。3)最后,将用户的录音替换到视频中,并生成新的视频文件,后续上传服务器。1)首先,前台会拿到一个英语视频,视频的内容是A和B用英语交流;
2024-05-29 17:42:50
1187
原创 Canvas实现连线题的方案设计
开发“连线题”并没什么难点,这里主要分享的是:实现过程中的一点点布局设计上的小心思。想要的效果大体长这样(如下图所示):乍一看似乎需要获取每个元素的位置信息、计算连线的端点坐标,似乎很繁琐,而且每次页面尺寸变化时,都得重新计算。其实,事情可以比想象中简单很多…
2024-05-22 16:53:44
514
原创 单词可交互的弧形文本
1)参数设置的input标签建议type设置为number,这样用户可以按键盘上的上下箭头来调整数字,结合vue,可以即时看到文字排版效果;2)svg中标签的style属性和html中存在差异,不支持transform(svg中的transform是单独的属性)。如果想用纯CSS对文字做动画,能操作的只有:font-size、font-style、font-weight、text-shadow、fill等。
2024-05-16 14:06:59
1061
原创 微信小程序与web-view网页进行通信的尝试
首先,微信小程序向web-view传递数据一般通过地址栏传参的形式(给src赋值或者修改hash),这样一般就已经能够满足实际开发需求了,所以这里主要探讨web-view向微信小程序传参。
2024-04-29 16:09:19
2484
原创 关于pdf.js获取不到文本的问题
在使用pdf.js获取PDF文本时,发现有部分文件获取不到文本(另:vue-pdf依赖于pdf.js,所以也会出现这个问题)。此时,控制台其实给出了警告提示信息,只不过是用console.log打印的,容易被忽视。字体加载过程中发生错误:必须指定CMap的“baseUrl”参数,请确保提供了“cMapUrl”和“cMapPacked”API参数。PDF文档中包含有pdf.js不支持的字体格式。
2024-04-25 11:30:27
1181
原创 游戏小技巧-守卫羊村
春节期间玩了玩美团中的小游戏“守卫羊村”,发现个小技巧,或者可能也算个bug:当小羊进入矿洞后,便可以在所属的封闭区域中建造建筑物。假如此时,有其它角色(羊或狼均可)在该封闭区域内,而矿洞中的小羊在其它角色(羊或狼)的脚下建设建筑物,那么就可以将该角色(羊或狼)抬高。这时,该角色(羊或狼)就相当于上房顶了,可以在四周房顶上进行活动(如果活动时掉下去了,那么就不能自己再上去了)。基于上述的情况,可以稍加利用。
2024-02-28 00:01:09
1491
原创 网站调试与反调试的几点补充
本文介绍了控制台代码格式化可能导致的问题,反插件和反调试的方法,以及调试Vue/React线上网站的一些技巧。同时提醒开发者在hook常用方法时要注意隐藏性,并提出了一个工具库的构想。
2024-01-09 12:45:42
910
原创 学习实践:获取微信聊天记录
最近看到有工具可以读取本地微信聊天记录,所以就学习实操一下。工具有两个,一个GUI版的,一个命令行版的,下面依次记录下使用过程或体验。
2023-12-28 18:49:12
5712
原创 在Electron中使用海康网络摄像头的注意事项
在一个Electron项目中需要调用海康网络摄像头,经调研,摄像头需要本地安装相关驱动,并在程序中加载摄像头提供的SDK,然后通过SDK提供的方法调用本地驱动来执行想做的操作。这里我使用官网提供的 WEB SDK 来进行开发(没有直接为Electron或Nodejs提供服务的SDK)。
2023-09-19 09:21:26
495
4
原创 截图&下载网页中的PPT
d、有了翻页控制器,接下来通常会想要知道PPT总共有多少页,否则就不知道什么时候停止“翻页+截图”。但这里,经过测试,我发现并不需要知道总页数,因为超出PPT总页数时,函数会抛出错误,我们可以利用这个错误来控制何时停止它。c、在 notifyClick 中打上断点,可以看到这里有一个 bjyConnector 对象,它其实就是这个PPT文档的控制器,它上面有个 goto 方法,可以用来实现翻页。1)打开控制台查看元素,可以发现PPT的页面是用DOM元素实现的。将网页中的PPT的各个页面截图下载到本地。
2023-06-04 20:52:30
1314
2
原创 Electron 打印功能的实现
Electron中的打印功能有以下几种方式:webContents的print和printToPDF方法、webview标签的print和printToPDF方法、iframe的print方法。关于print方法,webContents、webview和iframe都是调用的浏览器自带的打印功能,虽然Electron文档中罗列了很多打印配置项,但实际使用时看不到实际效果,打印的最终效果也较差。而printToPDF方法效果就好很多。
2023-05-26 15:19:16
1270
原创 猿人学 第一题 js混淆源码乱码
打开开发者工具后,首先面对的是一个无限debugger,解决的方法:可以使用Ctril+F8禁用断点(但这样不便于自己打断点调试),也可以为无限debugger语句添加一个条件语句,使其不执行(这里我写的是0)。在得到的代码中,分析可知:机票列表的请求被定义为一个名为request的函数,该函数有两个传参“page”和“m”,page是页码,使用的是全局变量page,而m是通过函数oo0O0经过一番计算得来的。1)将相关代码放入“``”中,并在控制台中输出,即可得到Unicode解码后的代码字符串;
2023-05-24 13:38:50
107
原创 问题回复 - 逆向Electron程序打开控制台
4)搜索openDevTools,总共可以找到三处,上述是第三处,前面两处代码基本相同,是在两个自定义事件中切换控制台的打开状态。初步猜测网友所说的控制台会被关闭就是因为这两个事件函数,所以将两个函数中的代码注释掉;可以搜出来两处,但第二处仅是调用BrowserWindow下的方法,只有第一处是用来创建窗口的。3)在创建窗口的代码下方,可以发现有一段代码,当处于测试环境下的时候会默认打开控制台,最直接的思路就是将前半句的条件语句删除掉;修改后发现可以正常打开控制台,经测试,发现控制台并没有中途退出的情况。
2023-05-14 12:03:49
1286
原创 聊聊职场 - 个人发展
工作中,要多思考多实践,这是个良性循环的过程,同样是做一个项目,如果你比别人想得多试的多,那么你收获的经验就多,未来在做事的时候,同一件事情,同样一句话,你get到的点就可能比别人多很多。很可能第一份工作并不适合自己,所以,在刚工作的前两年要尽快去了解所在行业,以及自己感兴趣的行业,去体会真实的工作是什么样子。如果经过慎重思考以后,想要转行,一定要尽快,不要拖延,因为在职场中,年龄是找工作时HR重点关注的因素,如果转行太晚,会导致你的年纪和工作经验不成正比,在找工作和换工作的时候会非常吃亏。
2023-03-18 10:44:27
182
原创 自动监测接口变化并发送通知
之前有网友提出,想要用代码监控一个接口,定时访问它,如果接口返回值发生某些变化就提醒用户。于是,我写了个简单的脚本。脚本编写时,考虑的是放在目标网站的控制台来执行。之所以这样做,是因为如果放在页面外部执行,往往需要补环境,费时费力。
2023-03-12 14:21:47
272
原创 读书笔记《从实践中学习Fiddler Web应用分析》
这本书的内容比较基础,主要是针对Fiddler自带的常见功能,不包含脚本编写等一些高级用法。不过,仍然有一些收获,整理记录一下。
2023-02-18 15:07:44
116
原创 开发中document.referrer引发的两个错误
解决两个报错“商家参数格式有误,请联系商家解决”和“403 net::ERR_ABORTED”
2023-02-14 10:13:31
306
原创 JS获取Shadow DOM中的节点
有的网站中有ShadowDOM节点,对于这种节点,直接在控制台使用元素选择器是无法获取到的。那怎么获取呢?这里结合ShadowDOM的特性分“shadow-root(open)”和“shadow-root(closed)”两种情况。
2023-02-02 14:35:45
2472
1
原创 编写一个图片去水印的小工具
稍微想一下,应该可以得出一个思路:水印图的透明度为0.7,意味着它的色值在结果图中占的比重是70%,原始图因为被水印图遮挡,所以占的比重是剩余的30%。为了便于分析原理,我写了一个简单的Demo,如下图所示,在Demo页面中有三张单色图片,第一张原始图是颜色为#999的灰色图片,第二张水印图是颜色为#fff透明度为0.7的图片,第三张结果图是前两张图片合成以后得到的图片。经测,常见的水印可以正常去除;接下来,对比下三张图片数据有何不同,原图片和水印图的数据是怎么得到结果图的数据的?
2022-12-16 09:50:02
1962
1
原创 新知实验室 - 腾讯TRTC实时音视频产品体验
因为疫情原因,如今远程办公的需求越来越普遍,为了人们工作生活的协同便利,实时音视频的服务正被各行各业广泛需要。腾讯云提供的实时音视频服务恰好解决了这一需求。
2022-12-11 14:39:28
794
半吊子伯爵工具箱-图片去水印源码
2024-05-27
uploadifive-v1.1.2-standard
2017-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人