1 mm163 2022-01-27 17:02:12 +08:00 就是简单的 ascii 码,把\xXX 的都转成字符就行了。 |
![]() | 2 pengtdyd 2022-01-27 17:08:42 +08:00 换一个思路,不解密,直接用它的源码 |
5 coolan 2022-01-27 17:19:15 +08:00 https://www.prettifyjs.net/ 这玩意看起来乱得很 |
![]() | 6 locoz 2022-01-27 17:26:20 +08:00 |
![]() | 7 KuroNekoFan 2022-01-27 17:53:21 +08:00 为什么要研究这个呢,彻底点换成 wasm 模块你就啥都看不到了啊 |
![]() | 8 musi 2022-01-27 18:23:39 +08:00 相比于解密,感觉运行时去 debug 要简单一点 |
![]() | 9 yxnwh OP @musi 小蚁 app 是在手机上运行的一个 app ,不是一个单独的网页,可以 fiddler 抓包然后 debug 吗?对这一块不熟悉,求一个思路~ |
13 lqfxz520 2022-01-28 13:01:28 +08:00 好奇怎么把代码转吗码的,使用什么工具 |
![]() | 14 Juszoe 2022-01-28 13:51:50 +08:00 建议反编译 app 进行动态调试,光抓包很难看出什么,何况这 js 并不一定包含 hmac 的加密逻辑 |
![]() | 15 yxnwh OP @Juszoe 好像被我解决了,分析了另外一个 js ( http://app.xiaoyi.com/cnApph5/_nuxt/247c36a83845ea02d71b.js ),然后搜索 hmac ,就找到了他的加密函数,我对 js 不是太精通,于是借助 vscode 对函数内的每一条语句单独调试,看看结果到底是什么,基本就摸清楚了 |
![]() | 16 yxnwh OP @locoz 代码粘贴进去点还原,总是报错,还是用回笨办法,用了楼上一位老哥的链接,把 js 美化 /反混淆后直接硬着头皮去研究 |
17 lvsemi1 2022-01-28 19:03:06 +08:00 @KuroNekoFan 是什么让你产生了 wasm 就解密不了的错觉? |
![]() | 18 ClarkAbe 2022-01-28 20:47:37 +08:00 via Android @KuroNekoFan 你这话说得就和 jar 就不能反编译一样,而且 wasm 的可读性其实还更好 |
![]() | 20 locoz 2022-01-29 10:32:19 +08:00 @lqfxz520 #13 这个不叫“转码”,叫“混淆”。原理就是通过将代码解析成 AST ,然后在各个节点前后添加无意义的额外操作或实际根本不会执行的代码,又或是处理成一些对于程序执行而言逻辑一样但人看着会很复杂的样子,处理完再把 AST 转换回代码,就会是这个效果了。 市面上很多混淆工具都是基于 https://github.com/Javascript-obfuscator/Javascript-obfuscator 这个项目搞的,基于这个项目的在线工具 https://obfuscator.io/ ,还有一些颜文字混淆之类的简单混淆工具网上搜一下很多,你可以自己玩玩。 |
![]() | 22 yxnwh OP @locoz 到了一个网络环境,都 ok 了,跟 https://www.prettifyjs.net/这个网站反混淆的,是差不多的效果 |