艺恩JS逆向

文章目录 

1.找数据接口

2.找解密字段

3.分析解密,还原JS代码

4.最后得到数据

前言

此网站找数据接口就不用多说了,我们直接进入正文,本文章比较长,写的很详细,一定要坚持看到最后,你会发现这个网站逆向很简单。

1.数据接口

2.找解密字段

不难从数据接口预览中看出,没有任何字段可以让我们搜索,查找加密字段。但是这个文章是解密,所以可以通过 decrypt( 进行搜索

问题好像又来了,搜索decrypt( 搜索不到结果,但是我们不慌,我们还有的是办法

接着我们输入json.parse(试试

那么结果是不是就出来了呢,那么就好办,直接打断点调试,最后找到被断住的地方

在这段JS代码中可以看到有很多json.parse,所以我们就需要通过一个一个的调试,找到是通过哪段json.parse(解密出来的

慢慢点击下一步,仔细观察e的数据变化,并且观察鼠标的移动,鼠标跳到哪儿,就说明执行到那了,通过观察我们可以看出数据跳到? r(e.Data) 数据e,就变成了明文数据了,但是仔细想想是不是r(e.Data)在作祟呢,其实不是,因为r函数传进去的已经是明文数据了,所以不是它生成的,那就再往前面看,发现是webInstace.shell(e)在作祟,找到地方就算开始解密了,直接把代码放到webInstace.shell上面去,再点击去。

然后就找到了这个函数

里面有些代码是不是有点看不懂,没关系看不懂的直接复制到控制台上,就能解析出来。

3.还原代码

接下来就直接还原类似代码即可,然后再一步一步分析。

还原到第一个if的时候要注意一下,因为第一个if是个多余的代码(返回的是一个undefined),所以可以直接删除

接着就可以全部先还原,再来慢慢分析代码

然后可以改个函数名,函数名可以随便赋予一个名字

现在可以分析函数了,首先观察_grsa_JS

可以看到这个是不是跟解密有关,所以直接在代码最上面引入const Cryptojs = require('crypto-js')

再把与_grsa_JS有关的改写一下(注意一定要改仔细),如下图:

我们再仔细分析函数,发现还有这个_0x9843d3函数没有得到解析,我们回到网页源代码处,发现上面就是我们所缺失的变量:

既然缺失,那我们就给它补上,所谓缺啥补啥

然后我们就可以把加密的明文,复制运行下代码试试,看看效果

发现是不是报错了

没关系我们来分析下

发现这返回的是个空值,说明这段代码并没有太大作用,反而增加麻烦,而且navigator还是没被定义的,那么我们索性就把这段删除了

把切片中的7也删除了,这样就确保循环不到7了

最后就惊奇的发现明文数据出来了

最后就是提醒下,如果还报错就看看是不是有地方没有补全,所以一定要代码补全,然后我们再结合Python文件进行解密,拿到我们想要的数据

小编最后希望这篇文章对你有所帮助,感谢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值