越狱检测/越狱检测绕过——xCon
/Library/MobileSubstrate/MobileSubstrate.dylib 最重要的越狱文件,几乎所有的越狱机都会安装MobileSubstrate
/Applications/Cydia.app/ /var/lib/cydia/绝大多数越狱机都会安装
/var/cache/apt /var/lib/apt /etc/apt
/bin/bash /bin/sh
/usr/sbin/sshd /usr/libexec/ssh-keysign /etc/ssh/sshd_config
ENOENT 参数file_name指定的文件不存在
ENOTDIR 路径中的目录存在但却非真正的目录
ELOOP 欲打开的文件有过多符号连接问题,上限为16符号连接
EFAULT 参数buf为无效指针,指向无法存在的内存空间
EACCESS 存取文件时被拒绝
ENOMEM 核心内存不足
ENAMETOOLONG 参数file_name的路径名称太长
dev_t st_dev; //文件的设备编号
ino_t st_ino; //节点
mode_t st_mode; //文件的类型和存取的权限
nlink_t st_nlink; //连到该文件的硬连接数目,刚建立的文件值为1
uid_t st_uid; //用户ID
gid_t st_gid; //组ID
dev_t st_rdev; //(设备类型)若此文件为设备文件,则为其设备编号
off_t st_size; //文件字节数(文件大小)
unsigned long st_blksize; //块大小(文件系统的I/O 缓冲区大小)
unsigned long st_blocks; //块数
time_t st_atime; //最后一次访问时间
time_t st_mtime; //最后一次修改时间
time_t st_ctime; //最后一次改变时间(指属性)
};
#include<string.h>
#import <mach-o/loader.h>
#import <mach-o/dyld.h>
#import <mach-o/arch.h>
void printDYLD()
{
//Get count of all currently loaded DYLD
uint32_t count =_dyld_image_count();
for(uint32_t i =0; i < count; i++)
{
//Name of image (includes full path)
constchar*dyld =_dyld_get_image_name(i);
//Get name of file
int slength =strlen(dyld);
int j;
for(j = slength -1; j>=0;--j)
if(dyld[j]=='/')break;
printf("%s\n", dyld);
}
printf("\n");
}
int main(int argc,char*argv[])
{
printDYLD();
NSAutoreleasePool*pool =[[NSAutoreleasePoolalloc]init];
int retVal =UIApplicationMain(argc, argv,nil,nil);
[pool release];
return retVal;
}
下图显示了我的iOS设备当前加载的dylib的路径,最下面就可以看到xConDANI-LEE-2:iostools danqingdani$ otool -tV xCon.dylib >xContextsection
可以根据文件中的函数名,同时结合该工具的原理以及越狱检测的一些常用手段(文章第一部分有介绍)来猜其逻辑,例如越狱检测方法中的文件系统检查,会根据特定的文件路径名来匹配,我们可以使用strings查看文件中的内容,看看会有哪些文件路径名。DANI-LEE-2:IAP tools danqingdani$ strings xCon.dylib >xConReadable
以下是xCon中会匹配的文件名/usr/bin/sshd /usr/libexec/sftp-server /usr/sbin/sshd
/bin/bash /bin/sh /bin/sw /etc/apt /etc/fstab /Applications/blackra1n.app /Applications/Cydia.app /Applications/Cydia.app/Info.plist /Applications/Cycorder.app /Applications/Loader.app /Applications/FakeCarrier.app /Applications/Icy.app /Applications/IntelliScreen.app /Applications/MxTube.app /Applications/RockApp.app /Applications/SBSettings.app /Applications/WinterBoard.app /bin/bash/Applications/Cydia.app /Library/LaunchDaemons/com.openssh.sshd.plist /Library/Frameworks/CydiaSubstrate.framework /Library/MobileSubstrate /Library/MobileSubstrate/ /Library/MobileSubstrate/DynamicLibraries /Library/MobileSubstrate/DynamicLibraries/ /Library/MobileSubstrate/DynamicLibraries/LiveClock.plist /Library/MobileSubstrate/DynamicLibraries/Veency.plist /Library/MobileSubstrate/DynamicLibraries/xCon.plist /private/var/lib/apt /private/var/lib/apt/ /private/var/lib/cydia /private/var/mobile/Library/SBSettings/Themes /private/var/stash /private/var/tmp/cydia.log /System/Library/LaunchDaemons/com.ikey.bbot.plist /System/Library/LaunchDaemons/com.saurik.Cydia.Startup.plist
NzI0MS9MaWJyYXJ5L01vYmlsZVN1YnN0cmF0ZQ== (对应7241/Library/MobileSubstrate)
通过分析,xCon会绕过以下越狱检测方法
(1) 根据是否存在特定的越狱文件,及特定文件的权限是否发生变化来判断设备是否越狱
fileExistsAtPath:
fileExistsAtPath:isDirectory:
filePermission:
fileSystemIsValid:
checkFileSystemWithPath:forPermissions:
mobileSubstrateWorkaround
detectIllegalApplication:
(2) 根据沙箱完整性检测设备是否越狱
canUseFork
(3) 根据文件系统的分区是否发生变化来检测设备是否越狱
partitionsModified
(4) 根据是否安装ssh来判断设备是否越狱
ssh root@127.0.0.1
/Library/MobileSubstrate/MobileSubstrate.dylib 最重要的越狱文件,几乎所有的越狱机都会安装MobileSubstrate
/Applications/Cydia.app/ /var/lib/cydia/绝大多数越狱机都会安装
/var/cache/apt /var/lib/apt /etc/apt
/bin/bash /bin/sh
/usr/sbin/sshd /usr/libexec/ssh-keysign /etc/ssh/sshd_config
/Applications
/Library/Ringtones
/Library/Wallpaper
/usr/include
/usr/libexec
/usr/share
相关推荐
cordova plugin add https://github.com/leecrossley/cordova-plugin-jailbreak-detection.git 你不需要引用任何JavaScript,科尔多瓦插件架构会增加jailbreakdetection对象时自动建立你的根。 PhoneGap构建 将以下...
update_jailbreak_0.4版本。下载于http://yifan.lu/p/kindle-jailbreak/
iOS 12.5.6终于有免电脑越狱工具了!这是未签名版,需要自签!稳定支持各种插件!越狱环境绝无虚假!白苹果几率超低,快来下载吧!
Chapter 1. Everything You Know Is Wrong Part I: Hacking Chapter 2. The Basics of Compromising iOS Chapter 3....Chapter 4....Chapter 5....Chapter 6.... Jailbreak Detection Chapter 14. Next Steps
kindle 3 最新越狱工具。 The JailBreak opens the door to pretty much everything you'll find on this forum ;).
iOS 越狱史及技术简析 前言 不可否认的是, iPhone 真正实现了 Reinvent the Phone,而它里面内置的 iOS 经历了一轮年头,也从一个数十兆的小系统演变成为动辄数G的庞然大物。 与此同时,iOS 安全也从漏洞百出到最近...
jailbreak 3.5, 用来导出IE授权证书
kindle-jailbreak0.5.1.zip
altserver_installer_and_patcher Impactor_0.9.52 MobileTerminal.ipa Cydia AFC2 lib patcher
The information about how the security of iOS devices operated was scattered in various talks given at security conferences, within the jailbreak community, and in individual researchers' personal ...
Jailbreak 判断手机是否越狱封装
ios sha1 intercepting tweak. Requires jailbreak for work. Build requires theos (binary included). Result located in /tmp/sha1.txt.
TQ-pre-jailbreak在所有设备上适用于iOS 14.0〜iOS 14.3的PRE-越狱。 一般来说,越狱是从任意内核读写漏洞开始的,因此我将其命名为越狱前。 实际上,CVE-2021-1782(cicuta_virosa)是越狱前的事情。 基于cicuta_...
Jailbreak iOS 4.2.1 User Manual.docx 自己网上找资料,然后整理出来。
kindle jailbreak -1.9.N.zip
IOS Hacker's Handbook 了解iphone jailbreak内幕
kindle 4.1.1越狱文件 详情:http://blog.csdn.net/vzvzvxz/article/details/8926220
update_jailbreak_0.11.N_k3w_install.bin
linux版本iOS 6.x越狱工具 evasi0n官方版本
红雪最新针对ios5.0.1 for b4的越狱程序 在我自己的iPhone4 gsm上破解成功! 内附doc整理文档,建议大家不要用汉化版的redsn0w越狱,我的机器出了白苹果。