Skip to content

Commit c6829b7

Browse files
committed
init
0 parents  commit c6829b7

13 files changed

Lines changed: 163 additions & 0 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.theos/
2+
packages/
3+
.DS_Store

Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
ARCHS = arm64 arm64e
2+
THEOS_PACKAGE_SCHEME = rootless
3+
4+
5+
include $(THEOS)/makefiles/common.mk
6+
7+
TWEAK_NAME = XcodeAnyDebugRootless
8+
9+
XcodeAnyDebugRootless_FILES = Tweak.x
10+
XcodeAnyDebugRootless_CFLAGS = -fobjc-arc
11+
12+
include $(THEOS_MAKE_PATH)/tweak.mk

README.assets/20241008172148.jpg

320 KB
Loading

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
### XcodeAnyDebugRootless
2+
3+
![20241008172148](README.assets/20241008172148.jpg)
4+
5+
## 简介
6+
7+
XcodeAnyDebugRootless 让你能够使用 Xcode 调试任意 iOS 应用。基于 Dopamine 越狱环境开发,提供安全稳定的调试体验。
8+
9+
## 主要特性
10+
11+
- 支持调试任意已安装的 iOS 应用(包括 App Store 上下载的)
12+
- 完全兼容 Dopamine 越狱环境
13+
- 采用无根设计,安全可靠
14+
- 无需配置直接使用
15+
16+
## 要求
17+
18+
- 已越狱的 iOS 设备 (使用 Dopamine)
19+
- 安装了 Xcode 的 Mac 电脑
20+
21+
## 注意事项
22+
23+
本工具仅供开发学习使用,请遵守相关法律法规。

Resources/20241008172148.jpg

320 KB
Loading

Resources/debugserver_xcode

1.28 MB
Binary file not shown.

Tweak.x

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#import <Foundation/Foundation.h>
2+
#include <dlfcn.h>
3+
4+
static void* _SMJobSubmit;
5+
6+
%hookf(Boolean, _SMJobSubmit, CFStringRef domain, CFDictionaryRef job, CFTypeID auth, CFErrorRef *outError)
7+
{
8+
NSMutableDictionary* mjob = [(__bridge NSDictionary*)job mutableCopy];
9+
if (job != nil && mjob[@"ProgramArguments"] != nil)
10+
{
11+
NSArray* argv = mjob[@"ProgramArguments"];
12+
13+
NSLog(@"_SMJobSubmit argv=%@", argv);
14+
15+
if ([argv[0] hasSuffix:@"/debugserver"])
16+
{
17+
NSMutableArray* new_argv = [argv mutableCopy];
18+
19+
new_argv[0] = @"/var/jb/usr/bin/debugserver_xcode";
20+
21+
mjob[@"UserName"] = @"root";
22+
mjob[@"ProgramArguments"] = new_argv;
23+
}
24+
25+
job = (__bridge_retained CFDictionaryRef)mjob;
26+
}
27+
return %orig;
28+
}
29+
30+
%ctor {
31+
_SMJobSubmit = dlsym(RTLD_DEFAULT, "SMJobSubmit");
32+
}

XcodeAnyDebugRootless.plist

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>Filter</key>
6+
<dict>
7+
<key>Executables</key>
8+
<array>
9+
<string>lockdownd</string>
10+
</array>
11+
</dict>
12+
</dict>
13+
</plist>

control

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Package: com.yourcompany.xcodeanydebugrootless
2+
Name: XcodeAnyDebugRootless
3+
Version: 0.0.1
4+
Architecture: iphoneos-arm
5+
Description: debug any process with xcode (jailbroken required)
6+
Maintainer: Harlans
7+
Author: Harlans
8+
Section: Tweaks
9+
Depends: ldid, mobilesubstrate (>= 0.9.5000)

layout/DEBIAN/postinst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
set -e
4+
ldid -M -S/var/jb/usr/bin/debugserver_xcode.entitlements /var/jb/usr/bin/debugserver_xcode
5+
killall -9 lockdownd || true
6+
7+
# killall -9 lockdownd >/dev/null 2>&1
8+
# exit 0

0 commit comments

Comments
 (0)