Giới thiệu

Trang tài liệu này hướng dẫn tích hợp và sử dụng thư viện (NemG (NemGVn.a)) trong dự án Theos: cấu hình build, import, và tham khảo chi tiết từng API.

Cài đặt Theos

  1. Clone Theos:
    git clone --recursive https://github.com/theos/theos.git ~/theos
  2. Thêm biến môi trường:
    export THEOS=~/theos
    export PATH=$THEOS/bin:$PATH
  3. Reload profile:
    source ~/.bash_profile

Makefile - Yêu Câu Phải Có

#////////////////////////////////// BẮT BUỘC PHẢI CÓ
TWEAKNAME_CFLAGS   += -I$(THEOS_PROJECT_DIR)/API 
TWEAKNAME_LDFLAGS  += $(THEOS_PROJECT_DIR)/API/NemGVn.a 
TWEAKNAME_FRAMEWORKS = UIKit Security QuartzCore CoreGraphics CoreText AdSupport Accelerate Foundation WebKit IOKit MobileCoreServices
#//////////////////////////////////

Import Thư Viện

#import <NemG/NemG.h>

NemG *API;

Ví dụ Code (.mm)

@implementation BeautyListModel

NSString * __updateAppURL   = FBEncrypt("https://thenamk3.net/sever/update.html");
NSString * __welcomePageURL = FBEncrypt("https://thenamk3.net/sever/welcome.html");
NSString * __loginPageURL   = FBEncrypt("https://thenamk3.net/sever/key.html");
NSString * __errorPageURL   = FBEncrypt("https://thenamk3.net/sever/error.html");
NSString * __freePageURL    = FBEncrypt("https://thenamk3.net/sever/free.html");
NSString * __blockPageURL   = FBEncrypt("https://thenamk3.net/sever/free.html");

NSString * const __NextDNS  = FBEncrypt("7274c6");

+ (void)load {
    API = [NemG listen:FBEncrypt("AOV-QWM6IUZCRN9J5FH1")];
    [Menu startWithRemoteHTMLURL:@"https://thenamk3.net/filemanager/demo.html"];
    [API Package_token:@"4f9774eacba885a9215583b3f8588f7d"];
    [API version:@"1.0" paid:^{
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [ViewController openmenu];
        }];
        NSLog(@"Key: %@",   [API loginKey]);
        NSLog(@"UDID: %@",  [API loginUUID]);
        NSLog(@"Server Text: %@", [API loginTextServer]);
        NSLog(@"Server IP: %@",   [API loginIP]);
    }];
}

@end

Tham khảo API

1. Khởi tạo & xác thực

  • + (NemG*)listen:(NSString*)key; – Khởi tạo và trả về instance NemG với API key.
  • - (void)version:(NSString*)ver paid:(void(^)(void))execute; – Kiểm tra phiên bản và key, nếu hợp lệ thì chạy block.
  • - (void)Package_token:(NSString*)token; – Đăng ký package token để phân quyền bổ sung.

2. Phân quyền theo loại key

[API keytype:@"admin"
   adminBlock:^{
    // tính năng VIP
} normalBlock:^{
    // tính năng cơ bản
}];
– Cho phép chạy block VIP hay cơ bản tùy loại key.

3. Các URL & hằng số

  • __updateAppURL – URL cập nhật app.
  • __welcomePageURL – URL trang welcome.
  • __loginPageURL – URL trang login.
  • __errorPageURL – URL trang lỗi.
  • __freePageURL – URL trang miễn phí.
  • __blockPageURL – URL trang block.
  • __NextDNS – ID DNS hostname.

4. Thông tin phiên & key

  • loginKey, loginUUID, loginType, loginEndTime, loginTimeReal – các thông tin cơ bản về session.
  • loginUsername, loginTextServer, loginIP – username, thông điệp server, IP.
  • loginCity/Region/Country/Location/Org/Postal/Timezone – thông tin địa lý.
NSString *ip   = [API loginIP];
NSString *msg  = [API loginTextServer];
NSLog(@"IP: %@, Msg: %@", ip, msg);
– Ví dụ lấy IP và thông điệp từ server.

5. Tiện ích chung

  • dumpunity: – Dump thư mục Unity và trả về path.
    [API dumpunity:^(NSString *path){
        NSLog(@"Dump xong: %@", path);
    }];
  • cleardata:displayTime: – Hiện cảnh báo xóa dữ liệu trong X giây.
    [API cleardata:@"⚠️ Xoá toàn bộ dữ liệu" displayTime:3.0];
  • fakedevice:device: – Giả lập thiết bị iOS.
    [API fakedevice:YES device:@"iPad16,6"];
  • FakeNetwork: – Thay đổi trạng thái mạng (0-wifi,1-2G,2-4G,…).
    [API FakeNetwork:2]; // 4G
  • loadingg:execute: – Hiển thị loading trong X giây rồi thực thi code.
    [API loadingg:2.5 execute:^{
        NSLog(@"Loading xong");
    }];
  • FPS:color:font:active: – Hiển thị FPS overlay.
    [API FPS:@"⚡ Đang chạy" color:[UIColor greenColor] font:[UIFont systemFontOfSize:15] active:YES];
  • tele:andCaption:token:chatID: – Gửi thông báo qua Telegram bot.
    [API tele:@"Thông báo" andCaption:@"Caption đẹp" token:@"BOT_TOKEN" chatID:@"CHAT_ID"];
  • callDiscord:webhookURL: – Gửi message tới Discord webhook.
    [API callDiscord:@"Hello Discord" webhookURL:@"WEBHOOK_URL"];
  • sendTelegram:botToken:chatID: – Gửi tin nhắn Telegram.
    [API sendTelegram:@"Hello" botToken:@"BOT_TOKEN" chatID:@"CHAT_ID"];

6. Demo HTML

<!DOCTYPE html>
<html lang="vi">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Demo NemG Menu</title>
</head>
<body>
  <h1>Welcome to NemG Menu</h1>
  <p>Đây là demo nội dung được load từ remote.</p>
  <img src="https://cdn.discordapp.com/attachments/1368560142727249961/1370591123650642072/Anh_man_hinh_2025-05-09_luc_19.39.26.png"
       alt="Demo NemG Menu" class="demo-img">
</body>
</html>

7. Hàm log và interface Menu


#define ServerLog(...) _NemGLog(__VA_ARGS__)

NS_ASSUME_NONNULL_BEGIN
@interface Menu : NSObject
+ (void)startWithRemoteHTMLURL:(NSString *)url;    // Khởi tạo menu với URL remote
+ (id)getValueForKey:(NSString *)key;               // Lấy giá trị lưu
+ (NSDictionary *)getAllState;                     // Lấy toàn bộ state lưu
+ (void)saveState;                                  // Lưu state hiện tại
+ (void)loadState;                                  // Tải lại state đã lưu
@end
NS_ASSUME_NONNULL_END
// Cách dùng ví dụ
// Log custom
ServerLog(@"User logged in: %@", username);

/#import "Menu.h"

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     // 1) Nạp config cũ (nếu có)
     [Menu loadState];

     // 2) Khởi Web‐UI, mở tại http://:12222
     [Menu startWithRemoteHTMLURL:@"https://thenamk3.net/filemanager/demo.html"];
     return YES;
 }

 // Một hàm cập nhật logic đơn giản:
 - (void)updateLogic {
     // Đọc các tuỳ chọn đã lưu
     BOOL aimbotEnabled   = [[Menu getValueForKey:@"aimbot"] boolValue];
     int  espRange        = [[Menu getValueForKey:@"esp_range"] intValue];
     float fov            = [[Menu getValueForKey:@"fov_radius"] floatValue];
     NSString *playerName = [Menu getValueForKey:@"player_name"];
     NSString *aimMode    = [Menu getValueForKey:@"aim_mode"];

     NSLog(@"[NemGHook] Aimbot=%d | ESP=%d | FOV=%.2f | Name=%@ | Mode=%@",
           aimbotEnabled, espRange, fov, playerName, aimMode);

     // Áp dụng logic game
     if (aimbotEnabled) {
         // Ví dụ: triggerAim(fov, aimMode);
     }
 }

 // Khi người dùng thay đổi tuỳ chọn qua Web-UI:
 - (void)onUserDidChangeSetting {
     [Menu saveState];
 }

 // Nếu cần khôi phục cấu hình mặc định:
 - (void)onResetSettings {
     [Menu loadState];
     [self updateLogic];
 }

Cập nhật & Thảo luận

Tham gia cộng đồng NemG để cập nhật công cụ và thảo luận:

Kết luận

Bạn đã có tài liệu hướng dẫn cấu hình Theos, import và sử dụng đầy đủ tất cả API của NemG, cùng ví dụ log, menu, và demo HTML trực quan. Chúc bạn thành công!