dtboy 最近的时间轴更新
dtboy

dtboy

V2EX 第 645220 号会员,加入于 2023-08-24 15:13:55 +08:00
dtboy 最近回复了
258 天前
回复了 tmtstudio 创建的主题 程序员 大佬们来试试我的前端加密强度
@DreamNya 感谢,学习了,最后对 webpack 的解释是附加题,哈哈
258 天前
回复了 tmtstudio 创建的主题 程序员 大佬们来试试我的前端加密强度
手抖了,ctrl+enter 发布了直接...
请问 getParam 是如何定位到这里的,像我昨天去 crack 的时候,只是想到了跳过屏蔽,但是还是看了你的回复后才有思路。也就是 getParam 这个函数的操作。

另外,你懒得处理的 hook 我是这么写的(但是也有例外吧,不过针对此项目,起码不会破坏其他定时器)
let sI = window.setInterval

function holder() { }

window.setInterval = function (...args) {
let fn = args[0]
let ms = args[1]
if (fn.toString().includes('ondevtoolclose')) {
return sI.call(this, holder, ms)
} else {
return sI.apply(this, args)
}
}
258 天前
回复了 tmtstudio 创建的主题 程序员 大佬们来试试我的前端加密强度
@DreamNya 感谢回复和讲解
请问针对
```
根据上述情况就可以针对油猴,做一些针对性防御操作,比如核心函数完全不用对象方法让油猴无处 hook ,从而减少能破解的用户数量,来提高安全性。
当然这种针对性防御首先考验的是开发者代码水平,所有防御都是双刃剑。
```
这一段可以给一些例子,或者伪代码吗,学习一下。要是没有你的那段 getParams ,我想大多人
258 天前
回复了 tmtstudio 创建的主题 程序员 大佬们来试试我的前端加密强度
op 的第一个 handShake 请求没看懂.(细心老哥可以继续追)
后来 DreamNya 发现的 getParams 里面的逻辑应该是
1.生成一组用于 aes 加密的 key 和 iv
2.用 RSA 加密这个 iv 和 key ,也就是{C: '', P: ''} 加密后得到的就是请求参数中的 code
3.请求中的 param 就是用 key 和 iv 加密的 JSON.stringify({ h5Version: '',private: '', public: 'unix 时间戳' })
总结就是,用 RSA 公钥加密了 AES 加密需要的 key 和 iv ,然后又用 key 和 ivAES 加密了真正传到服务器的内容.
服务端应该是用私钥解开 code 中的 iv 和 key ,之后再用 iv 和 key 解密请求正文.

- 靠纯技术是解决不了安全性问题的,二进制是死的,人是活的,只要是死的东西就会有问题。最终解决安全性得靠法律吧。。而不是技术,毕竟踩缝纫机要可怕的多。
258 天前
回复了 tmtstudio 创建的主题 程序员 大佬们来试试我的前端加密强度
给 nodejs 栈同好的爆破建议是用 electron 的 preload 思路,搭配 source override(毕竟可以实时覆盖修改代码)
258 天前
回复了 tmtstudio 创建的主题 程序员 大佬们来试试我的前端加密强度
@DreamNya 很赞很牛

昨天通过也是通过此老哥的第一个回复的思路.
后面修改对象(不管是用什么 hook 方法,还是覆盖执行(比如 chrome override)) 都可以

这里回复下 DreamNya 的 window.setInterval = () => 1; 操作是因为屏蔽库内是靠 setInterval 去检测逻辑的,代码源在
https://github.com/theajack/disable-devtool/blob/master/src/utils/interval.ts#L26
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1350 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 17:43 · PVG 01:43 · LAX 10:43 · JFK 13:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.