Tôi đã tryign triển khai mã vi phạm bản quyền chống sau đây từ wiki này: http://theiphonewiki.com/wiki/index.php?title=Bugging_DebuggersTriển khai mã PT_DENY_ATTACH chống vi phạm bản quyền
Nhưng dù sau nó vào thư thoát khỏi ứng dụng của tôi với một
Program exited with status value:45.
Khi tôi kiểm tra nó. Nếu tôi bình luận ra lệnh gọi hàm disable_gdb(); ứng dụng chạy như bình thường.
Tôi đang làm gì sai. Hoặc là nó mã đang làm như nó nên .. và thoát trong khi xcode được đính kèm?
#import <UIKit/UIKit.h>
#import <dlfcn.h>
#import <sys/types.h>
typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);
#if !defined(PT_DENY_ATTACH)
#define PT_DENY_ATTACH 31
#endif // !defined(PT_DENY_ATTACH)
int main(int argc, char *argv[])
{
NSLog(@"Main Called ");
disable_gdb();
NSLog(@"After cracker code");
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
void disable_gdb()
{
void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);
ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");
ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);
dlclose(handle);
}
int main3(int argc, char *argv[])
{
return -1;
}
tử tế nhất mà Kính trọng, -Code
Vì vậy, câu trả lời là không có điểm trong cố gắng để ngăn chặn một debugger từ gỡ lỗi ứng dụng của bạn? – Chicowitz