美文网首页
ios逆向笔记之破坏 ‘修改RESTRICT段的防护’ 以及对应

ios逆向笔记之破坏 ‘修改RESTRICT段的防护’ 以及对应

作者: 第x个等于4乘x的阶乘 | 来源:发表于2020-06-13 22:42 被阅读0次

    1.利用synalyze it !pro来修改RESTRICT段

    将对应的二进制修改一个字段 达到修改RESTRICT段无效 继续hook

    2.那么接下来如果我想防止别人更改我的二进制 应该怎么做呢 我要确保我macho里面有__RESTRICT这个段 并且值为__restrict 那么首先我们需要拿到我们的macho文件的信息


    3.首先我门回到dyld源码里面看下这个函数 只要我们能拿到我们自己的macho文件信息 那么就能拿到我们自己添加的__RESTRICT段和__restrict


    4.在我们的项目里面导入

    1)#import

    #import <mach-o/dyld.h>

    这两个头文件

    首先在#import 里面

    可以看到有两个这个头的结构体

    2)在#import 里面

    我们能拿到我们的头信息

    5.将dyld函数拷贝到我们的项目里

    1)回到我们的dyld看这些爆红的参数是怎么定义的

    首先我们看下LC_SEGMENT_COMMAND这个函数的定义

    将这些定义拷贝到我们代码里面 同时定义macho_header

    2)extern const struct mach_header*  _dyld_get_image_header(uint32_t image_index)        __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_2_0);

    这个函数image_index是个什么呢?

    运行项目LLDB调试image list

    这个就是我们的macho文件

    3)

    我们将#import <mach-o/loader.h>的macho_header定义到宏里面

    4)那么我们现在可以直接检测了

    然后运行 

    那么基于修改二进制的防护也就成功了

    相关文章

      网友评论

          本文标题:ios逆向笔记之破坏 ‘修改RESTRICT段的防护’ 以及对应

          本文链接:https://www.haomeiwen.com/subject/gzctxktx.html