新手寫程式 2023-05-23 11:34 采纳率: 55.6%
浏览 20
已结题

Logos tweak

哈囉
我最近在學習IOS tweak插件
我在xcode上使用monkeydev套件的Logos tweak建立了一個deb檔案

#import <UIKit/UIKit.h>

@interface ViewController:UIViewController
@end
%hook ViewController



-(void) testfunc {
    %log;
    NSLog(@"Hookfunc");
    return ;
}
%end

我也在plist上設置測試專案的BundleID

這是我製作的一個測試專案

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self testfunc];
   
}
- (void) testfunc {
    NSLog(@"摳到的func");
}


@end

將此deb檔案及測試專案的ipa安裝至越獄手機上卻沒有hook到
但是相同的Logos程式碼使用monkeydev套件monkeyapp
卻可以正常hook到
想請問可以協助我嗎?
請不要再chatgpt思路了,他給出來的答案實在是無法解決問題
在麻煩各位大師了

  • 写回答

1条回答 默认 最新

  • IT论之程序员 2023-05-28 15:24
    关注

    从你的描述看,这个问题应该是与打包 deb 文件的过程相关。有几个可能的原因:

    1. deb 包里少了某些重要的文件。deb 包由控制文件(control)、数据文件(data.tar.)和描述文件(.desc)组成。控制文件和数据文件是必须的,描述文件是可选的。所以首先要确保 deb 包里至少有 control 和 data.tar.* 两个文件。
    2. 权限问题。deb 包里的文件权限不正确,导致无法注入到进程。应确保 data.tar.* 里的文件权限正确。
    3. 依赖问题。tweak 里使用了某些依赖但 deb 包里没有指定,导致 tweak 无法运行。应在 control 文件里指定 tweak 的依赖。
    4. deb 包的制作工具 Bug。有些 deb 包制作工具会导致生成的 deb 包无法正确运行。可以试试别的工具,比如 dpkg-deb。
    5. 签名问题。如果设备开启了 jailbreak 检测,未签名的 deb 包可能无法注入。可以给 deb 包添加签名。
      具体的解决办法:
    6. 仔细检查 deb 包的内容和结构,确保包含必须的 control 和 data.tar.* 文件,并且权限正确。
    7. 在 control 文件中指定 tweak 的依赖。
    8. 尝试用其他工具如 dpkg-deb 重新生成 deb 包。
    9. 尝试对 deb 包进行签名。
    10. 查看 tweak 的日志,看是否有其他报错信息。
    11. 尝试在 non-jailbreak 状态下运行 tweak,确定是否与 jailbreak 相关。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 已采纳回答 5月29日
  • 修改了问题 5月24日
  • 修改了问题 5月23日
  • 展开全部