Simple antidebugging and antiantidebugging

2018-02-27 11:09:25来源:http://blog.linhere.com/archives/607.html作者:东风路倒垃圾的人点击

分享


http://everettjf.com/2015/12/28/simple-ios-antidebugging-and-antiantidebugging/


ptrace


保护

可以在main函数中先调用ptrace。


#import <mach-o/dyld.h>
#import <dlfcn.h>
 
int main(int argc, char * argv[]) {
 
#ifndef DEBUG
    typedef int (*ptrace_type)(int request, pid_t pid,caddr_t addr,int data);
    void *handle = dlopen(0, 0xA);
    ptrace_type pt = (ptrace_type)dlsym(handle, "ptrace");
    pt(31,0,0,0);
    dlclose(handle);
#endif
 
//...
}
去掉保护

参考文章 https://everettjf.github.io/2015/12/20/amap-ios-client-kill-anti-debugging-protect/


RESTRICT section

学习完这本书,发现cycript太好用了,Objective-C这语言太灵活了…… 但,有些程序无法使用。


保护


在Project的Other Linker Flags
增加


-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null
去掉保护

基本思路就是,



ps -e | grep /var
找到AppBinary路径


把AppBinary复制出


二进制编辑器(iHex等)修改__RESTRICT和__restrict为其他值。(比如:__RRRRRRRR和__rrrrrrrr。保证长度不变就行啦)



ldid -S AppBinary
重签名。



Cydia中安装AppSync


在这篇文章中 http://www.iosre.com/t/tweak-app-app-tweak/438


参考文章


http://www.iosre.com/t/tweak-app-app-tweak/438


http://www.samdmarshall.com/blog/blocking_code_injection_on_ios_and_os_x.html155


http://geohot.com/e7writeup.html50


http://www.opensource.apple.com/source/dyld/dyld-210.2.3/src/dyld.cpp42


https://theiphonewiki.com/wiki/Launchd.conf_untether17


http://navillezhang.me/



最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台