飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3837|回复: 9

[iOS] 模拟home点击,锁屏(黑屏)模式指纹解锁第一步

[复制链接]
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2015-6-16 15:47:12 | 显示全部楼层 |阅读模式
    发现一个插件非常不错,在锁屏模式直接用指纹解锁,所以研究了下~~

    大家知道在锁屏模式,指纹识别监听事件是无效的,所以变通一下:
    1.先模拟按一次home让屏幕点亮
    2.调用原来的指纹解锁功能

    这里照顾没有iPhone5以上带指纹设备的朋友测试,我采用hook音量按钮的方法来做实验,实际功能和音量没毛关系,望悉知!

    1. /*
    2. 代码模拟点击home键,黑屏模式指纹解锁第一步,嘿嘿!!

    3. 这个功能不好测试,所以我hook了音量调整按钮来验证

    4. 测试方法:
    5. 先将设备黑屏,再按音量键,屏幕亮了说明home模拟成功!!

    6. https://www.chinapyg.com
    7. http://www.dllhook.com

    8. code by piaoyun
    9. */

    10. #include <mach/mach_time.h>
    11. // 记住把 IOKit.framework 从iOS设备中拖出来,然后导入
    12. #include <UIKit/UIkit.h>

    13. extern "C"{
    14.     typedef uint32_t IOHIDEventOptionBits;
    15.     typedef struct __IOHIDEvent *IOHIDEventRef;
    16.    
    17.     IOHIDEventRef IOHIDEventCreateKeyboardEvent(CFAllocatorRef allocator, AbsoluteTime timeStamp, uint16_t usagePage, uint16_t usage, Boolean down, IOHIDEventOptionBits flags);
    18. }

    19. @interface SpringBoard: UIApplication

    20. - (void)_menuButtonDown:(struct __IOHIDEvent *)arg1;
    21. - (void)_menuButtonUp:(struct __IOHIDEvent *)arg1;

    22. @end


    23. %hook SpringBoard

    24. // 利用音量按钮来测试
    25. - (_Bool)_volumeChanged:(struct __IOHIDEvent *)arg1
    26. {
    27.     NSLog(@"[++++]_volumeChanged");
    28.     %log;
    29.    
    30.     SpringBoard *springboard = (SpringBoard *)[%c(SpringBoard) sharedApplication];
    31.     uint64_t abTime = mach_absolute_time();
    32.     IOHIDEventRef event = IOHIDEventCreateKeyboardEvent(kCFAllocatorDefault, *(AbsoluteTime *)&abTime, 0xC, 0x40, YES, 0);
    33.     [springboard _menuButtonDown:event];
    34.     CFRelease(event);
    35.     event = IOHIDEventCreateKeyboardEvent(kCFAllocatorDefault, *(AbsoluteTime *)&abTime, 0xC, 0x40, YES, 0);
    36.     [springboard _menuButtonUp:event];
    37.     CFRelease(event);
    38.    
    39.     return %orig;
    40. }

    41. %end

    42. %ctor
    43. {
    44.     NSLog(@"[++++]inject SpringBoard success!!!");
    45.     %init;
    46. }
    复制代码

    看完了,是不是很简单,也是不是很蛋疼??
    其实我还有更好的方法,嘿嘿!!!




    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-17 22:44
  • 签到天数: 132 天

    [LV.7]常住居民III

    发表于 2015-6-16 17:02:35 | 显示全部楼层
    触发亮屏应该还有很多方法,按下HOME,按下电源键,数据线连接,数据线断开,新消息、新电话通知…
    老飘,你这是黑第一步啊,期待啊

    点评

    触发亮屏只需要一个-(void)undimScreen; 函数而已, 这样模拟是有原因的~ 嘿嘿,我不说~  详情 回复 发表于 2015-6-16 17:45
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2021-9-29 15:05
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2015-6-16 17:44:50 | 显示全部楼层
    关键的就两句:)

    1.     [springboard _menuButtonDown:event];
    2.     [springboard _menuButtonUp:event];
    复制代码

    点评

    你怎么调这两句? 哈哈  详情 回复 发表于 2015-6-16 17:48
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2015-6-16 17:45:14 | 显示全部楼层
    tree_fly 发表于 2015-6-16 17:02
    触发亮屏应该还有很多方法,按下HOME,按下电源键,数据线连接,数据线断开,新消息、新电话通知…
    老飘, ...

    触发亮屏只需要一个-(void)undimScreen;
    函数而已,

    这样模拟是有原因的~ 嘿嘿,我不说~

    点评

    hook音量键应该就是让代码执行可控,或许还有其他高明之处,快快发布后续内容吧,急不可耐啦  详情 回复 发表于 2015-6-16 18:27
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2015-6-16 17:48:12 | 显示全部楼层

    你怎么调这两句? 哈哈~~
    黑屏模式下,指纹监听函数是作废的~

    有兴趣可以深入研究下~

    我慢慢放出来

    点评

    iPhone5没有指纹解锁,囧,  详情 回复 发表于 2015-6-16 22:43
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-17 22:44
  • 签到天数: 132 天

    [LV.7]常住居民III

    发表于 2015-6-16 18:27:31 来自手机 | 显示全部楼层
    飘云 发表于 2015-6-16 17:45
    触发亮屏只需要一个-(void)undimScreen;
    函数而已,


    hook音量键应该就是让代码执行可控,或许还有其他高明之处,快快发布后续内容吧,急不可耐啦

    点评

    为什么你要盯着hook音量键,我说了hook音量键是为了给没有指纹功能的设备做实验的,事实和音量键没任何关系!  详情 回复 发表于 2015-6-16 18:38
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2015-6-16 18:38:31 | 显示全部楼层
    tree_fly 发表于 2015-6-16 18:27
    hook音量键应该就是让代码执行可控,或许还有其他高明之处,快快发布后续内容吧,急不可耐啦

    为什么你要盯着hook音量键,我说了hook音量键是为了给没有指纹功能的设备做实验的,事实和音量键没任何关系!

    目的很单纯:
    就是让黑屏模式不按home键 指纹起作用~顺利解码进入桌面~~

    你先自己研究下嘛,一下子讲出来有毛意思~~
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-10-29 08:08
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2015-6-16 20:30:03 | 显示全部楼层
    VirtualHome么?一直在用
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2021-9-29 15:05
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2015-6-16 22:43:34 | 显示全部楼层
    飘云 发表于 2015-6-16 17:48
    你怎么调这两句? 哈哈~~
    黑屏模式下,指纹监听函数是作废的~

    iPhone5没有指纹解锁,囧,
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表