13.4.1系统,已越狱,使用sysctl想获取所有进程信息,失败

系统已经越狱,且编译为root app,
ldid -S/var/root/ent.xml GetMem

-rwsrwxrwx 1 root wheel 62688 Aug 16 09:43 GetMem*
-rw-r–r-- 1 root admin 1452 Aug 16 09:43 Info.plist
-rw-r–r-- 1 root admin 8 Aug 16 09:43 PkgInfo

但是使用以下代码,st返回是-1失败。哪里 有问题?网上找了半天也不知道怎么解决。
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0};
size_t miblen = 4;
size_t size;
int st = sysctl(mib, miblen, NULL, &size, NULL, 0);
NSLog(@"AllProcesses1 :%d ",st);

高版本系统没有权限获取,你下载其它appstore上比较出名软件调用它使用sysctl的方法,它也是获取不到

1 个赞

越狱后的系统,给app赋予权限也不行么,igg什么的貌似也得有这权限才能访问别的app内存吧。

root权限的APP都放在/Application文件夹下面。

问题解决了,是ent.xml文件的问题。各种差找,测试,最后换了好几个ent.xml突然发现可以用了。

你现在用的ent.xml 可以发一下吗 我也遇到这个权限的问题了

// <?xml version="1.0" encoding="UTF-8"?>
//
//
//
// platform-application
//
// com.apple.private.mobileinstall.allowedSPI
//
// Lookup
// Install
// Browse
// Uninstall
// LookupForLaunchServices
// InstallForLaunchServices
// BrowseForLaunchServices
// UninstallForLaunchServices
// CopyDiskUsageForLaunchServices
// InstallLocalProvisioned
//
// com.apple.private.security.no-container
//
// com.apple.private.skip-library-validation
//
// com.apple.lsapplicationworkspace.rebuildappdatabases
//
// com.apple.private.MobileContainerManager.allowed
//
// com.apple.private.MobileGestalt.AllowedProtectedKeys
//
// com.apple.managedconfiguration.profiled-access
//
// com.apple.developer.icloud-services
//
// CloudDocuments
// CloudKit
//
// run-unsigned-code
//
// dynamic-codesigning
//
// get-task-allow
//
// proc_info-allow
//
// task_for_pid-allow
//
//
//

可以考虑用frida的,很全(虽然不知道每个都是干什么的) https://github.com/frida/frida-core/blob/main/server/frida-server.xcent

frida在用,只不过是分析app的时候用。

链接里是frida用来给server签名的ent

哦,是我理解有问题,哈哈,明白了。