记录第一次抓取安卓app的数据

我是一个刚刚入职的新人,刚进公司老板给我分配的任务是写脚本。作用是从其他网站上抓取数据,然后在我们的平台上显示出来,具体业务就不介绍了,主要目的就是从其他网站抓取数据。实现方式是使用Jsoup类。这里贴一个示例代码

Jsoup.connect(REGISTER_URL)
                .userAgent(USER_AGENT)
                .method(Connection.Method.GET)
                

看起来还是蛮简单的,一开始先去了解了一下HTTP协议,request请求和response响应(我在学校属于学渣,学习不认真的那种= =)。然后开始上手操作。
首先弄一个登陆的示例吧,先打开目标网站,找到登陆的地方,这里贴个示例
记录第一次抓取安卓app的数据_第1张图片然后打开抓包工具
记录第一次抓取安卓app的数据_第2张图片
(一开始我还是打开网站的源代码,然后去找他那个按钮提交的url,o(╥﹏╥)o)

记录第一次抓取安卓app的数据_第3张图片软件的操作也挺简单的,可以自行百度一下。
然后,输入登陆信息以后,点击登陆,看抓包的数据。再自行在脚本里写上对应要发送的数据,头文件之类的。其他的一些功能都可以这样抓。
这些都不是本次的重点
有一些功能网站上没有,在app上有,这就需要去抓手机app的包,找到所需要的接口。
记录第一次抓取安卓app的数据_第4张图片这里贴个示例,我们会发现有一些参数经过了加密,我们就需要知道它的加密方式。这里我们可以先调个断点,修改请求里的数据,看那些数据是真正有用的数据(这里我一开想找sign的加密方式,找了半天找不到,后来经过前辈指点用了断点这个方法才知道sign这个参数随便设都没问题,同样可以知道其他参数是否必要)。
找完后发现password这个参数有用的(肯定的啦),然后我们就只有一个目标:找到password的加密方式。
在这里插入图片描述
我们用反编译软件把app反编译好
记录第一次抓取安卓app的数据_第5张图片这里直接双击jadx-gui.bat然后可以直接选择要反编译的app文件,反编译好后的项目结构
记录第一次抓取安卓app的数据_第6张图片
直接全局搜索password
记录第一次抓取安卓app的数据_第7张图片然后就要细心的挑选哪些可能是加密方式里面的
记录第一次抓取安卓app的数据_第8张图片
这里发现向JSONObject中插入password,点进去看一下
记录第一次抓取安卓app的数据_第9张图片
看其他的字段和前面请求里一模一样,然后我们就看一下aj.a和i.a是啥东西。
找到引用的包
记录第一次抓取安卓app的数据_第10张图片先看i.a
记录第一次抓取安卓app的数据_第11张图片发现还有个dX,找!
在这里插入图片描述

记录第一次抓取安卓app的数据_第12张图片
在这里插入图片描述
这里发现一个SharedPreferences类,百度一下,是一个存储类。
大概明白i.a的意识了,大概率是取出用户输入的密码。
然后找aj.a
记录第一次抓取安卓app的数据_第13张图片这里发现直接就是用MD5算法加密了一下,然后还有个a.a处理了一下。找到a.a
记录第一次抓取安卓app的数据_第14张图片发现是他们自己写的一个算法,看不懂,没关系,直接复制到自己项目就好了。
这样password的加密方式就知道了,先用MD5加密一下,再用自己的算法处理一下,再重复一遍这个步骤。自己写个案例测试一下。
记录第一次抓取安卓app的数据_第15张图片OK~

你可能感兴趣的:(记录第一次抓取安卓app的数据)