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

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

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

5653 次点击
所在节点    程序员
41 条回复
mokiki
2023-08-22 11:50:29 +08:00
T1DkuLrku4DkuYjopoHovaznoIHlkaLvvJ8K6L+Z5piv5Li65LuA5LmI5ZGi77yfCuWIsOW6leaYr+S4uuS6huS7gOS5iOWRou+8nw==
AoEiuV020JP
2023-08-22 11:51:03 +08:00
不直接说一下吗, 是有什么亮点?视频资源站,应该都差不多吧,
uibobo
2023-08-22 11:51:57 +08:00
这玩意个解密有啥关系
picone
2023-08-22 11:54:14 +08:00
我也来分享一个,尝试逆向太难了。https://www.nftsniper.club/
- 通过 timer 触发 debug ,通过代理 js 去掉了
- 所有函数和字符串都有编码表,动态拼接起来,和你发的第二个有点类似,不过更复杂一些
hsuehly
2023-08-22 11:57:33 +08:00
@AoEiuV020JP 两个都用了 wasm
horizon
2023-08-22 12:07:08 +08:00
wasm 能被逆向吗
enpitsulin
2023-08-22 12:13:59 +08:00
不过看起来你这两个链接中的 wasm 都是提供弹幕功能的库罢了

其实有一点就是如果使用 wasm 写通用逻辑完全可以 dump 找到 js 调用方直接去调,作为一个通用平台,提供 wasm 相当于提供了个库😂

当然把业务逻辑完全写在 wasm 那就基本没得搞了,但是可能代价有点大
32uKHwVJ179qCmPj
2023-08-22 12:20:10 +08:00
wasm 又不是不能逆向
tool2d
2023-08-22 12:43:15 +08:00
第一个网站随便下断点调试,没看到什么亮点。

第二个网站 m3u8 获取做了鉴权机制,把 header,refer 什么都加上就可以了。
Binwalker
2023-08-22 12:50:56 +08:00
机器码都能逆向,前端那套当然更可以
hsuehly
2023-08-22 13:04:56 +08:00
@tool2d 你仔细看一下其实第一个是最难的
hsuehly
2023-08-22 13:05:59 +08:00
@enpitsulin 两个加解密的逻辑都在 wasm 里 wasm 没有提供弹幕功能,只做加解密相关
tool2d
2023-08-22 13:14:30 +08:00
@hsuehliuyang 第一个就是普通的 mp4 视频啊,我看的连 m3u8 都没加入。写个 JS 插件注入到页面,获取 mp4 url 就可以了。
ljrdxs
2023-08-22 13:19:23 +08:00
看了本站“关于”,没说不能发链接。为何用 base64 编码?
tool2d
2023-08-22 13:24:07 +08:00
哦,第一个电视剧腾讯源是 mp4 。普通的动画片是 m3u8 切片,但是放在阿里云上的,随便下。还不如第二个是自己的服务器,有鉴权机制。
tool2d
2023-08-22 13:29:24 +08:00
这种视频网站有个通病,就是再怎么加密,一定会有获取 m3u8 这个步骤。

如果获取的是明文 m3u8 ,必定会被浏览器给捕获,也会被带过滤器的浏览器插件给捕获,这是 100%可以复现的。

有那种二进制加密 m3u8 ,取回来内存解密,但是这种极少见。
fzdwx
2023-08-22 13:32:52 +08:00
老哥你分享的第二个网站太棒了
hsuehly
2023-08-22 13:33:16 +08:00
@tool2d 我给你单独抽出来吧 https://jx.yangtu.top/?url= 主流视频站的地址
hsuehly
2023-08-22 13:38:44 +08:00
@ljrdxs 如果连 base64 编码都不知道,那我感觉他也不清楚网站的特殊之处,为了过滤一部分吧
tool2d
2023-08-22 13:43:31 +08:00
@hsuehliuyang 也许我们侧重点不一样,我是觉得自己插件能提取出任意的 m3u8 地址,直接本地播放。

你可能需要研究 m3u8 地址是如何拼接出来的,如何调用他们的 API 。

我不是做视频站的,对 API 不太关心。只要能下载视频切片,能本地看视频就可以了。

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

https://tanronggui.xyz/t/967324

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

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

© 2021 V2EX