一、获取手机相关的参数

#import <AdSupport/AdSupport.h>#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h> NSString *idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];NSString *idfaStr = [NSString stringWithFormat:@"%@:%@\n",@"IDFA", idfa];NSString *idfv = [[[UIDevice currentDevice] identifierForVendor] UUIDString];NSString *idfvStr = [NSString stringWithFormat:@"%@:%@\n",@"IDFV", idfv];NSString *iPhoneName = [UIDevice currentDevice].name;NSString *iPhoneNameStr = [NSString stringWithFormat:@"%@:%@\n",@"设备名称", iPhoneName];NSString *appVerion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];NSString *appVerionStr = [NSString stringWithFormat:@"%@:%@\n",@"版本号", appVerion];NSString *localizedModel = [UIDevice currentDevice].localizedModel;NSString *localizedModelStr = [NSString stringWithFormat:@"%@:%@\n",@"Model", localizedModel];NSString *systemName = [UIDevice currentDevice].systemName;NSString *systemNameStr = [NSString stringWithFormat:@"%@:%@\n",@"systemName", systemName];NSString *systemVersion = [UIDevice currentDevice].systemVersion;NSString *systemVersionStr = [NSString stringWithFormat:@"%@:%@\n",@"systemVersion", systemVersion];NSString *deviceName = [NSString stringWithFormat:@"%@:%@\n",@"deviceName", [AppInfo getDeviceName]];CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];  CTCarrier *carrier = [info subscriberCellularProvider];  NSString *mCarrier = [NSString stringWithFormat:@"%@",[carrier carrierName]];NSString *mCarrierStr = [NSString stringWithFormat:@"%@:%@\n",@"运营商", mCarrier];NSString *macAddress = [NSString stringWithFormat:@"%@:%@\n",@"macAddress", [AppInfo getCurrentLocalIP]];NSString *wifiName = [NSString stringWithFormat:@"%@:%@\n",@"wifiName", [AppInfo getCurreWiFiName]];NSString *bssid = [NSString stringWithFormat:@"%@:%@\n",@"BSSID", [AppInfo getCurreBSSID]];NSString* identifierNumber = [[UIDevice currentDevice].identifierForVendor UUIDString] ;NSString *identifierNumberStr = [NSString stringWithFormat:@"%@:%@\n",@"手机序列号", identifierNumber];

二、获取手机相关的IP地址

#import "sys/utsname.h"
#import <ifaddrs.h>
#import <arpa/inet.h>
#import <SystemConfiguration/CaptiveNetwork.h>/ 获取设备型号然后手动转化为对应名称
+ (NSString *)getDeviceName
{struct utsname systemInfo;uname(&systemInfo);NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];if ([deviceString isEqualToString:@"iPhone3,1"])    return @"iPhone 4";if ([deviceString isEqualToString:@"iPhone3,2"])    return @"iPhone 4";if ([deviceString isEqualToString:@"iPhone3,3"])    return @"iPhone 4";if ([deviceString isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";if ([deviceString isEqualToString:@"iPhone5,1"])    return @"iPhone 5";if ([deviceString isEqualToString:@"iPhone5,2"])    return @"iPhone 5 (GSM+CDMA)";if ([deviceString isEqualToString:@"iPhone5,3"])    return @"iPhone 5c (GSM)";if ([deviceString isEqualToString:@"iPhone5,4"])    return @"iPhone 5c (GSM+CDMA)";if ([deviceString isEqualToString:@"iPhone6,1"])    return @"iPhone 5s (GSM)";if ([deviceString isEqualToString:@"iPhone6,2"])    return @"iPhone 5s (GSM+CDMA)";if ([deviceString isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";if ([deviceString isEqualToString:@"iPhone7,2"])    return @"iPhone 6";if ([deviceString isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";if ([deviceString isEqualToString:@"iPhone8,2"])    return @"iPhone 6s Plus";if ([deviceString isEqualToString:@"iPhone8,4"])    return @"iPhone SE";// 日行两款手机型号均为日本独占,可能使用索尼FeliCa支付方案而不是苹果支付if ([deviceString isEqualToString:@"iPhone9,1"])    return @"国行、日版、港行iPhone 7";if ([deviceString isEqualToString:@"iPhone9,2"])    return @"港行、国行iPhone 7 Plus";if ([deviceString isEqualToString:@"iPhone9,3"])    return @"美版、台版iPhone 7";if ([deviceString isEqualToString:@"iPhone9,4"])    return @"美版、台版iPhone 7 Plus";if ([deviceString isEqualToString:@"iPod1,1"])      return @"iPod Touch 1G";if ([deviceString isEqualToString:@"iPod2,1"])      return @"iPod Touch 2G";if ([deviceString isEqualToString:@"iPod3,1"])      return @"iPod Touch 3G";if ([deviceString isEqualToString:@"iPod4,1"])      return @"iPod Touch 4G";if ([deviceString isEqualToString:@"iPod5,1"])      return @"iPod Touch (5 Gen)";if ([deviceString isEqualToString:@"iPad1,1"])      return @"iPad";if ([deviceString isEqualToString:@"iPad1,2"])      return @"iPad 3G";if ([deviceString isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";if ([deviceString isEqualToString:@"iPad2,2"])      return @"iPad 2";if ([deviceString isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";if ([deviceString isEqualToString:@"iPad2,4"])      return @"iPad 2";if ([deviceString isEqualToString:@"iPad2,5"])      return @"iPad Mini (WiFi)";if ([deviceString isEqualToString:@"iPad2,6"])      return @"iPad Mini";if ([deviceString isEqualToString:@"iPad2,7"])      return @"iPad Mini (GSM+CDMA)";if ([deviceString isEqualToString:@"iPad3,1"])      return @"iPad 3 (WiFi)";if ([deviceString isEqualToString:@"iPad3,2"])      return @"iPad 3 (GSM+CDMA)";if ([deviceString isEqualToString:@"iPad3,3"])      return @"iPad 3";if ([deviceString isEqualToString:@"iPad3,4"])      return @"iPad 4 (WiFi)";if ([deviceString isEqualToString:@"iPad3,5"])      return @"iPad 4";if ([deviceString isEqualToString:@"iPad3,6"])      return @"iPad 4 (GSM+CDMA)";if ([deviceString isEqualToString:@"iPad4,1"])      return @"iPad Air (WiFi)";if ([deviceString isEqualToString:@"iPad4,2"])      return @"iPad Air (Cellular)";if ([deviceString isEqualToString:@"iPad4,4"])      return @"iPad Mini 2 (WiFi)";if ([deviceString isEqualToString:@"iPad4,5"])      return @"iPad Mini 2 (Cellular)";if ([deviceString isEqualToString:@"iPad4,6"])      return @"iPad Mini 2";if ([deviceString isEqualToString:@"iPad4,7"])      return @"iPad Mini 3";if ([deviceString isEqualToString:@"iPad4,8"])      return @"iPad Mini 3";if ([deviceString isEqualToString:@"iPad4,9"])      return @"iPad Mini 3";if ([deviceString isEqualToString:@"iPad5,1"])      return @"iPad Mini 4 (WiFi)";if ([deviceString isEqualToString:@"iPad5,2"])      return @"iPad Mini 4 (LTE)";if ([deviceString isEqualToString:@"iPad5,3"])      return @"iPad Air 2";if ([deviceString isEqualToString:@"iPad5,4"])      return @"iPad Air 2";if ([deviceString isEqualToString:@"iPad6,3"])      return @"iPad Pro 9.7";if ([deviceString isEqualToString:@"iPad6,4"])      return @"iPad Pro 9.7";if ([deviceString isEqualToString:@"iPad6,7"])      return @"iPad Pro 12.9";if ([deviceString isEqualToString:@"iPad6,8"])      return @"iPad Pro 12.9";if ([deviceString isEqualToString:@"AppleTV2,1"])      return @"Apple TV 2";if ([deviceString isEqualToString:@"AppleTV3,1"])      return @"Apple TV 3";if ([deviceString isEqualToString:@"AppleTV3,2"])      return @"Apple TV 3";if ([deviceString isEqualToString:@"AppleTV5,3"])      return @"Apple TV 4";if ([deviceString isEqualToString:@"i386"])         return @"Simulator";if ([deviceString isEqualToString:@"x86_64"])       return @"Simulator";return deviceString;
}+ (NSString*)getCurrentLocalIP
{NSString *address = nil;struct ifaddrs *interfaces = NULL;struct ifaddrs *temp_addr = NULL;int success = 0;// retrieve the current interfaces - returns 0 on successsuccess = getifaddrs(&interfaces);if (success == 0) {// Loop through linked list of interfacestemp_addr = interfaces;while(temp_addr != NULL) {if(temp_addr->ifa_addr->sa_family == AF_INET) {// Check if interface is en0 which is the wifi connection on the iPhoneif([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) {// Get NSString from C Stringaddress = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];}}temp_addr = temp_addr->ifa_next;}}// Free memoryfreeifaddrs(interfaces);return address;
}+ (NSString *)getCurreWiFiName {NSArray *ifs = CFBridgingRelease(CNCopySupportedInterfaces());NSLog(@"Supported interfaces: %@", ifs);id info = nil;for (NSString *ifnam in ifs) {info = CFBridgingRelease(CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam));NSLog(@"%@ => %@", ifnam, info);if (info && [info count]) { break; }}return [(NSDictionary*)info objectForKey:@"SSID"];
}+ (NSString *)getCurreBSSID {NSArray *ifs = CFBridgingRelease(CNCopySupportedInterfaces());NSLog(@"Supported interfaces: %@", ifs);id info = nil;for (NSString *ifnam in ifs) {info = CFBridgingRelease(CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam));NSLog(@"%@ => %@", ifnam, info);if (info && [info count]) { break; }}return [(NSDictionary*)info objectForKey:@"BSSID"];
}

iOS 逆向获取手机硬件参数相关推荐

  1. ios逆向越狱手机必备工具篇

    1.手机越狱 ps:越狱前用xcode调试手机断点一次.这样手机里就会生成以后debugServer文件. 手机版本ios12.4 https://www.abcydia.com/read-16031 ...

  2. iOS之获取手机的系统信息

    iOS的APP应用开发过程中,为了bug跟踪或者获取用户反馈,需要自动收集用户设备.系统信息.应用信息等.当然这些信息是用户的非隐私信息,是通过开发api可以获取到的.那么通过哪些api可以获取这些信 ...

  3. Android开发——跳转到应用商店以及app详情页、获取手机硬件信息、验证app是否存在

    普通跳转 Tip:该跳转可适配普通的跳转,比如跳转豌豆荚 //appPkg是你要跳转的包名//marketPkg是你使用的应用商店,如果传空,则会把你手机上的应用商店全部列出来try {if (Tex ...

  4. 【爬虫】获取手机详细参数爬虫脚本详细解析

    起始初衷 朋友工作需要手机的性能详细列表,本来以为网络上应该已经有很多相关的文件可以直接下载了,但是依旧没有找到比较满意的.这时候正好被推荐了PCOnline上的手机详细参数,突发奇想闲着没事用Pyt ...

  5. ios开发-获取手机相关信息

    今天在做客户端的时候,里面有个意见反馈功能. 调用系统带的邮件功能,发送邮件到指定邮箱. 然后我就想,应该在邮件正文部分添加手机相关内容,比如型号,版本,应用程序的版本等等,这样不仅使用者方便,开发者 ...

  6. iOS 如何获取手机型号、系统版本、电池电量

    1.手机型号:iPhone 6 NSString* phoneModel = [self iphoneType]; //方法在下面 2.手机系统版本:9.1 NSString* phoneVersio ...

  7. Android 获取手机硬件信息

    /*** 获取当前手机系统语言.** @return 返回当前系统语言.例如:当前设置的是"中文-中国",则返回"zh-CN"*/public static S ...

  8. 手机的CPU架构简述及SO兼容(Android/iOS)及手机硬件等,手机IMEI

    CPU(计算)+RAM(内存)+ROM(内置存储卡)+ GPU(图像处理等)等参数.   手机芯片制造商高通:英特尔Intel芯片,服务器芯片. > CPU类型与SO文件 -- 手机的CPU,多 ...

  9. 测试手机硬件参数软件b站,OnePlus 7T评测:什么是硬件优秀,软件有料,它就是...

    氢OS 10系统:跟进安卓大版本,自由度高 软件方面,一加7T搭载基于Android 10的氢OS 10.0系统,关于氢OS10相信很多一加用户在谷歌发布Android10的那一刻开始就已经在一加社区 ...

最新文章

  1. matlab光滑曲线连接散点图
  2. 为什么一些机器学习模型需要对数据进行归一化?——1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度...
  3. 如何阅读苹果开发文档
  4. Python数据类型方法总结
  5. [ JavaScript ] 数据结构与算法 —— 链表
  6. 幸福秘诀 男女必须要看哦
  7. c++ sendmessage 鼠标 坐标是相对自身吗_【科普】你真的足够了解五轴加工吗?看完豁然开朗!...
  8. php 规则配置,模块Config配置规则
  9. loadedapk.java_android,_java.lang.ClassCastException: android.os.BinderProxy,android - phpStudy
  10. Java如何隐藏控制按键动画_Java动画短片当不移动鼠标光标时
  11. 安装CUDA时出现黑屏的现象解决办法
  12. 基于pytorch实现线性回归
  13. 建行u盾弹不出来_建设银行网银盾检测不到怎么解决
  14. m基于迫零ZF准则的通信均衡器的matlab仿真
  15. 华为充电的效果_华为充电特效主题插件下载-华为炫酷充电特效插件1.0.1安卓版-精品下载...
  16. INTEL CPU 内核漏洞问题该如何处理?
  17. 查询和01号的同学学习的课程完全相同的其他同学的信息的优化
  18. 当远程工作成为未来的工作方式......
  19. BZOJ1022: [SHOI2008]小约翰的游戏John
  20. 剪辑视频怎么赚钱怎么做?一个人0资金怎么创业?

热门文章

  1. 第七章:债券投资收益分析与债券合成
  2. 24位真彩和32位真彩
  3. 智慧畜牧三维可视化,图扑数字孪生赋能现代农业
  4. 《虹口区促进元宇宙产业发展的试行办法》的通知
  5. 图解《个人信息保护法》
  6. MySQL 远程跨库查询 FEDERATED引擎
  7. USB Map 解决 AX200 蓝牙不出现的问题-黑苹果 Big Sur 11.5.2-TUF B550M PLUS WI-FI
  8. 【k8s】RuoYi-Cloud部署
  9. 华为OD机试-优先级打印机
  10. PSM倾向性评分分析介绍、spss进行倾向性评分分析示例