越狱检测/越狱检测绕过——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
相关推荐
包含越狱在iOS系统上所做的更改的差异,并将越狱与越狱系统进行比较。 以及可直接在应用程序中使用的源代码,以检测系统状态(越狱或越狱)。 未来的工作要求: 将此代码库转换为库并提供API,以便开发人员可以...
本篇文章将深入探讨“ios_jailbreak_tools.zip”压缩包中的关键组件——altserver、Impactor以及MobileTerminal,并解析它们在iOS越狱过程中的作用。 首先,altserver是iOS越狱过程中的一个关键组件,由Pwn20wn团队...
cordova plugin add https://github.com/leecrossley/cordova-plugin-jailbreak-detection.git 你不需要引用任何JavaScript,科尔多瓦插件架构会增加jailbreakdetection对象时自动建立你的根。 PhoneGap构建 将以下...
【jailbreak-3.5 证书导出工具】是一个专为iOS设备设计的软件,主要用于从Internet Explorer(IE)浏览器中导出授权证书。在iOS系统中,"jailbreak"指的是对设备进行越狱操作,即解除苹果公司对设备的官方限制,允许...
iOS 12.5.6终于有免电脑越狱工具了!这是未签名版,需要自签!稳定支持各种插件!越狱环境绝无虚假!白苹果几率超低,快来下载吧!
越狱(Jailbreak)是iOS用户为了获取设备的root权限,从而可以自由安装非App Store提供的第三方应用、修改系统设置、扩展功能等操作的一种技术手段。在iOS系统中,苹果对设备进行了严格的控制,限制了用户对系统的...
在数字设备的世界里,越狱(Jailbreak)一词对于许多用户来说并不陌生,尤其是对于那些希望自定义和扩展其设备功能的用户。本篇文章将围绕"update_jailbreak_0.4版本"展开,详细介绍这个更新版本的越狱工具,以及...
kindle 3 最新越狱工具。 The JailBreak opens the door to pretty much everything you'll find on this forum ;).
《Kindle越狱工具kindle-jailbreak0.5.1详解》 Kindle作为一款全球知名的电子阅读器,以其出色的阅读体验深受用户喜爱。然而,对于追求个性化和功能扩展的用户来说,Kindle的封闭系统限制了其潜力。这时,"kindle-...
iOS 越狱史及技术简析 前言 不可否认的是, iPhone 真正实现了 Reinvent the Phone,而它里面内置的 iOS 经历了一轮年头,也从一个数十兆的小系统演变成为动辄数G的庞然大物。 与此同时,iOS 安全也从漏洞百出到最近...
iOS 非越狱开发是指在不越狱( Jailbreak) iPhone 或者 iPad 的情况下,使用逆向工程技术来开发和修改微信 App 的功能。这种开发方式可以绕过 Apple 的审核机制,实现一些非标准的功能。 iOS 非越狱开发工具安装 ...
iOS 5.1.1 越狱是一个热门的话题,特别是在苹果设备爱好者中。这个操作系统版本在2012年发布,为iPhone、iPad和iPod Touch提供了更新。越狱是指通过利用系统漏洞,使用户能够绕过Apple的权限限制,获取到设备的root...
**iOS 5.1.1 越狱工具详解** iOS 5.1.1是苹果公司在2012年发布的一个操作系统版本,为iPhone、iPad和iPod touch提供了多项功能更新和性能优化。然而,对于追求个性化和更多自由度的用户来说,iOS的封闭系统特性限制...
《iOS 6.1.3越狱工具:深入解析与应用指南》 在移动设备的世界里,越狱一词对于许多iOS用户来说并不陌生。它指的是通过特定的工具和技术手段,解除苹果公司对iOS设备的封闭式管理,使得用户可以自定义系统、安装未...
Kindle K4 jailbreak 1.7.N.zip 是一个针对Kindle 4.1.1固件的越狱工具包,旨在解锁Kindle设备的潜力,让用户能够安装自定义软件,访问未授权的资源以及对设备进行深度定制。这一过程对于技术爱好者和寻求个性化阅读...
标题中的"altinstaller_jailbreak_"表明这是一个与iOS越狱(Jailbreak)相关的工具,具体来说是AltSigner的一个工作版本。AltSigner是一个替代的签名工具,它在越狱社区中被广泛使用,特别是在iOS设备上进行自定义...
3. **运行工具**:双击运行下载的文件,根据提示将iOS设备连接到电脑,然后点击工具中的“Jailbreak”按钮开始越狱。 4. **等待过程**:设备会自动重启多次,用户需遵循屏幕上的指示(如解锁设备等),直至越狱完成...
4. **运行 redsn0w**:打开 redsn0w.exe,选择“Jailbreak”选项,并按照向导进行操作。 5. **安装 Cydia**:redsn0w 将自动为您的设备安装 Cydia,这是越狱后的关键应用商店。 6. **重启设备**:完成越狱过程后,您...
不要执行jailbreak.msc而是应该双击没有图标的jailbreak.exe。 操作方法: 展开树形目录,找到证书目录. 右键选择"所有任务"-"导出". 进入欢迎界面,点击"下一步". 在弹出的对话框里选择"是,导出私钥(Y...