gpt4 book ai didi

objective-c - 自毁 cocoa 应用

转载 作者:搜寻专家 更新时间:2023-10-30 20:25:37 27 4
gpt4 key购买 nike

我正在寻找设计自毁 Cocoa 应用程序的方法。这个想法是在启动时检测应用程序是否正在进行逆向工程(这总是在多次尝试中完成)并在情况下删除/损坏它。当然,狂热的黑客可以重新下载并逆向设计破坏过程,但这会让它变得非常烦人和痛苦!

为了检查代码完整性,可执行文件上的哈希值应该可以解决问题。

关于损坏过程,我很确定应用程序无法在运行时编辑其 bundle 。我有一个想法:

-产生一个专门用于破坏的“中间应用程序”,在退出第一个 .有用吗?

-在退出之前生成一个 Shell 脚本(它将等待应用程序终止)是否可行?

欢迎任何想法!

编辑:关于 Cocoaster 链接:

1.剥离调试符号:即使没有明确的方法名称,也很容易跟踪“验证”方法,主要是通过查找 NSString 调用(@“validated”,@“license”)

2.PT_DENY_ATTACH:无论如何都有附加方法,但会破坏 ptrace() 并修改返回值(如果我能在我的基本逆向工程培训中找到它,任何人都可以)。

3. 检查校验和,否则退出:这正是我要避免的事情:使用 gdb 很容易跟踪对 [NSApplication shouldTerminate:] 的调用并修改测试(或有效的 MD5 字符串)通过它。关键在于,黑客将需要重新下载/安装它,而不是仅仅重新加载 gdb(从而使该过程非常耗时)。

想象一下:

1.在启动时,mainApplication 创建一个 shell/bash 脚本,类似于:

 wait(decent time)
rm /*Dynamic Application Path*/Contents/MacOS/exe

或更好:

  sed -i 's/a/b/g' /*Dynamic Application Path*/Contents/MacOS/exe
//Will completly screw the code

2.如果校验和失败,启动脚本并安静地终止应用程序。我的问题是:NSTask 是否依赖于应用程序(我可以启动 NSTask 并退出启动它的应用程序)吗?

最佳答案

关于objective-c - 自毁 cocoa 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13990899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com