Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ CrackJs Public
forked from qqizai/CrackJs

记录一下js逆向的网站

Notifications You must be signed in to change notification settings

cilame/CrackJs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

129 Commits

Repository files navigation

CrackJs

记录一下js逆向的网站

先写到这里吧~~~~ 下次再会(2020年08月25日)

如果多人关注的话,会继续更新,且更新更频繁,你给的星星star就是我的动力,越多,更新越快!

综合类:

爬虫练习类:

验证码类:

Tips:
  • 建议可以学习一下这个某盾的分析过程,在本验证码源码里面,我提供了很多份js文件,里面大部分关键点都已经被我上注释了;
  • 建议直接使用Chrome浏览器自带的Overrides,个人感觉比 Reres 还好用,强烈推荐

其他练习等脚本类:

了解前端知识:


下面是前面提到的部分网站的分析步骤(下面的顺序是:倒序,将最新的进展放在前面)

部分步骤:

0x09、 - 某易易盾 - 2020年08月25日 指纹fp、随机鼠标轨迹一条龙服务 指纹:☆☆ 滑块轨迹分析:☆☆☆☆ (分析的过程难,但最后随机生成的鼠标轨迹方法不难)

说明:

已经分析了下面这些参数:

1.cb参数

2.fp参数

3.根据验证码缺口位置,随机生成鼠标轨迹

4.滑块轨迹加密

最后测试情况,很理想:998/1000,通过率约等于100%

对于我们这种不想花钱、又不想弄机器学习来识别验证码的人来说,简直就是爽爆了,简单粗暴的使用方式

最新前线消息:开源代码真的好景不长啊

  • 2020年12月10日 有开发者向我反映,当前这份代码识别缺口,准确率有所降低了,估计被制裁了(图片混淆比之前严重了),GG,但是JS加密部分还是可以用的,如需使用,可能你得换识别缺口的部分
  • 之前还说不想用机器学习,现在知道错了嘛,啪啪啪打脸

说明:

1.最主要就是 w 参数


0x07、微bo登录 ☆☆☆

说明:

1.最主要就是 sp 参数


0x06、零du代理 ☆☆ (网站好像已经挂了)

详细步骤说明

本次js解密过程,首先观察网页数据,查看加密情况,发现是将返回的数据进行解码的

  • 1、那么肯定网页标签是有 id 可以定位的,于是去查看 ip 地址标签,发现一个 ip-list 这个 id
  • 2、那肯定搜就完事了,反正也不知道是不是,那就先试试水嘛
  • 3、然后发现好几处都是有,然后一个一个观察上下文,随便附近打断点
  • 4、进行调试,慢慢调试,即可发现了一个 decode_str 和 encode_str ,长得这样的顾名思义的,可能是解密的方法,进去看就完事了
  • 5、发现一调试就是对的
  • 6、接下来就是扣函数,扣 decode_str 函数,将加密字符串传递过去,本地运行
  • 7、缺啥找啥,发现Base64"\x64\x65\x63\x6f\x64\x65"; 其中 \x64\x65\x63\x6f\x64\x65 就是 decode 的意思,说明这个就是 base64 解码 那么转换过来 nodejs 就是 Buffer.from(scHZjLUh1, 'base64').toString()
  • 8、下面继续调试发现缺少 windows 对象,发现是调用 windows 对象 String.fromCharCode() 方法, 那么这就是直接能够够用 String.fromCharCode((scHZjLUh1"charCodeAt") 来替换原来的 window["String"]["fromCharCode"](scHZjLUh1"charCodeAt"
  • 9,继续调试,然后也是将 base64 解密转换为 nodejs的base64 解密,最后得出答案,恭喜,又破解一个网站!!! 完毕!!

0x05、犀niu数据 ☆☆

说明:

1.调试后,你会发现 请求前后都是进行了对应的加密、解密的操作

2.这里是加密函数,是将指定参数进行加密之后,进行post请求,然后再对返回来的response参数进行解密


强烈建议练习一下这个例子的扣 js 的过程

说明:

1.坑:atob在nodejs里面就是使用Buffer.from(要解密的字符串, 'base64').toString());

2.遇到window对象的话,看看是否是使用了指定的方法进行解密,比如eval、ato、

3.这种是window对象的String、fromCharCode、parseInt,

4.如:_0xcbc80b['String']['fromCharCode'](_0xcbc80b['parseInt'](_0x1c0cdf[_0x33c80e], 0x2))可以写成String.fromCharCode(parseInt(_0x1c0cdf[_0x33c80e], 0x2))

  1. _0xcbc80b['eval']('\x28' + _0x1c0cdf + '\x29')可以直接写成 eval('\x28' + _0x1c0cdf + '\x29')

  2. Buffer.from(_0x1c0cdf, 'base64').toString()等于Buffer(_0x1c0cdf, 'base64').toString(),这两种写法是一样的

  3. _0xcbc80b'atob'可以写成 Buffer.from(_0x1c0cdf, 'base64')

  4. 以上的总结中,_0xcbc80b就是window对象

9.强烈建议练习一下这个例子的扣 js 的过程,主要是学习如何使定位 js 代码

10.总的来说,这里面的思路就是,将前端页面的一串字符串,经过指定的解码,得到的正确答案


0x04、梦幻xi游 ☆☆
0x03、刺猬mao小说 ☆☆

说明:

1.调试后,你会发现其实网站对小说的文本内容进行加密再返回本地,然后本地通过js解密再渲染到前端

2.加密方式:不详,网站使用自己的封装的函数

3.同阿li文学加解密思路一样

4.建议练习一下扣 js 的过程,主要是学习如何使定位 js 代码


说明:

1.调试后,你会发现其实网站对小说的文本内容进行加密再返回本地,然后本地通过js解密再渲染到前端

2.加密方式:不详,网站使用自己的封装的函数

3.同刺猬mao小说加解密思路一样


说明:

1.调试后,你会发现其实就是网站的url进行加密了,但是,这里的加密分发很简单.

2.加密方式:使用两串字符进行加密,解密 js 已经抠出来


0x00、百du指数

说明:

1.调试后,你会发现其实就是一个 decrypt 解密函数,直接将对应的 key 和 加密内容传递进去即可;

2.提供了两种方法,1-使用 execjs 来执行 js 代码,因为 js 代码比较简单;2-使用 Python 来改写 js 解密代码.


赞赏

如果你觉得笔者辛苦了,可以的话请我喝杯咖啡,感谢你的支持

zanshangma

你的赞赏就是我的动力

About

记录一下js逆向的网站

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 91.6%
  • HTML 6.4%
  • Python 2.0%

AltStyle によって変換されたページ (->オリジナル) /