GithubHelp home page GithubHelp logo

lateautumn4lin / headwolf Goto Github PK

View Code? Open in Web Editor NEW
218.0 4.0 31.0 760 KB

Scaffolding for agile development based on Xposed and Sekiro/基于Xposed和Sekiro搭建的敏捷开发的脚手架:gift:献给懒汉们的小礼物:kissing_heart:只需四步!部署完一个Hook项目!👋👋新版本只需两步!!!

Java 100.00%
sekiro xposed hook

headwolf's Introduction

Logo

Welcome to headwolf 👋

Version Documentation

Scaffolding for agile development based on Xposed and Sekiro (基于Xposed和Sekiro搭建的敏捷开发的脚手架)

借鉴于@virjar大佬Sekiro框架,感谢大佬分享:ok_woman:

暂无

Demo

暂无

Features introduction

  1. No restart debugging(免重启调试)
  2. Configure the framework by the configuration file(由配置文件配置框架)
  3. High concurrency design(高并发设计)
  4. One-click automatic registration(可选功能:一键自动注册)

Structure introduction

公共类

  • commons

    统一日志类

    • Logger

    响应线程Task类

    • Response

入口类

  • entry

    Hook第一层入口(包括免重启等功能)

    • BaseEntry

    Hook逻辑入口,由第一层入口加载,包含具体的Hook逻辑

    • RealEntry

事件处理类

  • handlers

    基础处理类

    • BaseHandler

    测试类

    • KuaishouHandler
    • 其他

初始化管理类

  • initialization

    基础初始化类

    • BaseInit

    注册类,管理与Sekiro服务端通信

    • Register

工具类

  • utils

    类查询助手

    • ClassesReaderAssistant

    通信助手

    • CommunicationAssistant

    算法助手

    • AlgorithmAssistant

    配置文件助手

    • PropertiesAssistant

    XSharedPreferences类助手

    • PreferenceAssistant
  • Config

Description

相关图示说明

Install

step1: git clone https://github.com/lateautumn4lin/headwolf
step2: import project into android studio
step3: run the test project E.g kuaishou

Usage

已实现自动化,省去该步骤 step1: 在源码中加入hook app的包名,由于技术lj,没有能够实现自动加载配置文件、后续实现

路径:com.lateautumn4lin.headwolf.entry.BaseEntry

step1

step2: 在配置文件中配置相应hook项目的信息,包括包名和主页activity,以便于后续打开app时hook到主页activity向sekiro服务端注册

路径:assets.config

step2

step3: 开发对应hook app的handlers,参考现有的快手的handler模块

路径:com.lateautumn4lin.headwolf.handlers下新建

step3

已实现自动化,省去该步骤 step4: 在Config文件中预先添加handler的实例,没有实现动态添加,后续补充

路径:com.lateautumn4lin.headwolf.Config

step4

案例演示: 看看实际演示效果!

  • group

也就是Config配置文件中group_pdd/group_kuaishou这两个值,当然你也可以自定义,group_xxxxx开头的就行

  • action

对应的是每个handler的action获取方法

  • name

这个就是在handler方法中指定的query参数了,当然也可以放在post请求的body中

案例演示

Run tests

案例测试: 参考快手的项目

参考源码中快手和pdd项目的Hook

并发测试: 采用C:50*1000(总请求) M:1000(并发请求)的方案

Jmeter并发测试

Author

👤 lateautumn4lin

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator

headwolf's People

Contributors

tcc0lin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

headwolf's Issues

自动化建议

大佬,在你项目中有几处都是要自己主动去填写包名这些的,可以做成自动化的吗?要不然还是挺麻烦的,有时候都不知道改哪里

可以给一个完整的hook例子吗

import com.lateautumn4lin.headwolf.models.xxx.Entry
Class<?> MainActivity = XposedHelpers.findClass("com.xx.xxx.MainActivity", Entry.classLoader)
这样写会报错,请问下应该怎么使用classLoader

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.