大佬们来试试我的前端加密强度

2023-08-23 19:31:31 +08:00
 tmtstudio

看到大家在讨论前端的加密问题,就把我现在用的加密方案做了个 demo ,大佬们看看能破掉吗,要是能给点建议就更好了。

http://34.16.118.34,怕被大手子 gank 没用 cdn 第一次打开有点慢

12778 次点击
所在节点    程序员
94 条回复
Al0rid4l
2023-08-24 14:23:08 +08:00
因为有词典, 其实关键字还挺好找的, 想进一步混淆建议少用对象, 打包工具和混淆工具不会对属性名压缩或混淆, 把一些关键对象的属性名手动拆字典, 这样就很难搜索到了, 只不过这样自己的代码也基本不可能可读了
lasuar
2023-08-24 14:25:41 +08:00
混淆的时候 不要留明文函数名
Pionxzh
2023-08-24 14:33:06 +08:00
混淆强度有点高 找了几个工具解不开
jaycezhang7890
2023-08-24 14:36:52 +08:00
@dcdlove 怎么找得到接口的,前端小白求教
jaycezhang7890
2023-08-24 14:38:47 +08:00
我直接先打开控制台,停用 js ,然后进网页后提示启用 js 后启用 js ,然后刷新页面,在页面没跳转前再停用 js ,一样可以打开控制台啥的呀
Al0rid4l
2023-08-24 14:49:16 +08:00
bhbhxy
2023-08-24 15:01:02 +08:00
似乎换地址了
http://34.16.118.34/static/js/chunk-vendors-1-1692842024601.js
Features
2023-08-24 15:27:52 +08:00
@jaycezhang7890 找接口简单啊,抓个包就行了
cherryas
2023-08-24 15:47:36 +08:00
没破解成功,但是抓包了,并没发现连接 120.79.59.207 这个后端的记录。
Features
2023-08-24 15:48:07 +08:00
CodFrm
2023-08-24 15:56:25 +08:00



NoobNoob030
2023-08-24 16:17:57 +08:00
按照 60 楼大佬的思路,传入"text": "v2ex"参数错误,是不是又修改了
oppoic
2023-08-24 16:44:57 +08:00
你们不要给楼主提了,他偷偷的都给修复了
freeup
2023-08-24 17:32:28 +08:00

28997 行下断 然后执行表达式修改变量 _0x53b71f['ignore']=function(){return true;}
_0x53b71f 变量为禁用调试工具的配置 详见 https://github.com/theajack/disable-devtool
但是 后续放行后 控制台报错了 ReferenceError: getToken is not defined
lxxxv5
2023-08-24 18:21:58 +08:00
op 在背后疯狂修复
lzgshsj
2023-08-24 19:57:01 +08:00
搁这玩红蓝对抗是吧😆
DreamNya
2023-08-24 21:32:57 +08:00
还是油猴脚本 还是全自动牛逼
换一个地方 hook ,比之前代码还要简洁……

```

// ==UserScript==
// @name 全自动牛逼
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.2.0
// @description try to take over the world!
// @author DreamNya
// @match http://34.16.118.34/*
// @grant none
// @run-at document-start
// ==/UserScript==

window.setInterval = () => 1; //偷鸡?
const realAssign = window.Object.assign;
window.Object.assign = function (...args) {
if (args[0].h5Version) {
args[0].text = 'v2ex'
}
return realAssign.call(this, ...args)
};

```

对策就是不要用任何对象方法。
前端就是这样,你防住了一下,不一定能防住下一个,总有地方有机可趁,而且有些漏洞是难以修复的,除非重构整个函数,伤人先伤己。
前端代码都在本地运行,只能通过加密混淆增加难度,从防 50%的人提升到防 90 、95 、99%的人,做不到 100%安全。
增加难度的同时也在考验自己的代码水平,相当于七伤拳了
有没有必要加密混淆填补漏洞,主要看成本与收益
Al0rid4l
2023-08-24 21:37:35 +08:00
@NoobNoob030 getParams() 的参数(目前是对象_0x52aa82)上增加属性 text: 'v2ex', 接口 formdata 中的 param 参数是由 getParams() 的参数加密得到, 需要在某个函数(_0x9b992, 也就是这句 var _0x510f37 = _0x9b992(_0x52aa82, _0x38bd00, _0x458a78))之前加上这个属性, 否则对象会和时间戳等信息一起生成其他参数导致参数错误
MegatronKing
2023-08-24 22:45:11 +08:00
我用 Reqable 抓包测试了下,定位到了 Reqable 的一个 bug ,尴尬。
jones2000
2023-08-25 00:25:11 +08:00
CEF 重载 DoClose 事件, 不让关闭窗口就可以。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/967742

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX