看到最近 2 天讨论最多的前端加密方式防止逆向,分享一下有意思的东西

2023-08-22 11:40:14 +08:00
 hsuehly

前端如何做加密,解密才不能破解呢,这里发现了两个有意思的网站 网站 A: aHR0cHM6Ly95YW5ndHUudG9wLw== 网站 B:aHR0cHM6Ly9qeC5qc29ucGxheWVyLmNvbS9wbGF5ZXIvP3VybD1odHRwczovL3YucXEuY29tL3gvY292ZXIvbXpjMDAyMDBjdDIzMGgxL2owMDQ2NGJveDJkLmh0bWw= 大家感兴趣的可以看一下,他们是如何做的,这里只做技术交流,不涉及其他

5654 次点击
所在节点    程序员
41 条回复
fason1995
2023-08-22 13:47:33 +08:00
哈哈 第二个网址不错 除了资源不太全 没啥问题
otakustay
2023-08-22 13:47:43 +08:00
如果我要 CSRF ,你加密是 wasm 我拿着你的 wasm 用就行了
如果我要看加密前的内容,只要找到你调用 wasm 的地方打断点就行了
所以这个解决了什么问题呢?
kkk9
2023-08-22 14:09:00 +08:00
没看出来有什么挑战性
zzNucker
2023-08-22 14:11:37 +08:00
这种就别发了

想挑战自己第一去搞谷歌的 recaptcha ,第二去搞淘宝的反爬
danbai
2023-08-22 14:17:49 +08:00
52 上这种破解 wasm 很多
hsuehly
2023-08-22 14:18:58 +08:00
@otakustay 你可以拿着 wasm 运行一下,你就知道了
ljrdxs
2023-08-22 14:20:41 +08:00
@hsuehliuyang 光凭编码我也看不出。只是 base64 用的最多罢了。
janus77
2023-08-22 14:30:21 +08:00
我只知道一个比较大的就是微信读书的 web 页面 https://weread.qq.com/ 反正这个没看到人破解
learningman
2023-08-22 15:24:26 +08:00
wasm 总要导出函数,直接拿着导出函数用不就完事了,管他内部怎么处理的
learningman
2023-08-22 15:25:56 +08:00
(func $env.syscall/js.valueSet (;0;) (import "env" "syscall/js.valueSet") (param i32 i32 i32 i32 i32))
(func $env.syscall/js.valuePrepareString (;1;) (import "env" "syscall/js.valuePrepareString") (param i32 i32 i32))
(func $env.syscall/js.valueLoadString (;2;) (import "env" "syscall/js.valueLoadString") (param i32 i32 i32 i32 i32))
(func $env.syscall/js.valueLength (;3;) (import "env" "syscall/js.valueLength") (param i32 i32) (result i32))
(func $env.syscall/js.valueIndex (;4;) (import "env" "syscall/js.valueIndex") (param i32 i32 i32 i32))
(func $env.syscall/js.valueGet (;5;) (import "env" "syscall/js.valueGet") (param i32 i32 i32 i32 i32))
(func $env.syscall/js.valueCall (;6;) (import "env" "syscall/js.valueCall") (param i32 i32 i32 i32 i32 i32 i32 i32))
(func $env.syscall/js.stringVal (;7;) (import "env" "syscall/js.stringVal") (param i32 i32 i32 i32))
(func $env.syscall/js.finalizeRef (;8;) (import "env" "syscall/js.finalizeRef") (param i32 i32))
(func $env.runtime.ticks (;9;) (import "env" "runtime.ticks") (result f64))
(func $wasi_snapshot_preview1.fd_write (;10;) (import "wasi_snapshot_preview1" "fd_write") (param i32 i32 i32 i32) (result i32))
(func $wasi_snapshot_preview1.random_get (;11;) (import "wasi_snapshot_preview1" "random_get") (param i32 i32) (result i32))
hsuehly
2023-08-22 15:38:39 +08:00
@learningman 内部有检测,你可以拿着运行一下
tool2d
2023-08-22 16:03:10 +08:00
一个视频网站,m3u8 没加密,切片没加密,我也不知道楼主想要破解什么信息。
bigha
2023-08-22 17:49:49 +08:00
第一个网站 已经搞定了

https://tanronggui.xyz/t/967442
hsuehly
2023-08-22 18:41:01 +08:00
@tool2d 接口呀
hsuehly
2023-08-22 18:41:15 +08:00
@bigha 大佬,大佬
kuanat
2023-08-22 19:42:02 +08:00
连 js 混淆都不做,根本没有想要防的意思。它这个业务,侵权就不说了,偷流量、滥用 cdn 真是熟练。
hsuehly
2023-08-22 20:07:13 +08:00
@kuanat 有没有可能人家比较自信,连 debugger 都没😂
kuanat
2023-08-22 20:37:41 +08:00
@hsuehliuyang 这和有没有自信没关系啊。

前段混淆无非就是防君子、小人和机器人。第一个网站的业务,显然不是防君子防机器人
kuanat
2023-08-22 20:41:53 +08:00
@hsuehliuyang 这和有没有自信没关系啊。

前段混淆无非就是防君子、小人和机器人。第一个网站的业务,显然不是防君子防机器人,防小人也用不着,因为没有一点东西是自己的。

但是你看它用伪造的 png 头假装图片跑视频流,然后用某站的缓存漏洞托管自己的播放列表文件,这种手段水平,想加个 js 混淆太容易了。

它真想藏的大概不是 url 而是流量。
hsuehly
2023-08-22 20:48:08 +08:00
@kuanat 是的就网站首页是他自己的😂

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

https://tanronggui.xyz/t/967324

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

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

© 2021 V2EX