www1988 发表于 2020-3-14 01:18

【新手试炼】四两拨千斤,“微信公众号文章导出助手”破解的另类思路。

# 前因后果
1、来到吾爱半年有余,一直没什么长进,只能算是一个新手;
2、今天工作单位领导需要导出某一个公众号的历史图文,交给我代办;
3、图文大概200+条,手动麻烦,上网找工具,好用的收费,免费的不好用;
4、找到一款收费工具,名叫**微信公众号文章搜索导出助手**,打算破解。

# 破解过程
软件功能介绍就不细说了,**试用版本只能爬取文章列表,无法下载到本地。**大致原理是用fidder的命令行工具获得PC微信cookies,然后爬取微信公众号历史详细页面所有数据。可能是hook了一些微信的函数,程序对微信版本有要求。我找到的破解版本可以获取文章列表,但是无法下载。索性更新到软件最新版本,尝试破解。

试用版在下载图文的时候,会有个弹窗提示,说这是收费功能,需要氪金。开始计划下断到这个弹窗。后来考虑这样做耗时费力,不划算(其实是自己不怎么熟练),准备另找他法。


后来看到这个软件采用的是**在线验证模式**,微信扫码登录然后获得帐号信息。猜想是否可以通过改服务器的返回数据来伪装成付费用户。


于是上fidder,重新开启软件,却没有捕获到登录的数据。百度后得知fidder不适用于c\s模式。这个好办,可以用Proxifier解决,Proxifier 是一款功能非常强大的客户端,可以让任何程序走HTTPS或SOCKS代{过}{滤}理。

# 详细步骤

1、打开fidder的工具-选项-连接选项,设置并查看代{过}{滤}理端口;

2、打开fidder的工具-选项-HTTPS选项,设置证书,以便捕获HTTPS;

3、打开Proxifier-配置文件-代{过}{滤}理服务器选项,添加fidder的代{过}{滤}理地址和端口;

4、打开Proxifier-配置文件-代{过}{滤}理服规则选项,将**微信公众号文章搜索导出助手.exe**、**PC微信、fidder**按照如图设置,**注意,fd是微信公众号文章搜索导出助手自带的fidder命令行工具,需要设置为不走代{过}{滤}理**;

5、设置妥当后,重新打开微信公众号文章搜索导出助手,切换到关于软件选项卡,点击微信头像旁边的刷新信息,就可以看到fidder里捕捉到如下一对数据包:
```
POST http://api.自己试试.com/api/soft/soft_ckeck_login.php HTTP/1.1
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded; Charset=UTF-8
Accept: */*
Accept-Language: zh-cn
Cookie: __cfduid=c70fb9780040698639931584068244; PHPSESSID=reb6m1g9gk785; loginToken=25a1657a242cb8eb019ed8412b28b; userName=00000000; userId=457000000000; avatarUrl=http%3A%2F%2Fthirdwx.qlogo.cn%2Fmmopen%2Fvi_32%2FDYAIOgq83epCKX6gXgpBFDVvwjkicbXEjJOznoZXfOCea6nA%2F132; BAEID=4859A429106AA562CA93E95733793B81; loginFrom=softLogin; macCode=v3@db39578b087fc5a3b3a440721b61f0d3e1240fdd; softId=10; softNameEn=weixinSearch; token=11ac3aa4e94c6bfdab5d52c129b251feeaa6; timestamp=1584068239; kami=sdasdasasd;
Referer: http://api.自己试试.com/api/soft/soft_ckeck_login.php
User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)
Content-Length: 17
Host: api.自己试试.com
doType=checkLogin
```
```
HTTP/1.1 200 OK
Date: Fri, 13 Mar 2020 08:10:47 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: 自己试试.com
Vary: Accept-Encoding
X-Powered-By: PHP/7.2.16
Server: qianxin-waf
WZWS-RAY: 1121-1584115847.531-s3jhg
Content-Length: 155

{"status":true,"message":"\u4f2a\u88c5\u5f00\u901a\u4f1a\u5458","code":200,"vipStatus":-1,"vipExpTime":"\u4f2a\u88c5\u5f00\u901a\u4f1a\u5458","level":null}
```
6、很明显,验证是否付费就是它了,把响应包保存下载。修改vipStatus为1,修改level为1,vipExpTime为文字显示,这里改成“伪装开通用户”(闹着玩)

7、我们用fidder来实现数据包的拦截和伪造,点击自动响应,设置规则、添加修改好的响应包。

8、好了,返回微信公众号文章搜索导出助手,刷新信息,发现已经成为“伪装开通用户”,成功。

# 最后
经过测试,程序可以正常使用,虽然写得繁琐,只是为了详细记录。自我感觉比动态调试要简单很多,而且方法和思路比较通用。基本起到四两拨千斤的效果。

我是新手,希望能抛砖引玉。让大神们见笑了。
另外,真心希望能有大神和我探讨一下爱加密的脱壳问题。

Hmily 发表于 2020-3-27 23:23

看起来你直接去调试程序,搜vipStatus这个字符串,应该一个跳转就破解了。

www1988 发表于 2020-3-17 22:26

这里提供的是思路和做法,没有软件成品。有兴趣可以试一试这个“瑞士军刀”
https://www.lanzouj.com/b0159xprg
密码:5ku7

8786321 发表于 2020-5-9 16:05

作者更新了检测机制

黄敏智 发表于 2020-3-17 17:21

求破解后软件,谢谢

kfshyf 发表于 2020-3-17 18:34

同求,近期自己开个公众号正在使用

qaz3122023 发表于 2020-3-17 20:17

厉害啊大神正好我需要学习了

www1988 发表于 2020-3-17 22:27

黄敏智 发表于 2020-3-17 17:21
求破解后软件,谢谢

在评论里有了

www1988 发表于 2020-3-17 22:27

qaz3122023 发表于 2020-3-17 20:17
厉害啊大神正好我需要学习了

在5楼评论里有了,请参考。

whtaoo 发表于 2020-3-18 10:12

感谢分享。。。

exby 发表于 2020-3-18 10:47

Proxifier可以强制所有的程序必须走他的代{过}{滤}理吗

www1988 发表于 2020-3-18 14:01

exby 发表于 2020-3-18 10:47
Proxifier可以强制所有的程序必须走他的代{过}{滤}理吗

我遇到过的软件都能,暂时没发现不行的。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【新手试炼】四两拨千斤,“微信公众号文章导出助手”破解的另类思路。