美文网首页
Tweak创建锁屏提示简单工程

Tweak创建锁屏提示简单工程

作者: 幻想无极 | 来源:发表于2017-08-11 13:59 被阅读181次

效果:当iphone锁屏弹出一个提示

cd LockScreenTest
export THEOS=/Users/tqh/theos
/Users/tqh/theos/bin/nic.pl
 11

工程目录

0BEEF9ED-5EEF-4F54-ADD0-408FDDA9A5EE.png

Makefile文件

ARCHS = armv7 armv7s arm64
SDKVERSION = 10.3
TARGET = iPhone:clang:10.3:7.0
include $(THEOS)/makefiles/common.mk

TWEAK_NAME = Alert
Alert_FILES = Tweak.xm

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::
    install.exec "killall -9 SpringBoard"

Tweak.xm文件

找到对应的类文件SBLockScreenManager.h其中有方法

- (void)lockUIFromSource:(NSUInteger)source withOptions:(NSDictionary *)options

代码实现


%hook SBLockScreenManager

- (void)lockUIFromSource:(NSUInteger)source withOptions:(NSDictionary *)options{
    %orig;
    
    UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"这是个锁屏测试" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    
    [alertView show];
}

%end

常用Logos语法简介

  • %hook 指定需要hook的类名,以%end结尾
  • %log 用来打印log的,将信息输入到syslog中,如%log((NSString *)@"ZeluLi")
  • %orig 执行被hook函数的原始代码,类似于super.method功能
  • %group 该指令用于%hook的分组,%group后边跟的是组名,%group也是必须以%end结尾,其中可以包含多个%hook
    %init 该指令用来初始化某个%group,一个group只有被初始化后才可生效,init必须在hook中进行执行。
  • %ctor tweak的构造器,用来初始化,如果不显式定义,Theos就会自动生成一个%ctor,并在其中调用%init(_ungrouped). 如:%ctor { %init(_ungrouped)}
  • %new 该指令用来给现有的class添加一个新的函数。与Runtime中的class_addMethod相同。
  • %c 该指令用来获取一个类的名称,类似于objc_getClass。
  • 更多:http://iphonedevwiki.net/index.php/Logos

control

control文件中存储的内容记录了deb包管理系统所需的基本信息,会被打包进deb包里。下方就是control中内容,其中存储的就是一些包名、工程名、版本、作者等等,与打包安装后在Cydia中看到的信息相同。
工程demo:
https://github.com/tqhnet/Tweak-Alert
参考链接:
http://security.ios-wiki.com/issue-3-6/
http://www.cnblogs.com/ludashi/p/5714095.html

相关文章

  • Tweak创建锁屏提示简单工程

    效果:当iphone锁屏弹出一个提示 工程目录 Makefile文件 Tweak.xm文件 找到对应的类文件SBL...

  • 创建第一个钩子程序

    什么是tweak(钩子)程序 创建第一个钩子程序 创建工程选择tweak输入tweak工程名输入deb包的名称(B...

  • 8. 第一个逆向程序

    创建tweak工程 工程文件结构 Makefile tweak文件 “xm”中的“x”代表这个文件支持Logos语...

  • 创建第一个逆向工程 (tweak)

    使用tweak创建工程➜ tweak /opt/theos/bin/nic.plNIC 2.0 - New In...

  • Cydia deb

    打包deb 创建一个Tweak工程(这里省略,可以参见IOS插件开发) 进入Tweak工程目录(假设该目录在Mac...

  • Logos 基本使用

    前言 Theos创建tweak工程,默认生成的源文件是tweak.xm,而Logos即是其所用的语法 本文直接使用...

  • iOS逆向之Logos语法介绍

    上一篇文章: iOS逆向工具之Tweak工程介绍 上一篇文章,我们介绍tweak工程,简单实用了Logos语法逆向...

  • ios mdm 资料总结(命令篇)

    (1)锁屏命令RequestType DeviceLock效果描述:(1)无任何弹窗提示(2)直接锁屏 (2)安...

  • iOS逆向课程笔记(六)

    8.第一个逆向程序 创建tweak工程➜ iOS /opt/theos/bin/nic.pl NIC 2.0 -...

  • iOS逆向记录(三)

    8.第一个逆向程序 创建tweak工程➜ iOS /opt/theos/bin/nic.pl NIC 2.0 -...

网友评论

      本文标题:Tweak创建锁屏提示简单工程

      本文链接:https://www.haomeiwen.com/subject/etylrxtx.html