Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
*.o
.theos/*
debs/*
*.deb
*.dylib
**/.theos/*
*/.theos/*
*.psd
_/*
*/obj/*
obj/*
*.zip
674 changes: 0 additions & 674 deletions LICENSE

This file was deleted.

25 changes: 19 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
ARCHS = arm64 arm64e
GO_EASY_ON_ME = 1
DEBUG = 0
FINALPACKAGE = 1

THEOS_DEVICE_IP = 0.0.0.0 -p 2222

TARGET := iphone:clang:latest:12.0
ARCHS = arm64

include $(THEOS)/makefiles/common.mk

TOOL_NAME = vnodebypass

vnodebypass_FILES = main.m offsets.m
vnodebypass_FILES = main.m vnode.m libdimentio.c kernel.m
vnodebypass_CFLAGS = -fobjc-arc
vnodebypass_CODESIGN_FLAGS = -Sent.plist
vnodebypass_INSTALL_PATH = /usr/bin
vnodebypass_FRAMEWORKS = IOKit

include $(THEOS_MAKE_PATH)/tool.mk
SUBPROJECTS += app
SUBPROJECTS += debian-script
include $(THEOS_MAKE_PATH)/aggregate.mk

internal-stage::
$(ECHO_NOTHING)ldid -S$(THEOS_STAGING_DIR)/../../tfp0.plist $(THEOS_STAGING_DIR)/usr/bin/vnodebypass$(ECHO_END)
$(ECHO_NOTHING)chown 0:0 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass$(ECHO_END)
$(ECHO_NOTHING)chmod 6755 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass$(ECHO_END)
before-package::
chmod -R 755 $(THEOS_STAGING_DIR)
chmod 6755 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass
chmod 666 $(THEOS_STAGING_DIR)/DEBIAN/control
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# vnodebypass
vnodebypass using hidePath of jelbrekLib(Jakeashacks) and maphys (0x7ff)
*Special Thanks to akusio.
vnodebypass
=====================

### An expermental tool to hide jailbreak files for bypass detection.
22 changes: 22 additions & 0 deletions SVC_Caller.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include <stdio.h>
#include <stdint.h>

inline int SVC_Access(const char* detectionPath) {

#if defined __arm64__ || defined __arm64e__
int64_t flag = 0;
__asm __volatile("mov x0, %0" :: "r" (detectionPath)); //path
__asm __volatile("mov x1, #0"); //mode
__asm __volatile("mov x16, #0x21"); //access
__asm __volatile("svc #0x80"); //supervisor call
__asm __volatile("mov %0, x0" : "=r" (flag));
#else
int flag = 0;
__asm __volatile("mov r0, %0" :: "r" (detectionPath)); //path
__asm __volatile("mov r1, #0"); //mode
__asm __volatile("mov r12, #0x21"); //access
__asm __volatile("svc #0x80"); //supervisor call
__asm __volatile("mov %0, r0" : "=r" (flag));
#endif
return flag;
}
8 changes: 8 additions & 0 deletions app/AppDelegate.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property(nonatomic, strong) UIWindow *window;
@property(nonatomic, strong) UIViewController *rootViewController;

@end
13 changes: 13 additions & 0 deletions app/AppDelegate.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#import "AppDelegate.h"
#import "RootViewController.h"

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(UIApplication *)application {
_window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
_rootViewController = [[RootViewController alloc] init];
_window.rootViewController = _rootViewController;
[_window makeKeyAndVisible];
}

@end
15 changes: 15 additions & 0 deletions app/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
TARGET := iphone:clang:latest:7.0
INSTALL_TARGET_PROCESSES = vnodebypass

ARCHS = arm64

include $(THEOS)/makefiles/common.mk

APPLICATION_NAME = vnodebypass

vnodebypass_FILES = main.m AppDelegate.m RootViewController.m
vnodebypass_FRAMEWORKS = UIKit CoreGraphics
vnodebypass_CFLAGS = -fobjc-arc -I../include
vnodebypass_CODESIGN_FLAGS = -Sappent.xml

include $(THEOS_MAKE_PATH)/application.mk
Binary file added app/Resources/AppIcon60x60@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/Resources/AppIcon76x76@2x~ipad.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 79 additions & 0 deletions app/Resources/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>20D91</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>vnodebypass</string>
<key>CFBundleIconFiles</key>
<array>
<string>AppIcon60x60@2x.png</string>
<string>AppIcon76x76@2x~ipad.png</string>
</array>
<key>CFBundleIdentifier</key>
<string>kr.xsf1re.vnodebypass</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>vnodebypass</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>iPhoneOS</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>18D46</string>
<key>DTPlatformName</key>
<string>iphoneos</string>
<key>DTPlatformVersion</key>
<string>14.4</string>
<key>DTSDKBuild</key>
<string>18D46</string>
<key>DTSDKName</key>
<string>iphoneos14.4</string>
<key>DTXcode</key>
<string>1240</string>
<key>DTXcodeBuild</key>
<string>12D4e</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>12.0</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
8 changes: 8 additions & 0 deletions app/RootViewController.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#import <NSTask.h>
#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController
@property UILabel *titleLabel;
@property UILabel *subtitleLabel;
@property UIButton *button;
@end
70 changes: 70 additions & 0 deletions app/RootViewController.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#import "RootViewController.h"

@interface RootViewController ()
@end

@implementation RootViewController

- (void)loadView {
[super loadView];

self.view.backgroundColor = UIColor.blackColor;
}

- (void)viewDidLoad {
[super viewDidLoad];

_titleLabel =
[[UILabel alloc] initWithFrame:CGRectMake(0, 50, UIScreen.mainScreen.bounds.size.width, 100)];
_titleLabel.text = @"vnodebypass";
_titleLabel.textAlignment = NSTextAlignmentCenter;
_titleLabel.textColor = UIColor.whiteColor;
_titleLabel.font = [UIFont systemFontOfSize:40];
[self.view addSubview:_titleLabel];

_subtitleLabel = [[UILabel alloc]
initWithFrame:CGRectMake(0, 100, UIScreen.mainScreen.bounds.size.width, 100)];
_subtitleLabel.text = @"USE IT AT YOUR OWN RISK!";
_subtitleLabel.textAlignment = NSTextAlignmentCenter;
_subtitleLabel.textColor = UIColor.whiteColor;
_subtitleLabel.font = [UIFont systemFontOfSize:20];
[self.view addSubview:_subtitleLabel];

_button = [UIButton buttonWithType:UIButtonTypeSystem];
_button.frame = CGRectMake(UIScreen.mainScreen.bounds.size.width / 2 - 30,
UIScreen.mainScreen.bounds.size.height / 2 - 25, 60, 50);
[_button setTitle:access("/bin/bash", F_OK) == 0 ? @"Enable" : @"Disable"
forState:UIControlStateNormal];
[_button addTarget:self
action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_button];
}

- (void)buttonPressed:(UIButton *)sender {
BOOL disabled = access("/bin/bash", F_OK) == 0;
NSArray *opts;
if (disabled) {
opts = @[ @"-s", @"-h" ];
} else {
opts = @[ @"-r", @"-R" ];
}

NSString *launchPath =
[NSString stringWithFormat:@"/usr/bin/%@", NSProcessInfo.processInfo.processName];
NSTask *task = [NSTask launchedTaskWithLaunchPath:launchPath arguments:@[ opts[0] ]];
[task waitUntilExit];
task = [NSTask launchedTaskWithLaunchPath:launchPath arguments:@[ opts[1] ]];
[task waitUntilExit];
NSString *title = access("/bin/bash", F_OK) == 0 ? @"Enable" : @"Disable";
NSString *successTitle = (access("/bin/bash", F_OK) == 0) == disabled ? @"Failed" : @"Success";
[_button setTitle:successTitle forState:UIControlStateNormal];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
sleep(1);
dispatch_async(dispatch_get_main_queue(), ^{
[_button setTitle:title forState:UIControlStateNormal];
});
});
}

@end
24 changes: 24 additions & 0 deletions app/appent.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>platform-application</key>
<true/>
<key>com.apple.private.security.container-required</key>
<false/>
<key>com.apple.springboard.debugapplicationsget-task-allow</key>
<true/>
<key>com.apple.private.skip-library-validation</key>
<true/>
<key>proc_info-allow</key>
<true/>
<key>get-task-allow</key>
<true/>
<key>task_for_pid-allow</key>
<true/>
<key>run-unsigned-code</key>
<true/>
<key>com.apple.private.security.no-container</key>
<true/>
</dict>
</plist>
7 changes: 7 additions & 0 deletions app/main.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#import "AppDelegate.h"

int main(int argc, char *argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass(AppDelegate.class));
}
}
17 changes: 10 additions & 7 deletions control
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
Package: kr.xsf1re.vnodebypass
Name: vnodeBypass
Version: 0.0.1
Architecture: iphoneos-arm
Description: An awesome tool of some sort!!
Maintainer: XsF1re
Author: XsF1re
Maintainer: ichitaso
Package: kr.xsf1re.vnodebypass
Name: vnodebypass
Depends: firmware (>= 12.0)
Section: System
Tag: role::hacker
Version: 0.2.9
Architecture: iphoneos-arm
Description: An expermental tool to hide jailbreak files for bypass detection.
Depiction: https://cydia.ichitaso.com/depiction/vnodebypass.html
Tag: role::hacker, compatible::ios12, compatible::ios13, compatible::ios14
Icon: https://raw.githubusercontent.com/ichitaso/vnodebypass_theme/main/layout/Library/Themes/vnodebypass.theme/Icon.png
19 changes: 19 additions & 0 deletions debian-script/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
TARGET := iphone:clang:latest:12.0

ARCHS = arm64

include $(THEOS)/makefiles/common.mk

TOOL_NAME = postinst prerm

postinst_FILES = main.m
postinst_CFLAGS = -fobjc-arc -I../include
postinst_CODESIGN_FLAGS = -Sentitlements.plist
postinst_INSTALL_PATH = /DEBIAN

prerm_FILES = main.m
prerm_CFLAGS = -fobjc-arc -I../include
prerm_CODESIGN_FLAGS = -Sentitlements.plist
prerm_INSTALL_PATH = /DEBIAN

include $(THEOS_MAKE_PATH)/tool.mk
9 changes: 9 additions & 0 deletions debian-script/entitlements.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>platform-application</key>
<true/>
<key>com.apple.private.security.container-required</key>
<false/>
</dict>
</plist>
Loading