<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[测试开发架构师]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/afangxin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; afangxin]]></copyright><item><title><![CDATA[MetaGPT学习笔记 - task1&task2]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/135581712</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/135581712</guid><author>afangxin</author><pubDate>Sun, 14 Jan 2024 12:31:41 +0800</pubDate><description><![CDATA[章节：task1&task21.github地址：github.com/geekan/MetaGPT。]]></description><category></category></item><item><title><![CDATA[hook其他调试技巧]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134859491</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134859491</guid><author>afangxin</author><pubDate>Fri, 08 Dec 2023 16:47:19 +0800</pubDate><description><![CDATA[通过 android.util.Log 输出当前线程的堆栈跟踪信息。可以在需要的地方引用这个方法，就可以捕获到堆栈信息，然后根据堆栈从上往下去查找源码。这个方法在下面的几个hook方法里面都可以直接调用。app提交数据一般都存放在集合里面只要用了HashMap方法的话，就都会被hook到。]]></description><category></category></item><item><title><![CDATA[frida - 5.hook实战]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134769380</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134769380</guid><author>afangxin</author><pubDate>Sun, 03 Dec 2023 19:54:37 +0800</pubDate><description><![CDATA[实战一下]]></description><category></category></item><item><title><![CDATA[frida - 4.hook结合python调用]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134769170</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134769170</guid><author>afangxin</author><pubDate>Sun, 03 Dec 2023 19:52:53 +0800</pubDate><description><![CDATA[在USB模式下，您可以通过Frida与正在运行的应用程序进行交互，并且可以在不影响应用程序状态的情 况下对其进行动态分析、修改和调试。因此，使用USB模式进行Frida注入时，不会触发目标应用程序的重启行为。同时，在使用Frida注入 时，需要确保目标设备已经安装了Frida，并且Frida Server已经运行。Attach 模式:在目标设备上附加到已经运行的应用程序进程，并在该进程中运行Frida脚本。Spawn 模式:在目标设备上启动一个新的应用程序进程，并在该进程中运行Frida脚本。]]></description><category></category></item><item><title><![CDATA[frida - 3.hook类]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134768497</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134768497</guid><author>afangxin</author><pubDate>Sun, 03 Dec 2023 19:35:11 +0800</pubDate><description><![CDATA[hook内部类 可以使用InnerClass.$init 来进行查找。如果有参数是Arrays 处理的，可以直接hook这个数组去看参数。要hook这个类、需要在类和内部类名之间加上$字符 采用这个分割。获取和修改类的字段、 hook 内部类、枚举所有加载的类。首先枚举类的所有方法和hook类的所有重载方法写出来。]]></description><category></category></item><item><title><![CDATA[frida - 2.hook方法]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134670797</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134670797</guid><author>afangxin</author><pubDate>Tue, 28 Nov 2023 17:02:02 +0800</pubDate><description><![CDATA[下面是frida客户端命令行的参数帮助。]]></description><category></category></item><item><title><![CDATA[frida - 1.环境搭建]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134598738</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134598738</guid><author>afangxin</author><pubDate>Fri, 24 Nov 2023 15:24:36 +0800</pubDate><description><![CDATA[2. Hook:通过修改目标应用程序的内存中的方法实现 Hook，即在方法的执行前后插入自定义的逻 辑，从而能够监听、修改或替换方法的行为。而C/S架构中，例如应用场景2中，一般我们需要认证的证书都在本地应用程序中，需要我们自己对应用程序进 行反编译，然后慢慢找需要hook的地方。通俗来讲就是把一段代码动态的插入程序中，但最终不会改变原有的程序，但我们通过动态的插入，可以快速简单的分析出我们想要的那段源代码。我的理解是，无论是什么进程，还是函数，都能把它勾过来，然后“加工”一番， 再扔出去(执行)。]]></description><category></category></item><item><title><![CDATA[JAVA爬虫2 - Jsoup解析、对接MySQL、多线程爬虫、json库使用]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134578987</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134578987</guid><author>afangxin</author><pubDate>Thu, 23 Nov 2023 16:03:41 +0800</pubDate><description><![CDATA[可以使用 Element.attr() 方法获取或设置单个属性 的值，或使用 Element.attributes() 方法获取所有属性。它提供了一些方法，如 Document.select() 和Elements.select() ，可用于选择HTML元素。它是一个无序的键值对集合，用花括号({})包围，并且每个键值对由冒号(:)分隔。可以使用 Element.html() 、 Element.text() 、属性(Attribute)API:用于获取、设置和移除HTML元素的属性。]]></description><category></category></item><item><title><![CDATA[JAVA爬虫1 - HttpClient的使用]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134573164</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134573164</guid><author>afangxin</author><pubDate>Thu, 23 Nov 2023 15:30:12 +0800</pubDate><description><![CDATA[HttpClient 是 Apache Jakarta Common 下的子项目，用来提供高效的、最新的、功能丰富的支持 HTTP协议的客户端编程工具包，并且它支持HTTP协议最新的版本和建议。} :如果转换得到的十六进制字符串的 长度为 1，也就是只有一位，那么在该字符串前面加上一个 '0' ，保证每个字节的十六进制表示都 是两位。在这里，首先创建了一个HttpPost实例，指定了要发送 POST 请求的目标 URL，这里使用了"htt p://httpbin.org/post"作为示例目标地址。]]></description><category></category></item><item><title><![CDATA[安卓开发之HTTP API服务接口设计（基于okhttp3请求）]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134570329</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134570329</guid><author>afangxin</author><pubDate>Thu, 23 Nov 2023 11:22:02 +0800</pubDate><description><![CDATA[以上就是一个简单的 OkHttp3 请求示例，在实际开发中，你可以根据需要设置更多的请求参数，并使 用其他方法(如 POST、PUT 等)发送不同类型的请求。它支持常见的 HTTP 方法( GET、POST、PUT、DELETE 等)和请求参数的设置，可以轻松构建出各种类型的请求。强大的拦截器: OkHttp3 提供了拦截器( Interceptor )机制，可以在发送请求和接收响应的过 程中进行自定义的处理操作。文件上传和下载: OkHttp3 提供了方便的 API ，用于实现文件的上传和下载功能。]]></description><category></category></item><item><title><![CDATA[Android开发工具]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134398952</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134398952</guid><author>afangxin</author><pubDate>Tue, 14 Nov 2023 16:02:18 +0800</pubDate><description><![CDATA[Android Studio 提供了丰富的开发工具和集成的 Android SDK，能够更好地支持 Android 应用程 序的开发、构建、调试和发布。1、 AndroidManifest.xml 配置文件目录，如指明应用程序所需链接到的库的名称(除了默认的 Android 库之外)以及声明应用程序期望获得的各种权限，但 manifest 文件的主要功能仍然是向 Android 声明应用程序的组件。在 Gradle 中，一个项目由多个模块组成，每个模块都有自己的构建脚本(build.gradle)。]]></description><category></category></item><item><title><![CDATA[Android开发入门课]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134397358</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134397358</guid><author>afangxin</author><pubDate>Tue, 14 Nov 2023 14:44:25 +0800</pubDate><description><![CDATA[adb 它是一个通用命令行工具，它可以做为Android与PC端连接的一个桥梁，所以 adb 又称为 Android 调试桥，用户可以通过 adb 在电脑上对 Android 设备进行全面操作，比如安装和调试应用，操作文件的 传输等。如果不想单独安装上面第二步的工具，是可以的，无论是win还是mac，只需要安装安卓编程工具Android Studio，然后通过该工具，就会自动安装android sdk 和 platform-tools工具。如有多个模拟器，则：adb -s [ip地址:端口] shell。]]></description><category></category></item><item><title><![CDATA[Java3 - 面向对象]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134248426</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134248426</guid><author>afangxin</author><pubDate>Mon, 06 Nov 2023 16:03:14 +0800</pubDate><description><![CDATA[①定义类②编写类的成员变量③编写类的成员方法。]]></description><category></category></item><item><title><![CDATA[Java2 - 数据结构]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134247931</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134247931</guid><author>afangxin</author><pubDate>Mon, 06 Nov 2023 15:53:08 +0800</pubDate><description><![CDATA[迭代器是Java中常用的遍历集合的方式，它提供了一种统一的、可移植的遍历接口，并且支持在遍历过程中删除元素，是Java集合框架中重要的一部分。键值对的存储是无序的，在大部分情况下是最常用的Map实现类。需要注意的是，在使用迭代器遍历集合时，如果在遍历过程中修改了集合的结构（例如添加或删除元素），会抛出。接口的一个实现类，它基于红黑树（Red-Black Tree）实现，可以保持键的有序性。，常见实现这个接口的有两个类，用于实现不重复的多元素集合。中接口，是用来约束实现他的类，约束他里面的成员必须有。]]></description><category></category></item><item><title><![CDATA[课程学习前言]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134184463</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134184463</guid><author>afangxin</author><pubDate>Thu, 02 Nov 2023 16:18:10 +0800</pubDate><description><![CDATA[真机的话，可以使用自己的手机，这边推荐使用google原生系统的，可以淘宝搜索pixel4或3。说白了，就是门锁紧了，钥匙藏在门口某个地方，也许就是地垫下面。推荐pixel4，让商家给你安装安卓10系统，并且root。有完整的信息，而这些信息、代码经过各种加密，还是放在。学习设备：电脑都可以、手机一台/模拟器前期可以。手机可以使用模拟器，有条件的可以使用真机。模拟器的缺点就是对一些app的兼容性不好。抓包分析可以看到有签名有加固，毕竟需要。去访问服务、获取数据，都需要。]]></description><category></category></item><item><title><![CDATA[Java1 - 初识java]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134183336</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134183336</guid><author>afangxin</author><pubDate>Thu, 02 Nov 2023 15:47:09 +0800</pubDate><description><![CDATA[python解释型语言a = '爬虫开发'print(a)Java编译型语言String name = "爬虫开发";方法名说明下面将逐步介绍如何保存、编译以及运行这个程序：执行代码，需要先编译编译完成后 会得到， 运行代码java Hello执行流程.idea目录：记录了的配置目录，包含项目的配置信息、工程设置、构建配置等。它是用来存储项目的一些特定设置，比如运行和调试配置、代码检查规则等out目录：是编译输出目录，包含编译后的类文件、资源文件以及其他生成的文件。]]></description><category></category></item><item><title><![CDATA[安卓爬虫逆向课程大纲]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/134165406</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/134165406</guid><author>afangxin</author><pubDate>Wed, 01 Nov 2023 16:59:57 +0800</pubDate><description><![CDATA[10.sekiro和smail。7.安卓基础和网络请求。5.frida-进阶。]]></description><category></category></item><item><title><![CDATA[路由：Vue-Router-1]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/115559101</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/115559101</guid><author>afangxin</author><pubDate>Tue, 20 Apr 2021 19:57:19 +0800</pubDate><description><![CDATA[路由：Vue-Router-1

一、动态路由

1.1、动态路由方式一：路径

动态路由示例：如下图在mine后面加:name/:sex来传递动态路由，?后面的不影响路径导向


获取路径上面的动态参数：可以通过路由或路由器来获取，下面我们来通过示例来打印下
路由通过this.route，路由器通过this.$router，我们一般使用路由来获取数据





通过路由对象获取的路径参数


1.2、动态路由方式二：属性

通过props拿到动态参数


把props改成true，就可以通过路径或者pro]]></description><category></category></item><item><title><![CDATA[路由：Vue-Router]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/115530588</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/115530588</guid><author>afangxin</author><pubDate>Thu, 08 Apr 2021 21:58:29 +0800</pubDate><description><![CDATA[路由：Vue-Router

一、概念

Vue Router是Vue.js官方的路由管理器，他和Vue.js的核心深度集成，让构建单页面应用变得更加轻松





二、示例

2.1、基本使用

直接在示例中来了解路由的使用吧
创建一个新的工程vue create xx，会有一个Router选项，如果选择了，就会自动化方式集成到项目中了，为了学习，我们不选择，手动集成进来



进入工程目录，安装路由：npm i vue-router --save


启动工程：vue run serve


配置路由：]]></description><category></category></item><item><title><![CDATA[todolist项目改造]]></title><link>https://blog.youkuaiyun.com/afangxin/article/details/115521527</link><guid>https://blog.youkuaiyun.com/afangxin/article/details/115521527</guid><author>afangxin</author><pubDate>Thu, 08 Apr 2021 19:43:34 +0800</pubDate><description><![CDATA[todolist项目改造

数据持久化，我们网络还没有学，这里使用本地持久化

持久化，就是对数据的保持，数据都在App.vue里面，我们统一在这里，一般是封装一些工具类

一、本地持久化

这里使用深度监视来进行本地持久化的处理

一般工具类都放在一个文件中，如下图，这个工具类需要对数据进行读和存，定义好之后，在App.vue里面引入就可以使用了


思考存的工具类
存的动作是在所有的todos改变时都要触发，那就只要监视todos值值得改变就可以了

而且这里必须要深度监视：这里监视的内容是数组，里面又]]></description><category></category></item></channel></rss>