AntiDebug实现
发表于
更新于
本文字数:
1.4k
阅读时长 ≈
2 分钟
最近玩文心一言时,打开开发者工具,发现会进入一个匿名函数的断点中,点击继续执行则直接变成空标签页面。这里明显是做了反debug。这里就该实现技术分析下。
分析
- 在断点位置查看调用栈发现有setInterval。
- 匿名函数这里的标签显示是VM,所以包含断点的匿名函数是eval或者new Function生成的代码。
- 断点执行后,执行window.location.replace(“about:blank”);。但具体是如何判断进入了断点,因为这里做了代码混淆,没分析出来。但是可以想到一个办法就是利用时间判断来做。进入debugger之后的逻辑执行肯定是会明显的变晚,算一个时间差就可以判断出是不是开了开发者工具。
例子
入手AirTag
发表于
更新于
本文字数:
585
阅读时长 ≈
1 分钟
升级博客主题:2.0
发表于
更新于
本文字数:
474
阅读时长 ≈
1 分钟
入手AirPods3
发表于
更新于
本文字数:
502
阅读时长 ≈
1 分钟
Telegram使用指南
发表于
更新于
本文字数:
663
阅读时长 ≈
1 分钟
ChatGPT iOS App使用指南
发表于
更新于
本文字数:
355
阅读时长 ≈
1 分钟
部署个人 chatgpt-telegram-bot
发表于
更新于
本文字数:
1.7k
阅读时长 ≈
3 分钟
ChatGPT使用太不稳定了,为了避免不可用时耽误事,搭建个私人TG Bot备用。调研发现chatgpt-telegram-bot不错,因此选择服务来搭建
搭建步骤
TG下访问@BotFather创建Bot
TG下访问@useridinfobot,获取个人账号UserID,注意不是名字
选择HK或者境外服务器,拉取镜像
1
docker pull n3d1117/chatgpt-telegram-bot:latest
创建.env文件,配置环境变量,参考https://github.com/n3d1117/chatgpt-telegram-bot/blob/main/.env.example
主要是这四个配置
1
2
3
4
5
6
7
8
9
10
11# Your OpenAI API key
OPENAI_API_KEY=XXX
# Your Telegram bot token obtained using @BotFather
TELEGRAM_BOT_TOKEN=XXX
# Telegram user ID of admins, or - to assign no admin
ADMIN_USER_IDS=ADMIN_1_USER_ID,ADMIN_2_USER_ID
# Comma separated list of telegram user IDs, or * to allow all
ALLOWED_TELEGRAM_USER_IDS=USER_ID_1,USER_ID_2启动容器
1
docker run -d --name "chatgpt-telegram-bot" --env-file ./.env n3d1117/chatgpt-telegram-bot:latest
此时,TG下访问Bot就可以玩了
配置更新,服务自动重启
ssh2-HTTPAgent源码阅读
发表于
更新于
本文字数:
1.3k
阅读时长 ≈
2 分钟
ssh2包中提供了HTTPAgent,使用该HTTP Agent是可以接管请求,底层再通过SSH建立的与目标机器连接,从而实现内网穿透。
最近需要开发自定义的HTTP Agent,因此这里研究下实现。
整个HTTPAgent实现是在项目下的lib/http-agents.js
1 | const { Agent: HttpAgent } = require('http'); |
这里可以看到for循环将nodejs下的Agent进行改造并重新导出。
nodejs下的Agent构造函数如下
WebShell中实现编辑器代理
发表于
更新于
本文字数:
197
阅读时长 ≈
1 分钟