当前位置: 首页 > 软件库 > 手机/移动开发 > >

whale

Hook Framework for Android/IOS/Linux/MacOS
授权协议 Apache-2.0 License
开发语言 Java
所属分类 手机/移动开发
软件类型 开源软件
地区 不详
投 递 者 经景辉
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Whale

logo

Chinese Version

Overview

Whale is a cross-platform Hook Framework, allowed to run Android、IOS、Linux、MacOS.Whale support both ARM/THUMB, ARM64, X86, X86_64 (AMD64), This covers almost all the major devices available today.

Feature

Android

  • Xposed-Style Method Hook
  • Modify the inheritance relationship between classes at runtime
  • Modifies the class to which the object belongs at runtime
  • bypass Hidden API Policy

Darwin/Linux Platforms

  • Internal symbol resolver
  • Native Hook

IOS Restrictions

InlineHook on IOS is only usable in debug compile mode on non-jailbreak devices.Release compilation mode will not work properly.

To solve this problem,Whale will provide a new core named Binary Static Inline Hook.

Binary Static Inline Hook will open source in the near future.

What can you do with it?

  • Turn on the god mode of an app
  • The act of monitoring or tampering with app
  • Instant hotfix
  • SandBox
  • Inject to system and instead of Xposed

Compatibility

  • Android 5.0.0
  • Android 5.1.1
  • Android 6.0
  • Android 6.0.1
  • Android 7.1.2
  • Android 8.1.0
  • Android 9.0.0
  • IOS 11.3
  • IOS 12.0
  • MacOS mojave (10.14)
  • (Not in the list means untested

InlineHook

For pcrel instruction, Whale will convert it to pc-independent instruction,If the Hook procedure have not convert instructions, please feedback to issue.

About Jit

Whale has a built-in Jit Engine, When you have more advanced Hook requirements, you can directly generate executable instructions in memory through the Jit.There is no longer the need to generate ugly hard code through tools as before.

Compile

We have pre-built binary versions of Android & IOS. You can find them in the built directory.

Whale uses CMake to build projects, so you need to install CMake on your system.

Android

  1. If you need to use Java Hook please copy java folder to your project.

  2. Direct use of binary,You just copy the files under built/Android to src/main/jniLibs in your project.

  3. If you need to compile the source code, specify CMakeLists.txt in build.gradle:

externalNativeBuild {
  cmake {
      path "your/whale/path/CMakeLists.txt"
  }
}

IOS

cd toolchain

cmake .. \
-DCMAKE_TOOLCHAIN_FILE=ios.toolchain.cmake \
-DIOS_PLATFORM=OS64 \
-DPLATFORM=IOS \
-DIOS_ARCH=arm64 \
-DENABLE_ARC=0 \
-DENABLE_BITCODE=0 \
-DENABLE_VISIBILITY=0 \
-DIOS_DEPLOYMENT_TARGET=9.3 \
-DSHARED=ON \
-DCMAKE_BUILD_TYPE=Release

make -j4

Ohter platforms

cmake .
make -j4

Technogy communication

GOTO => Discord

Email: imlody@foxmail.com

  • 本文是whale的基本介绍,下一篇将介绍实战demo   项目地址:https://github.com/asLody/whale 以下内容来自whale项目README的介绍 一、概述 Whale是一个跨平台的Hook Framework,同时支持Android、IOS、Linux、MacOS。 Whale 支持ARM/THUMB、ARM64、X86、X86_64 (AMD64),这几乎覆盖了目

  • whale帷幄数字化营销云 营销自动化平台 营销自动化的好处 数据并没有撒谎:自动化可以帮助企业实现更高的营销投资回报率和整体增长。更具体地说,营销自动化如何使您的业务受益?让我们从潜在客户开发开始。 产生更好的潜在客户 潜在客户开发是任何业务增长中极其重要的一步。将市场营销和销售之间的许多步骤自动化,可以让您的团队有更多的时间专注于整体战略和培养真正有希望的潜在客户。这意味着更多的潜在客户和更多

  • CRM系统实施-通过自动化提高绩效!   客户关系管理( CRM )软件用于联系、帮助和支持客户、帮助保持与潜在客户的联系和联系、帮助构建您的销售团队及其目标和项目等等。但是,为了从这项令人兴奋的技术中获益,您必须知道如何实施CRM工具,那么您是如何做到的呢?继续阅读,您会发现我们所有的实施技巧和窍门,以及CRM软件提供的机会。  CRM系统应该在企业中扮演什么角色?   客户数据库   用于销售

  • whale 帷幄营销云 「帷幄营销云」为品牌客户提供一站式的数字营销运营解决方案。它以行业最佳实践为基础,整合内容创意、营销玩法、人群智选、全域投放、营销 ROI 分析于一体;在满足市场营销人员对平台易用性要求的同时,还满足了品牌IT部门在灵活性上的要求,同时还能够解放相关运营人员对研发和数据部门的依赖。「帷幄营销云」以 Data 和 AI 提升品牌营销效率及 ROI,让品牌营销适应消费者旅程的动

  • 1.龙书(Dragon book) 书名是Compilers: Principles,Techniques,and Tools 作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 国内所有的编译原理教材都是抄的它的,而且只是抄了最简单的前端的一些内容。 龙书中文版第一版 龙书英文版第二版 2.鲸书(Whale book) 书名是:Advanced Compil

  • CRM是客户关系管理的英文缩写,英文全称是Customer Relationship Management,是美国的Gartner Group咨询公司首先提出的,客户关系管理在借助互联网和电子商务得到了快速发展,主要有包括两个方面 1、CRM为企业建立应用系统,该系统把企业的业务流程和客户信息资源进行整合,实现了内部的资源共享,为客户提供个性化的服务,从而提升客户价值,提高客户满意度和忠诚度,增加

  • 某新锐服装品牌的系列产品在电商平台直播有着不错的交易额,近期准备在某短视频平台开启直播带货以提升销售量,并在网页搜索、公众号、社交平台、其他(短)视频平台等多渠道投放了直播引流宣传视频,不仅购买高价露出位置,还做了互动引导,花费了较高的投放成本。品牌本以为能收获高关注,但是在线人数却远低于预期,直播运营负责人想要了解引流内容数据进行分析以优化引流方案,却苦于难以细化数据…… 无论私域还是公域,一股

  • Whale帷幄数字化营销云 营销自动化平台 那究竟什么是CRM?其具体作用是什么呢? 每个人理解可能都不一样,有的说CRM就是营销,有的说CRM就是客户分类,有的说CRM就是销售过程管理等,其实都对,但都不全面。 CRM其实是经过野蛮生长后,逐渐形成的一种理念——企业利用信息技术,帮助企业识别、发展、服务客户,提高客户满意度和忠诚度,从而提升企业收入。 CRM理念中我概括下来有一个中心、两个核心点

 相关资料
  • 问题内容: 我正在开发一个Web应用程序,该应用程序显然在iOS设备中存在问题。问题是我不拥有iOS设备,而是在Linux Ubuntu中进行开发。我正在寻找一种在Linux(尤其是浏览器)中仿真/模拟此OS的方法,但是还没有找到任何东西。 到目前为止,我发现的是iOS SDK的Simulator,但这是针对Mac的。还有一些Windows模拟器。有人做过吗? 问题答案: 我能想到的唯一解决方案是

  • 我想在linux jenkins中配置IOS项目作业。在没有OSX PC的情况下,是否可以在Linux Jenkins中配置IOS作业。

  • 问题内容: 我已经在Ubuntu中安装了Jenkins,而当我尝试在Jenkins中构建iOS应用时,会发生以下错误: 严重:找不到具有配置的路径/ usr / bin / xcodebuild的xcodebuild。 问题答案: 该工具是Apple Xcode SDK的一部分-仅可在Mac OS X上下载。 您不能简单地使用官方的iOS工具在未运行OS X的计算机上进行构建。 这意味着,如果您有

  • 问题内容: 我认为这将是提出这个问题的适当社区。 当苹果在夏天召开开发者大会时,我知道他们将使Swift开源。 我的印象是Xcode不会移植到Linux,但我理解某些实体会创建一个模仿Xcode的开发程序。 因此,我想知道这种情况下的新发展。 是否有人对这个主题有更多的最新知识或对此有任何经验? 问题答案: 这里有一个误会。 Swift 的编程语言 是开源的。 这并不意味着Linux上可以使用iO

  • USB设备配置 Linux用户需要明确地允许JTAG编程适配器可以访问USB总线。 Note 对于Archlinux,用uucp替换plugdev,然后执行下面命令。 在sudo模式下执行ls命令以确保之后的命令可以成功执行: sudo ls 暂时获得sudo权限,执行以下命令: cat > $HOME/rule.tmp <<_EOF # All 3D Robotics (includes PX4

  • ios

    Native.js for iOS封装一条通过JS语法直接调用Native Objective-C接口通道,通过plus.ios可调用几乎所有的系统API。 方法: importClass: 导入Objective-C类对象 newObject: 创建实例对象 deleteObject: 销毁实例对象 invoke: 调用对象(类对象/示例对象)的方法 implements: 实现代理的方法 cu

  • iOS

    iOS 是由苹果公司为 iPhone 开发的操作系统。它主要是给iPhone、iPod touch、iPad 以及 Apple TV 使用。就像其基于的 Mac OS X 操作系统一样,它也是以 Darwin 为基础的。原本這個系统名为 iPhone OS,直到 2010 年 6 月 7 日 WWDC 大會上宣布改名为 iOS。 iOS 的系统架构分为四個层次:核心操作系统层(the Core O

  • 问题内容: 我认为这将是提出这个问题的适当社区。 当苹果在夏天召开开发者大会时,我知道他们将使Swift开源。 我的印象是Xcode不会移植到Linux,但我理解某些实体会创建一个模仿Xcode的开发程序。 因此,我想知道这种情况下的新发展。 是否有人对此主题有任何最新的了解或对此有任何经验? 问题答案: 这里有一个误会。 Swift 的编程语言 是开源的。 这并不意味着Linux上可以使用iOS