关于ja3指纹处理
Posted 加载时间中.....
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ja3指纹处理相关的知识,希望对你有一定的参考价值。
目标网站:aHR0cHM6Ly93d3cuaWR4LmNvLmlkL3ByaW1hcnkvTGlzdGVkQ29tcGFueS9HZXRDb21wYW55UHJvZmlsZXM/ZW1pdGVuVHlwZT1zbyZzdGFydD0wJmxlbmd0aD05OTk5
使用工具requests-go :git地址https://github.com/wangluozhe/requests-go
使用方法,直接下载开源包
# _*_ coding: utf-8 _*_
# @Time:2023/5/30 5:36 下午
# @Author:YwY(慕白)
# @File:run.py
import requests_go
url = 目标网站
headers =
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"
tls = requests_go.tls_config.TLSConfig()
tls.ja3 = "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,16-18-5-27-0-13-11-43-45-35-51-23-10-65281-17513-21,29-23-24,0"
# tls.http2_settings.connection_flow = 15663105
response = requests_go.get(url=url, headers=headers, tls_config=tls)
print(response.text)
iOS 关于TouchID指纹解锁的实现
一直想玩玩指纹解锁,近期时间比较闲,就研究了一下这个指纹解锁。这个功能实现起来还是很简单的,虽然看起来比较高大上,但是对于开发来说,越是高大上的东西一般都有封装好的,我们只需要调用就可以实现相当秀的功能。
废话少说,直接贴教程。
苹果公司推出的指纹识别,提供的功能很少,只要注意这两个功能即可(验证是否支持指纹以及指纹是否正确)。
第一步:导入解锁必须的头文件
#import <LocalAuthentication/LocalAuthentication.h>
第二步:(这一步主要是了解使用的方法,可以直接跳过看第三步的代码)
这个方法是判断设备是否支持TouchID的。
1
2
|
- ( BOOL )canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *) error __attribute__ ((swift_error(none))); |
这个是用来验证TouchID的,会有弹出框出来。
1
2
3
|
- ( void )evaluatePolicy:(LAPolicy)policy localizedReason:(NSString *)localizedReason reply:( void (^)( BOOL success, NSError * __nullable error))reply; |
LAContext对象,这个主要设置的属性是localizedFallbackTitle。这个是用于设置左边的按钮的名称,默认是Enter Password.当你设置为@“”时会隐藏。还可以设置localizedReason这个属性,这是用于设置提示语,表示为什么要使用Touch ID。
第三步:(整体代码)
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //初始化上下文对象 LAContext* context = [[LAContext alloc] init]; //这个设置的使用密码的字体,当text=@""时,按钮将被隐藏
context.localizedFallbackTitle=@"输入密码解锁";
//这个设置的取消按钮的内容 context.localizedCancelTitle=@"取消"; //错误对象 NSError* error = nil; NSString* result = @"需要验证您的touch ID"; //首先使用canEvaluatePolicy 判断设备支持状态 if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) { NSLog(@"支持指纹识别"); [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:result reply:^(BOOL success, NSError * _Nullable error) { if (success) { NSLog(@"验证成功 刷新主界面"); }else{ NSLog(@"%@",error.localizedDescription); switch (error.code) { case LAErrorSystemCancel: { NSLog(@"系统取消授权,如其他APP切入"); break; } case LAErrorUserCancel: { NSLog(@"用户取消验证Touch ID"); break; } case LAErrorAuthenticationFailed: { NSLog(@"授权失败"); break; } case LAErrorPasscodeNotSet: { NSLog(@"系统未设置密码"); break; } case LAErrorTouchIDNotAvailable: { NSLog(@"设备Touch ID不可用,例如未打开"); break; } case LAErrorTouchIDNotEnrolled: { NSLog(@"设备Touch ID不可用,用户未录入"); break; } case LAErrorUserFallback: { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ NSLog(@"用户选择输入密码,切换主线程处理"); }]; break; } default: { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ NSLog(@"其他情况,切换主线程处理"); }]; break; } } } }]; }else{ NSLog(@"不支持指纹识别"); switch (error.code) { case LAErrorTouchIDNotEnrolled: { NSLog(@"TouchID is not enrolled"); break; } case LAErrorPasscodeNotSet: { NSLog(@"A passcode has not been set"); break; } default: { NSLog(@"TouchID not available"); break; } } NSLog(@"%@",error.localizedDescription); } }
补充:
1.touch ID 在验证连续错误三次的时候,会停止touch ID的使用,需要输入手机的密码以解锁。这个要如何实现呢?这个是要通过一个枚举修改的。
第一个枚举LAPolicyDeviceOwnerAuthenticationWithBiometrics就是说,用的是手指指纹去验证的;NS_ENUM_AVAILABLE(NA, 8_0)
iOS8 可用
第二个枚举LAPolicyDeviceOwnerAuthentication少了WithBiometrics则是使用TouchID或者密码验证,默认是错误两次指纹或者锁定后,弹出输入密码界面;NS_ENUM_AVAILABLE(10_11, 9_0)
iOS 9可用
[context evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:result reply:^(BOOL success, NSError * _Nullable error) { }
2.在使用的过程中,在block回调中使用了LCProgressHUD,但是界面出现了卡死的现象,通过视图层级下,发现是由于LCProgressHUD的界面没有清除,导致整个界面被它覆盖,形成卡死假象。这是别人遇到的问题,Mark一下,防止以后出错。
3.feedback按钮显示
- 默认第一次识别只有取消按钮
- 错误一次之后,会显示 feedBack 按钮
- 如果不想显示 feedback 按钮;可以设置
feedBackTitle = @""
4.CancelTitle按钮显示
该属性, iOS 10 才可以进行设置,iOS 以前是不可以进行设置的
参考链接:1.http://www.jianshu.com/p/0690a96ad5f6
2.http://blog.csdn.net/zzzzzdddddxxxxx/article/details/53513909
3.http://blog.csdn.net/ZzzzzzXJ/article/details/43989235
附件Demo:其中包含我的小demo和一个封装好的类touchID.zip
以上是关于关于ja3指纹处理的主要内容,如果未能解决你的问题,请参考以下文章