当前位置: 首页 > news >正文

设计师灵感网站淘宝首页设计

设计师灵感网站,淘宝首页设计,软件开发技术服务合同,广州响应式网站From#xff1a;https://www.cnblogs.com/zyfd/p/9681080.html 本文主要介绍了移动端爬虫的工具与方法#xff0c;作为一个入门的大纲。没有详细介绍的也给出了本人学习过程中借鉴的资料的链接#xff0c;适合对移动端爬虫感兴趣的同学入门。 一、抓包模拟 基本原理#xf…  Fromhttps://www.cnblogs.com/zyfd/p/9681080.html 本文主要介绍了移动端爬虫的工具与方法作为一个入门的大纲。没有详细介绍的也给出了本人学习过程中借鉴的资料的链接适合对移动端爬虫感兴趣的同学入门。 一、抓包模拟 基本原理中间人攻击 中间人攻击在中间人攻击中攻击主机通常截断客户端和服务器的加密通信。攻击机以自己的证书替代服务器发给客户端的证书。通常客户端不会验证该证书直接接受该证书从而建立起和攻击机的安全连接。这样客户端发送的数据都会被攻击机获取和解密。 工具介绍 Fiddlercharlesanyproxy手机安装证书需要需要需要支持抓取http/websocket/https(单向认证)http/websocket/https(单向认证)http/websocket/https(单向认证)支持平台win/mac/linux(受限win/mac/linuxwin/mac/linux脚本开发Jscript.net未知js具体的报文走向如下 手机上的配置方法以Fiddler为例,其它类似 准备工作手机与PC在同一个局域网内可以连同一个WIFI或者电脑插入移动WIFI配置步骤见下参考链接 https://blog.csdn.net/gld824125233/article/details/52588275 特别说明,抓不到报文可能的情况 1、单向双向 https https的抓包原理是基于中间人攻击的方式但是这种方式只适用于单向认证的方式也就是只是客户端去检验服务端的证书。而双向认证的Https,服务端还会校验客户端的证书。https握手过程如下: 如何检测是双向认证还是单向认证可以通过wireshark抓包看双方的协商过程证书的交换是否是双向的。 解决办法暂时没有好的办法解决这个抓包的问题 2、ssl pinning ssl pinning证书锁定 Certificate Pinning 是SSL/TLS加密的额外保证手段。它会将服务器的证书公钥预先保存在客户端。在建立安全连接的过程中客户端会将预置的公钥和接受的证书做比较。如果一致就建立连接否则就拒绝连接。Certificate Pinning在手机软件中应用较多。因为这些应用连接的服务器相对固定可以预先将服务器的X509证书或者公钥保存在App中。例如苹果应用商店Apple App Store就预置了这个功能。当使用中间人工具或者Fiddler之类的工具拦截数据就会造成应用商店无法联网的情况。 解决办法手机安装 xposed 和 Justtrustme 插件(https://github.com/Fuzion24/JustTrustMe) 抓取实现 抓到报文后就可以模拟请求了。请求发送的几种方式 抓包工具里面提供了发送功能Fiddler 中的 Composer 标签里提供了此功能。 Chrome 的 Postman 扩展程序 也可以用来发送报文。 Python 中的 requests 包也可以方便地实现 缺陷 如何构造更多的请求(常见的分页请求、更换查询参数等) 如果抓不到包怎么办(如果通信走 socket 怎么办) http 参数中包含加密、签名字段如何找到参数的生成方法 二、模拟点击 基本原理基于UIautomator 通过程序模拟人的行为对APP的界面进行点击、滑动等操作同时可以获取APP的Activity页面上的大部分控件上的文本信息有一些可能获取不到,Uiautomator本身就获取不到 Appium官网介绍https://appium.io/docs/cn/about-appium/intro/https://github.com/appium/appium Macaca:  https://macacajs.com/ 工具介绍 AppiumMacaca支持平台需要需要脚本语言PC/ios/android/hybridh5、native混合PC/ios/android/hybrid备注支持Android所有版本Android支持API17底层框架UIAutoation(IOS)/UIAUtomatorSelendroid(Android)XCUITest(IOS)/UIAUTOMATOR(Android)稳定性一般更好开源JS基金项目社区活跃阿里开源未来未知市面上常见的UI自动化测试工具以及优缺点 以上主流工具的优点跟缺点 Airtest AirtestIDE官方文档AirtestIDE官方文档https://airtest.netease.com/docs/cn/index.html 关于Airtest的使用探索https://www.jianshu.com/p/32d08455e86f Airtest 网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的计算机用户不需要一行行的去写代码而是用屏幕截屏的方式用截出来的图形摆列组合成神器的程序这是Airtest的一部分。   另外Airtest也基于poco这个U控件搜索框架这个框架也是网易自家的跨平台U测试框架原理类似于appium通过控件的名称id之类的来定位目标控件然后调用函数方法例如click(),swip()之类的方法来对目标控件进行点击或者是操作。 相较于以上工具来说Airtest有以下优点和缺点 抓取实现 1. 程序基本架构 2. 框架API说明 以Appium为例Appium 支持的API 介绍如下 定位支持 通过accessibility id查找元素 通过元素id 通过元素文本内容 通过元素可见链接文本定位 通过元素标签名称定位元素 通过元素class name属性定位元素 支持单个、批量获取 操作支持 从某个元素滑动到另一个元素 把某元素拖到目标元素 模拟手指点击最多五个手指可设置按住时间长度毫秒 从A点滑动到B点滑动时间可配 快速滑动 模拟双指捏缩小操作 在元素上执行放大操作 单击 还能摇一摇IOS支持 执行JS脚本 获取H5页面的page source 输入框输入回车的支持建议选用sogou输入法keycode: 66 ,这样不需要去定位键盘上回车的输入 控制APP 安装、删除、运行、关闭APP 指定运行某APP的某activity 获取控件信息 文本 元素tag名称 内容描述(content-desc) 样例代码(python) 如果使用过selenium做爬虫或测试对这个接口应该很熟悉。 from appium import webdriverdesired_caps {} desired_caps[platformName] Android desired_caps[platformVersion] 6.0 desired_caps[deviceName] 192.168.174.101:5555 desired_caps[appPackage] com.android.calculator2 desired_caps[appActivity] .Calculatordriver webdriver.Remote(http://localhost:4723/wd/hub, desired_caps)driver.find_element_by_id(digit_1).click() driver.find_element_by_id(op_add).click() driver.find_element_by_id(digit_2).click() driver.find_element_by_id(eq).click()driver.quit() 缺陷 获取效率低 定位元素需要时间 为了保证稳定需要在额外地增加等待时间 获取的数据有限 只能获取到界面上可视控件的信息 H5页面信息需要切换driver到H5 Appium的不稳定出现异常时有可能进程卡死需要重新启动 三、APK逆向 基本原理 方法 一 的 模拟抓包 和 方法 二 的 模拟点击 对于没有android逆向经验的朋友是不错的选择开发起来也比较简单能满足一些对于应用数据的需求。但是如果想要更高效地获取更多的数据就需要研究APP的代码。通过向APK中注入自己的代码修改APP 本身原来的逻辑比如修改函数执行内容、增加新的逻辑等等来来实现自己的目标。 一般的操作步骤如下 逆向 APK 分析 smali 代码 通过 hook 框架向 APK 中注入代码修改逻辑 需要的基础 smali语法 APK反编译 静态、动态调试 常用HOOK框架 反调试、反HOOK应对策略 下面知识可以快速入门 smali 语法最基本的数据类型函数定义关键字寄存器作用说明 关键字 field private isFlag:z  --- 定义变量 .method  --- 方法 .parameter  --- 方法参数 .prologue  --- 方法开始 .line 12  --- 此方法位于第12行 invoke-super  --- 调用父函数 const/high16 v0, 0x7f03 --- 把 0x7f03赋值给v0 invoke-direct  --- 调用函数 return-void  --- 函数返回void .end method  --- 函数结束 new-instance  --- 创建实例 iput-object  --- 对象赋值 iget-object  --- 调用对象 invoke-static  --- 调用静态函数 数据类型 B --- byte C --- char D --- double (64 bits) F --- float I --- int J --- long (64 bits) S --- short V --- void 只能用于返回值类型 Z --- Boolean Lxxx/yyy/zzz; --- 类 [XXX --- 数组 寄存器类型 寄存器采用 v命名法 和 p命名法v:表示本地寄存器p:表示参数寄存器 共16个寄存器, v0~v15,  关系如下v0 第一个本地寄存器v1 第二个本地寄存器v2 p0(this)v3 p1第一个参数v4 p2第二个参数v5 p3第三个参数当然如果是静态方法的话就只有5个寄存器了不需要存 this 了。 .registers 使用这个指令指定方法中寄存器的总数 .locals 使用这个指令表明方法中非参寄存器的总数放在方法的第一行 网址参考https://bbs.pediy.com/thread-151769.htm 工具介绍 26 款优秀的 Android 逆向工程工具( 注意看下面评论 )https://www.freebuf.com/sectool/111532.html 1. 反编译工具  APKToolbox 工具 AndroidKiller(smali 代码IDE) 常见问题及解决办法 有一些包无法使用Apktool进行反编译常用解决办法 需要先下载 smali.jar, baksmali.jar, signapk.jar 先把APK包解压缩然后直接使用 smali.jar  baksmali.jar 来进行解压缩 1:将dex 输出为 smali文件# 把dex 文件反编译java -jar baksmali-2.0.3.jar classes.dex    2:将修改的smali 文件 重新打包成dex 文件# 把 out 文件夹下的smali文件重新打包成classes.dex文件java -jar smali-2.0.3.jar out # 给APK包签名java -jar signapk.jar testkey.x509.pem testkey.pk8 update.apk update_signed.apk 2. 脱壳工具  一些对安全性要求高的 APP 会采用加固工具为自己的 APK 加壳表象就是你能反编译代码反编译出来的 smali 代码很简单只能看到壳的主程序代码并没有真实的业务逻辑代码。 可以借助 apktoolbox 来进行检测是什么壳而去寻找对应的脱壳工具。由于加固这个比较专业这里只推荐几款比较出名的脱壳工具细的就讲不了了  https://github.com/DrizzleRisk/drizzleDumper     某数字公司壳 https://github.com/DrizzleRisk                        其它几个脱壳工具 https://github.com/zyq8709/DexHunter             很久没更新了 https://github.com/F8LEFT/FUPK3                  需要修改 android 源码 3. 常用 Hook 框架 xposedCydia SubstrateFrida支持的系统androidandroid/IOSwin/mac/linux/IOS/Android版本要求android8.0android(4.4)/ios(9.1)android8.1开发语言JavaJavaPythonJs是否Root需要需要需要运行安装后重启安装模块后需要软重启基于脚本交互Java/NativeJava层Java/NativeJava/Native Xposed         API介绍https://api.xposed.info/reference/packages.html         开发者论坛https://forum.xda-developers.com/xposed Cydia Substrate:         官网http://www.cydiasubstrate.com/         文档http://www.cydiasubstrate.com/id/264d6581-a762-4343-9605-729ef12ff0af/ Frida:         官网https://www.frida.re/ 4. 动态调试smali代码 需要安装 smaliidea具体教程http://blog.csdn.net/linchaolong/article/details/51146492 5. 动态调试so 使用 IDA 工具包具体教程:http://blog.csdn.net/jiangwei0910410003/article/details/51500328 特殊说明 随着开发者对于数据安全性的重视一般的 APK 都会有各种保护策略包括 代码混淆、加壳反调试hook检查 等等策略。我们非专业安全研究人员只能见招拆招只要能实现我们的目的就可以了面对一些常规的策略有以下几种应对措施。 反调试 调用 ptrace(PTRACE_TRACEME,0,0,0) 原理一个进程只能被一个进程 Ptrace) 检测 TracerPid 的值 检测代码的执行间隔时间 检测手机的硬件信息是否在调试器中 检测 android_server 的端口号 检测 android_server 名称 检测在调试状态下的软件断点 通过使用 Inotify 对文件进行监控 检测进程列表中是否存在常见的 Hook/调试 的进程名称 反 hook 检测已经安装的应用里是否包含 xposed/Cydia Substrate hook PackageManager 的 getInstalledApplications把 Xposed 或者 Substrate 的包名去掉 关键函数检查调用栈里的可疑方法 hook Exception 的 getStackTrace把自己的方法去掉 检测并不应该 Native的native 方法 hook getModifiers把 flag 改成看起来不是 native 通过 /proc/[pid]/maps 检测可疑的 共享对象 或者 JAR hook 打开的文件的操作返回 /dev/null 或者修改的 map 文件 抓取实现 基于框架开发 hook 代码 缺陷 hook 的方式对 APK 的代码有侵入需要对 APK 中的各种反调试、反hook 检测手段做规避 如果遇到加壳的分析时间会很长。如果无法脱壳那么将无法实现抓取 四、开发工具 Requests 库 开源框架包括 Pyspider Scrapy Tornado 协程 实现并发访问 五、参考 Smali 语法https://www.jianshu.com/p/ba9b374346dd IDA 使用介绍http://blog.csdn.net/jiangwei0910410003/article/details/51500328 反反调试http://blog.csdn.net/feibabeibei_beibei/article/details/60956307 反反 hook: http://gnaixx.cc/2016/09/03/android-anti-hooking/ Fiddler 小白入门 http://blog.csdn.net/gld824125233/article/details/52588275 浅析 HTTPS 中间人攻击与证书校验http://blog.csdn.net/zhangmiaoping23/article/details/79228637
http://www.huolong8.cn/news/112633/

相关文章:

  • 行业协会网站建设wordpress在后台文章自定义表单
  • 网站制作公司咨询工作内容旅游景点网站设计论文
  • 上海网站建设最好的公司旅游网站哪家好又便宜
  • 商丘哪里有网站建设张家港个人网站制作
  • wordpress开发网站模板php做的网站怎么发布
  • 手机网站策划昆山网站推广
  • 网站设计 网站开发 优化网站维护工作内容有什么
  • 色一把做最好的网站温州网站优化价格
  • 筑龙网app下载兰州快速seo整站优化招商
  • 网站建设包含项目著名营销策划公司
  • 怎么做刷业务网站花瓣是模仿哪个网站
  • 叫外包公司做网站不肯给源代码的北京高级网站开发
  • 技能培训班广州seo推广营销
  • 普洱市住房和城乡建设局信息公开网站wordpress获取指定目录的文章
  • 网站建设主机耗电量后台管理系统界面
  • 北仑建网站价格做电商能赚钱吗
  • 网站后台访问权限设置电子商务网站开发指南
  • 做流程图用什么网站网页设计与应用论文
  • 吴江区经济开发区建设工程网站网站开发定制宣传图片
  • 网站管理一般要做什么设计制作生态瓶教学反思
  • 许昌市网站开发网站开发的ie兼容做到9
  • 做网站敲代码的图片电子商务是什么意思
  • 商丘市做网站查关键词排名
  • 如何宣传自己的网站网站空间被挂马
  • 如何做提升自己的网站泰安做网络推广的公司
  • 网站建设制作微商授权书自己做网站并让别人访问
  • 企业网站 三合一php做购物网站详情页的代码
  • 网站建设的流程电子商务手机端网站开发书籍
  • 新做好的网站如何做seo怎么开发自己的小程序
  • 网站集约化建设试点搜索引擎营销方法有哪些