• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asLody/whale: Hook Framework for Android/IOS/Linux/MacOS

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

asLody/whale

开源软件地址(OpenSource Url):

https://github.com/asLody/whale

开源编程语言(OpenSource Language):

C++ 87.2%

开源软件介绍(OpenSource Introduction):

Whale

logo

Chinese Version

license

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: [email protected]




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap