免费提问

如何破解抓包工具Charles软件30天试用期?

144
提问者 xxxxxxxx
2018-10-16 15:25 悬赏 0财富值 阅读 948回答 6

Charles是一款非常好用的抓包工具,但是呢,这个软件只有30天的试用期,试用期一到就没办法使用了,请问下大家如何破解抓包工具Charles软件30天试用期?最好把使用时间能给去掉,会的帮忙回复下啊。

001

汇编语言
登录 后发表回答
huangzhe8263
1楼 · 2018-10-16 16:05.采纳回答

我就不废话了,直接进入主题吧,首先我们去官网下载一个Charles工具,这里下载了Mac中的工具:https://www.charlesproxy.com/download;下载之后直接安装就可以了,然后我们打开使用。


这时候我们看到上面有一个提示就是30天的试用期,然后每次开启都有这样的提示,而且进入使用的时候当需要查看一条请求信息的时候也会需要等待很久,感觉特别不舒服,所以我们需要破解他,破解他是因为他是跨平台的,的确在Mac系统中这个工具还是非常重要的,其次是他是Java编写的,破解难度低,要是Windows中的工具让我去破解,那就很困难不去这折腾了。所以从这一点看我们Android中把重要信息放到so中去做是多么重要。好了我们看到这个提示我们操作也比较简单,因为是Java编写的,所以Mac中安装之后直接取应用程序中右键显示程序包内容:

001

显示包内容之后,我们就可以去Java文件夹中查找一个charles.jar文件了,然后直接jd-gui直接打开即可:

002

 用jd-gui打开charles.jar之后,直接全局搜索字符串:This is a 30 day trial version...

w5cy5gfxsjn

然后点击进入查看:

5

看到这里就发现一个方法了,然后在点击进入查看:

5

看到这里接下来我们就开始修改这个方法的返回值来看看效果,不过这里我们修改返回值可以有两种方式,当然第一种方式是最开始我能想到的,因为在几年前我弄过这个东西,就是修改第三方的SDK中的功能,比如打开日志等,这时候就需要去修改他们的jar包内容了,那时候的操作非常简单思路也很清晰,因为我们知道jar中的是class文件,我们可能没有或者很难去修改class文件,但是我们可以修改smali文件,所以思路就是把jar转化成dex文件,这个直接用dx命令即可,然后在把dex弄成smali文件直接修改即可,然后在打包回去。当然我们也可以直接编写一个对应的Java文件,然后编译成class文件替换jar中的位置,但是这么操作有版本问题,很难控制。当然这里我们都没有采用这种方式,因为这种方式的实现成本太大,因为这个jar的结构:

5

这么看到这个结构很复杂,所以这么操作直接把jar转化成dex会出现一些问题,所以这里我们用一个新的办法,以后大家都可以用这种方式直接操作jar文件,其实准确说直接操作class文件,我们知道编译之后的class文件很难改变,就可以用这种方式进行改变,这个就是javassist,其实之前我们用过asm这个库也修改过class文件的。这个原理都差不多,接下来我们就在AndroidStudio中直接操作吧。

三、破解修改
首先我们导入这个库,然后开始编写代码直接操作,关于这个库的具体用法可以自行搜索查阅:AndroidStudio中可以新建Java工程然后进行操作,具体如何新建Java工程可以自行搜索,这里不做太多的介绍了,因为最近RxJava这个框架很火,所以这里就利用这个框架进行了简单的使用,也让大家体会到这个框架的作用:

5

看到RxJava框架会把代码变得更有顺序化,代码简洁明了,以后再Android中会用到更多,大家可以去我的小密圈看看我总结的这个框架的用法,然后我们直接运行即可,然后在目录下就生成了一个新class文件,然后直接找到我们修改后的jar文件:

5

看到这里我们就把之前分析的那两个方法修改了,然后我们在把这个破解之后的jar文件替换成原有的charles.jar运行即可:

5

启动软件之后看到没有任何过期提示,使用过程中也没有任何提示了,然后我们可以愉快的抓到抖音的请求数据了,关于更多抖音的破解知识可以去我的小密圈查看:

002

好了到这里,我们就成功的破解了charles工具了,为了安全考虑本文涉及资源可以去编码美丽小密圈自取。

四、总结
大家可以看到这一次破解其实是非常简单,就是因为Charles用了Java语言开发,当然这个是多平台的前提,那么有人好奇为啥Charles不直接进行授权key作为处理,这样就需要强制购买才可以使用了,但是还是那句话,一个工具类app首先他的功能肯定是在本地的,只是一个开关控制一项功能是否开启,那么如果他用了Java这种比较弱的简单逆向语言开发,他怎么防护都没有用,开关只是0和1问题。本文我们学习到了一种新的操作class文件的方法,这个方法对于以后操作都会用到,比如Android中很常用的热修复框架Robust,他的内部需要在编译阶段修改class文件插入代码,就用了这个库文件。当然还有其他案例,在本文中我们也看到了RxJava这个框架的好处,他能够把代码变得非常简洁,同时要说的是现在很多应用都用了这个框架以及Retrofit网络框架,这两个框架对于开发过程中的确很好,但是当我们反编译应用查看代码就很蛋疼了,因为这两个框架把代码简洁化,很难读懂的。

z33ss
2楼-- · 2019-05-13 09:17

sniffer,wireshark,winnetcap都是当前流行的抓包工具, 我曾用过一种叫做spynet3.12 的抓包工具,非常小巧,运行的速度也很快。


clover
3楼-- · 2019-05-13 09:26

所谓抓包 即把网络中传输的数据包根据用户要求 进行抓取 这类软件很多 有名的如:SNIFFER 要对包进行分析的话 要示求你对网络协议 比较了解


alexrezit
4楼-- · 2019-05-13 09:09

就是截获数据流的工具,可以截取某个网段的数据流,然后分析其中的协议和数据量。 追问: 怎么下载啊,有 病毒码


handsomegui
5楼-- · 2019-05-13 09:01

抓包工具的作用是抓网络网络上的数据包,以达到分析、处理、解决网络问题的目的。


ruitang
6楼-- · 2019-05-13 09:30

科来还要注册码太麻烦,只用过wireshark。不过sniffer pro 功能更强大


网站简介 | 竞价技巧 | 网站建设 | 原创作品 | 联系我们 |

鄂ICP备17013851号-4|经营许可证:鄂B2-20160818 |互联网药品信息服务资格证: 粤20130124|鄂公网安备:42010601000001|版权登记号:2016SR017186