解包和反汇编 mach-o 二进制文件

逆向工程 拆卸 操作系统 加密 男子气概
2021-06-13 07:11:23

我正在尝试反转 OSX mach-o 二进制文件,
反汇编给了我一个废话,似乎它是用一些打包程序加密的。
我需要确定加密算法,并解密二进制文件。

加载命令
这是otool -l calculator 输出,
(似乎没有任何加密信息......但它是加密的)

加载命令 0
      cmd LC_SEGMENT_64
  cmdsize 72
  段名 __PAGEZERO
   vmaddr 0x0000000000000000
   虚拟机大小 0x0000000100000000
  归档 0
 文件大小 0
  最大保护 0x00000000
 初始化保护 0x00000000
   昆虫 0
    标志 0x0
加载命令 1
      cmd LC_SEGMENT_64
  cmdsize 1032
  段名 __TEXT
   vmaddr 0x0000000100000000
   虚拟机大小 0x000000000032f000
  归档 0
 文件大小 3338240
  最大保护 0x00000007
 初始化保护 0x00000007
   昆虫 12
    标志 0x0
部分
  教派名称 __text
   段名 __TEXT
      地址 0x0000000100001760
      大小 0x000000000028f4bc
    偏移 5984
     对齐 2^4 (16)
    重新关闭 0
    0
     标志 0x80000400
 保留 1 0
 保留 2 0
部分
  宗派名称 __stubs
   段名 __TEXT
      地址 0x0000000100290c1c
      大小 0x0000000000000762
    偏移量 2690076
     对齐 2^1 (2)
    重新关闭 0
    0
     标志 0x80000408
 reserved1 0(间接符号表的索引)
 reserved2 6(存根的大小)
部分
  宗派名称 __stub_helper
   段名 __TEXT
      地址 0x0000000100291380
      大小 0x0000000000000c5e
    偏移量 2691968
     对齐 2^2 (4)
    重新关闭 0
    0
     标志 0x80000400
 保留 1 0
 保留 2 0
部分
  sectname __objc_methname
   段名 __TEXT
      地址 0x0000000100291fde
      大小 0x0000000000015697
    偏移量 2695134
     对齐 2^0 (1)
    重新关闭 0
    0
     标志 0x00000002
 保留 1 0
 保留 2 0
部分
  sectname __cstring
   段名 __TEXT
      地址 0x00000001002a7680
      大小 0x0000000000023fdc
    偏移量 2782848
     对齐 2^4 (16)
    重新关闭 0
    0
     标志 0x00000002
 保留 1 0
 保留 2 0
部分
  宗派名称 __const
   段名 __TEXT
      地址 0x00000001002cb660
      大小 0x0000000000006b50
    偏移量 2930272
     对齐 2^4 (16)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __ustring
   段名 __TEXT
      地址 0x00000001002d21b0
      大小 0x00000000000007de
    偏移量 2957744
     对齐 2^1 (2)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_classname
   段名 __TEXT
      地址 0x00000001002d298e
      大小 0x0000000000000b42
    偏移量 2959758
     对齐 2^0 (1)
    重新关闭 0
    0
     标志 0x00000002
 保留 1 0
 保留 2 0
部分
  sectname __objc_methtype
   段名 __TEXT
      地址 0x00000001002d34d0
      大小 0x00000000000069c4
    偏移量 2962640
     对齐 2^0 (1)
    重新关闭 0
    0
     标志 0x00000002
 保留 1 0
 保留 2 0
部分
  sectname __gcc_except_tab
   段名 __TEXT
      地址 0x00000001002d9e94
      大小 0x0000000000007b48
    偏移量 2989716
     对齐 2^2 (4)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  宗派名称 __unwind_info
   段名 __TEXT
      地址 0x00000001002e19dc
      大小 0x0000000000002814
    偏移量 3021276
     对齐 2^0 (1)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  宗派名称 __eh_frame
   段名 __TEXT
      地址 0x00000001002e41f0
      大小 0x000000000004ae08
    偏移量 3031536
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
加载命令 2
      cmd LC_SEGMENT_64
  cmdsize 1832
  段名 __DATA
   vmaddr 0x000000010032f000
   虚拟机大小 0x0000000000160000
  归档 3338240
 文件大小 1396736
  最大保护 0x00000007
 初始化保护 0x00000003
   昆虫 22
    标志 0x0
部分
  sectname __program_vars
   段名 __DATA
      地址 0x000000010032f000
      大小 0x0000000000000028
    偏移量 3338240
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  宗派名称 __nl_symbol_ptr
   段名 __DATA
      地址 0x000000010032f028
      大小 0x0000000000000010
    偏移量 3338280
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000006
 reserved1 315(间接符号表的索引)
 保留 2 0
部分
  教派名称 __got
   段名 __DATA
      地址 0x000000010032f038
      大小 0x0000000000000218
    偏移量 3338296
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000006
 reserved1 317(间接符号表的索引)
 保留 2 0
部分
  宗派名称 __la_symbol_ptr
   段名 __DATA
      地址 0x000000010032f250
      大小 0x00000000000009d8
    偏移量 3338832
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000007
 reserved1 384(间接符号表的索引)
 保留 2 0
部分
  sectname __pointers
   段名 __DATA
      地址 0x000000010032fc28
      大小 0x0000000000000008
    偏移量 3341352
     对齐 2^0 (1)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  宗派名称 __const
   段名 __DATA
      地址 0x000000010032fc30
      大小 0x00000000000051d0
    偏移量 3341360
     对齐 2^4 (16)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_classlist
   段名 __DATA
      地址 0x0000000100334e00
      大小 0x00000000000002f8
    偏移量 3362304
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x10000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_nlclslist
   段名 __DATA
      地址 0x00000001003350f8
      大小 0x0000000000000008
    偏移量 3363064
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x10000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_catlist
   段名 __DATA
      地址 0x0000000100335100
      大小 0x0000000000000048
    偏移量 3363072
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x10000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_protolist
   段名 __DATA
      地址 0x0000000100335148
      大小 0x0000000000000158
    偏移量 3363144
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_imageinfo
   段名 __DATA
      地址 0x00000001003352a0
      大小 0x0000000000000008
    偏移量 3363488
     对齐 2^2 (4)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  教派名称 __objc_const
   段名 __DATA
      地址 0x00000001003352a8
      大小 0x000000000002c718
    偏移量 3363496
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_selrefs
   段名 __DATA
      地址 0x00000001003619c0
      大小 0x0000000000004c70
    偏移量 3545536
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x10000005
 保留 1 0
 保留 2 0
部分
  sectname __objc_protorefs
   段名 __DATA
      地址 0x0000000100366630
      大小 0x0000000000000028
    偏移 3565104
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_classrefs
   段名 __DATA
      地址 0x0000000100366658
      大小 0x0000000000000530
    偏移量 3565144
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x10000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_superrefs
   段名 __DATA
      地址 0x0000000100366b88
      大小 0x0000000000000218
    偏移量 3566472
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x10000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_data
   段名 __DATA
      地址 0x0000000100366da0
      大小 0x0000000000001e00
    偏移 3567008
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __objc_ivar
   段名 __DATA
      地址 0x0000000100368ba0
      大小 0x0000000000001888
    偏移量 3574688
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  sectname __cfstring
   段名 __DATA
      地址 0x000000010036a428
      大小 0x000000000000ff60
    偏移 3580968
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  宗派名称 __data
   段名 __DATA
      地址 0x000000010037a390
      大小 0x0000000000109c38
    偏移量 3646352
     对齐 2^4 (16)
    重新关闭 0
    0
     标志 0x00000000
 保留 1 0
 保留 2 0
部分
  宗派名称 __bss
   段名 __DATA
      地址 0x0000000100483fd0
      大小 0x000000000000a898
    偏移量 0
     对齐 2^4 (16)
    重新关闭 0
    0
     标志 0x00000001
 保留 1 0
 保留 2 0
部分
  宗派名称 __common
   段名 __DATA
      地址 0x000000010048e868
      大小 0x00000000000004a8
    偏移量 0
     对齐 2^3 (8)
    重新关闭 0
    0
     标志 0x00000001
 保留 1 0
 保留 2 0
加载命令 3
      cmd LC_SEGMENT_64
  cmdsize 72
  段名 __LINKEDIT
   vmaddr 0x000000010048f000
   虚拟机大小 0x000000000001b000
  归档 4734976
 文件大小 108304
  最大保护 0x00000007
 初始化保护 0x00000001
   昆虫 0
    标志 0x0
加载命令 4
            cmd LC_DYLD_INFO_ONLY
        cmdsize 48
     rebase_off 4734976
    rebase_size 10256
       绑定关闭 4745232
      绑定大小 6696
  弱绑定关闭 4751928
 弱绑定大小 40
  懒惰绑定关闭 4751968
 懒惰绑定大小 8056
     export_off 4760024
    出口尺寸 28752
加载命令 5
     cmd LC_SYMTAB
 cmdsize 24
  symoff 4788776
   第 492 章
  斯特罗夫 4799444
 字符串大小 10680
加载命令 6
            cmd LC_DYSYMTAB
        cmdsize 80
      本地符号 0
      本地符号 1
     iextdefsym 1
     下一个定义符号 1
      未定义符号 2
      第 490 章
         0
           0
      模型 0
        nmodtab 0
   extrefsymoff 0
    下一个参考符号 0
 间接符号 4796648
  第 699 章
      外挂 0
        下一个 0
      洛瑞洛夫 0
        氯雷他定 0
加载命令 7
          cmd LC_LOAD_DYLINKER
      cmdsize 32
         名称 /usr/lib/dyld(偏移 12)
加载命令 8
     cmd LC_UUID
 cmdsize 24
    uuid 1AF510C1-9C81-3DCA-9ADE-2B00ED53EF5F
加载命令 9
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  版本 10.7
      软件开发工具包 10.9
加载命令 10
        cmd LC_UNIXTHREAD
    cmdsize 184
     风味 x86_THREAD_STATE64
      计数 x86_THREAD_STATE64_COUNT
   rax 0x0000000000000000 rbx 0x0000000000000000 rcx 0x0000000000000000
   rdx 0x0000000000000000 rdi 0x0000000000000000 rsi 0x0000000000000000
   rbp 0x0000000000000000 rsp 0x0000000000000000 r8 0x0000000000000000
    r9 0x000000000000000 r10 0x0000000000000000 r11 0x000000000000000
   r12 0x000000000000000 r13 0x0000000000000000 r14 0x0000000000000000
   r15 0x0000000000000000 rip 0x0000000100001760
rflags 0x0000000000000000 cs 0x0000000000000000 fs 0x0000000000000000
    gs 0x0000000000000000
加载命令 11
          cmd LC_LOAD_DYLIB
      cmdsize 88
         名称@loader_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle(偏移24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 1.5.0
兼容版本 1.5.0
加载命令 12
          cmd LC_LOAD_DYLIB
      cmdsize 56
         名称@rpath/libLLVM-3.4.dylib(偏移24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 0.0.0
兼容版本 0.0.0
加载命令 13
          cmd LC_LOAD_DYLIB
      cmdsize 56
         名称 /usr/lib/libexpat.1.dylib(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 7.2.0
兼容性版本 7.0.0
加载命令 14
          cmd LC_LOAD_DYLIB
      cmdsize 88
         名称 /System/Library/Frameworks/Python.framework/Versions/2.7/Python (offset 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 2.7.5
兼容版本 2.7.0
加载命令 15
          cmd LC_LOAD_DYLIB
      cmdsize 56
         名称 /usr/lib/libncurses.5.4.dylib(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 5.4.0
兼容版本 5.4.0
加载命令 16
          cmd LC_LOAD_DYLIB
      cmdsize 56
         名称 /usr/lib/libSystem.B.dylib(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 1197.1.1
兼容版本 1.0.0
加载命令 17
          cmd LC_LOAD_DYLIB
      cmdsize 56
         名称 /usr/lib/libcrypto.0.9.8.dylib(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 50.0.0
兼容版本 0.9.8
加载命令 18
          cmd LC_LOAD_DYLIB
      cmdsize 48
         名称 /usr/lib/libc++.1.dylib(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 120.0.0
兼容版本 1.0.0
加载命令 19
          cmd LC_LOAD_DYLIB
      cmdsize 48
         名称 /usr/lib/libz.1.dylib(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 1.2.5
兼容版本 1.0.0
加载命令 20
          cmd LC_LOAD_DYLIB
      cmdsize 96
         名称 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (offset 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 1.8.0
兼容版本 1.2.0
加载命令 21
          cmd LC_LOAD_DYLIB
      cmdsize 88
         名称 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 275.0.0
兼容版本 1.0.0
加载命令 22
          cmd LC_LOAD_DYLIB
      cmdsize 88
         名称 /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (offset 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 20.0.0
兼容版本 1.0.0
加载命令 23
          cmd LC_LOAD_DYLIB
      cmdsize 96
         名称 /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 1056.13.0
兼容版本 300.0.0
加载命令 24
          cmd LC_LOAD_DYLIB
      cmdsize 56
         名称 /usr/lib/libobjc.A.dylib(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 228.0.0
兼容版本 1.0.0
加载指令 25
          cmd LC_LOAD_DYLIB
      cmdsize 88
         名称 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 1265.19.0
兼容版本 45.0.0
加载指令 26
          cmd LC_LOAD_DYLIB
      命令行大小 112
         名称 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 48.0.0
兼容版本 1.0.0
加载命令 27
          cmd LC_LOAD_DYLIB
      命令行大小 104
         名称 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 59.0.0
兼容版本 1.0.0
加载指令 28
          cmd LC_LOAD_DYLIB
      命令行大小 104
         名称 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation(偏移 24)
   时间戳 2 Thu Jan 1 04:00:02 1970
      当前版本 855.14.0
兼容版本 150.0.0
加载命令 29
          cmd LC_RPATH
      cmdsize 48
         路径@executable_path/../Frameworks(偏移12)
加载命令 30
      cmd LC_DATA_IN_CODE
  cmdsize 16
  数据关闭 4788776
 数据大小 0
加载命令 31
      cmd LC_CODE_SIGNATURE
  cmdsize 16
  数据关闭 4810128
 数据大小 33152

分解
这是otool -tvV calculator输出块

0000000100001760 拉夫
0000000100001761 popq %rcx
0000000100001763 rolb $0xe2,0xc3c024ac(%rax)
000000010000176a jne 0x1000016ef
000000010000176c .byte 0x06 #坏操作码
000000010000176d sbbb %al,0x5b(%rsi)
0000000100001770 jle 0x10000178f
0000000100001772 xorl %edi,0x30659afe(%rsi)
0000000100001778 fldenvq 0xc9e9c0e1(%r14)
000000010000177f xorl %esp,%esp
0000000100001781 xchgl %esp,%eax
0000000100001782 xchgl %esi,%eax
0000000100001783 等待/jrcxz 0x1000017ed
0000000100001786 stosl %eax,(%edi)
0000000100001787 xchgl %edi,%eax
0000000100001788 jbe 0x100001727
000000010000178a stc
000000010000178b jns 0x100001748
000000010000178d xorl %ecx,0x13(%rbx,%rbx,8)
0000000100001791 popq %rax
0000000100001793 sbbl $0xe9507796,%eax
0000000100001798 popq %rbx
0000000100001799 incb (%rbx)
000000010000179b js 0x100001778
000000010000179e addb %ch,%bh
00000001000017a0 testl 0xe4(%rcx),%ebp
00000001000017a3 imull $0xfe,0xf6(%rcx),%esp
00000001000017a7 clc
00000001000017a8 imull $0x85bb1b76,0x65(%rdx),%ebp
00000001000017af cld
00000001000017b0 testb 0xc9(%rax),%cl
00000001000017b3 循环 0x10000175d
00000001000017b5 和b %ah,0x4c79a1ae(%rax)
00000001000017bb orl 0x90da6a05(%rbp,%rdx),%esi
00000001000017c2 sbbb %ch,%ch
00000001000017c4 jrcxz 0x100001780
00000001000017c6 xorb $0x6c,%al
00000001000017c8 jne 0x1000017b9
00000001000017ca orb %cl,0x13(%rcx,%rsi)
00000001000017ce ficompl 0x7d4a8745(%rbp)
00000001000017d4 .byte 0x07 #坏操作码
00000001000017d5 mov %?6,(%rax)
00000001000017d7 insl
00000001000017d8 .byte 0xd4 #坏操作码
00000001000017d9 movb %dl,%al
00000001000017db .byte 0xdd, 0x2f #bad opcode
00000001000017dd lcall $0x76f5,$0xedc7f289
00000001000017e4 subb $0xd3,%al
00000001000017e6 仔细考虑 0xa4(%rsi)
00000001000017e9 popf
00000001000017ea inl $0xf4,%eax
00000001000017ec adcl $0x413fe92b,(%rdi)
00000001000017f2 sarl $0x12,0xf5(%rcx)
00000001000017f6 addb %dh,0xec(%rbx,%rcx)
00000001000017fa movabsb 0x63ea27230d2c31f2,%r8d
0000000100001804 movl $0x12d794f0,%ecx
0000000100001809 subb $0x20,%al
000000010000180c shll %esi
000000010000180e repz/falc
0000000100001810 movb $0xd9,%dh
0000000100001812 outl %eax,%dx
0000000100001813 循环 0x1000017ab
0000000100001815 movl $0x781ecd57,%edi
000000010000181b pushq %rdi
000000010000181c addb $0x7e,%ah
000000010000181f inl $0x40,%eax
0000000100001821 acl $0xd480505a,%eax
0000000100001826 cmpl $0x28a6762d,%eax
000000010000182b ljmpl *0x36(%rdx,%rbx)
000000010000182f .byte 0xce #坏操作码
0000000100001830 xchgl %edx,%eax
0000000100001831 movabsl %eax,0x6d3cb9568b4b88a5
000000010000183a subl 0xa8d980d9(%rbx,%rdi,8),%eax
0000000100001841 popq %rdi
0000000100001842 pushq $0x4c
0000000100001844 subb $0x97,%al
0000000100001846 .byte 0x43, 0x82, 0x25 #bad opcode
0000000100001849 adcb %ah,%ah
000000010000184b testb 0x3141d9d1(%rbx),%ah
0000000100001851 sbbl $0xc405e320,%eax
0000000100001856 xchgl %ecx,%eax
0000000100001857 paddb %mm2,%mm1
000000010000185a xorl %edi,%edi
000000010000185c clc
000000010000185d jmp 0x100001885
000000010000185f xchgl %esi,%eax
0000000100001860 等待/jae 0x1000018a8
0000000100001863 lret
0000000100001864 jb 0x1000018ae
0000000100001866 fisubrs (%rsi)
0000000100001869 lodsb (%esi),%al
000000010000186a pushq %rsp
000000010000186b .byte 0x27 #坏操作码
000000010000186c lret
000000010000186d cmpl %eax,(%rdx)
000000010000186f orb $0xa2,%al
0000000100001871 movl $0xb2bf2631,%ebp
0000000100001876 sti
0000000100001877 movl 0x87b0df80(%rsp,%rcx,8),%ecx
000000010000187e hlt
000000010000187f inb $0x42,%al
0000000100001881 和 %esi,%ebx
0000000100001883 adcl %eax,0xa587d6ff(%rsi)
0000000100001889 movsll %ch,%esp
000000010000188b clc
000000010000188c xchgl %ecx,%eax
000000010000188d sbbb $0x82,%al
000000010000188f cwtl
0000000100001890 movl $0x673e9a73,%ebx
0000000100001895 movb $0x18,%bl
0000000100001899 leal 0x87(%rax),%edi
000000010000189c .byte 0x37 #bad opcode
000000010000189d jns 0x10000187a
000000010000189f .byte 0x06 #坏操作码
00000001000018a0 rolb $0x44,(%rsp,%rax,4)
00000001000018a4 movsll %cl,%edx
00000001000018a6 fiaddl 0xf4061e00(%rip)
00000001000018ac jo 0x100001838
00000001000018ae stosl %eax,(%edi)
00000001000018af adcb 0xac1ff7e3(%rcx),%dl
00000001000018b5 testl $0x51d2321e,%eax
00000001000018ba movl $0x10cb41ba,%ebp
00000001000018bf shrb 0xa724e9d8(%rdx)
00000001000018c5 fcompl 0x31(%rbp)
00000001000018c8 xorb (%rdi,%rdx,4),%ch
00000001000018cb leal %eax,%eax
00000001000018cd addb %dh,%ah
00000001000018cf movsl (%esi),(%edi)
00000001000018d0 addb 0x64cc6bfb(%rcx),%bh
00000001000018d6 testl 0xb4f698f5(%r10),%esi
00000001000018dd mov %esp,%?6
00000001000018df pushf
00000001000018e0 popq %rsi
00000001000018e1 jmp 0x83f231a4
00000001000018e6 .byte 0xd3, 0xf3 #坏操作码
00000001000018e8 orl %ebp,0xf1(%rdx)
00000001000018eb movl $0xf2f3e10c,0x35(%rdi,%rbx)
00000001000018f3 xchgl %esi,%eax
00000001000018f4 sbbb %r11d,%esp
00000001000018f7 movl $0x30412d40,%eax
00000001000018fc insl
00000001000018ff popq %rsi
0000000100001900 萨夫
0000000100001901 popq %rax
0000000100001902 jrcxz 0x10000197c
0000000100001904 和l 0x758d6d0d(%rsi),%ecx
000000010000190a movb $0x89,%ch
000000010000190c fistpq 0xa5(%rsi)
000000010000190f .byte 0x62 #坏操作码
0000000100001910 萨夫
0000000100001911 循环 0x10000193b
0000000100001913 jg 0x100001908
0000000100001915 cmpsl (%esi),(%edi)
0000000100001916 movsl (%esi),(%edi)
0000000100001917 愤怒
0000000100001918 scasl %eax,(%edi)
0000000100001919 .byte 0x0e #坏操作码
000000010000191a xorb %cl,(%rcx)
000000010000191c stosb %al,(%edi)
000000010000191d andb $0x9b,%al
000000010000191f cmpl $0x72a850c7,0xbdced867(%rax,2)
000000010000192a 杰 0x1000018c0
000000010000192c .byte 0xd3, 0xf6 #bad opcode
000000010000192e 调用 $0x608c,$0x851d69e3
0000000100001935 .byte 0x62 #bad opcode
0000000100001936 xchgl %ecx,%eax
0000000100001937 cmpb %ah,%cs:%cl
000000010000193a movsb (%esi),(%edi)
000000010000193b subb $0xc7,%al
000000010000193d outl %eax,$0x05
000000010000193f je 0x100001999
0000000100001941 inl $%cs:0x7d,%eax
0000000100001944 sbbl %ebp,0x7c5ec982(%rdx)
000000010000194a movsl (%esi),(%edi)
000000010000194b xchgl %ecx,%eax
000000010000194c movl $0x1393211e,%ecx
0000000100001951 .byte 0x27 #坏操作码
0000000100001952 cmpsl (%esi),(%edi)
0000000100001953 xchgl %esp,%eax
0000000100001954 .byte 0x1f #坏操作码
0000000100001955 addl $0x6ed2f22b,%eax
000000010000195a insb
000000010000195b .byte 0x67, 0xd5 #坏操作码
000000010000195d cmpl (%rdi),%edi
000000010000195f popq %rbp
0000000100001960 回复
0000000100001961 addl $0x961d3d82,%eax
0000000100001966 回复
0000000100001967 jle 0x100001938
0000000100001969 .byte 0x1e #坏操作码
000000010000196a 循环 0x100001936
000000010000196c movsl (%esi),(%edi)
000000010000196d 和 b $0xfc,(%rax)
0000000100001970 xchgl %ecx,%eax
0000000100001971 pushf
0000000100001972 movb $0xb0,%ah
0000000100001974 popq %rbp
0000000100001975 拉夫
0000000100001976 sbbl $0x9605ee9d,%eax
000000010000197b incb %bh
000000010000197d cmpl (%rcx),%ecx
000000010000197f testb 0x90(%rsp,%rsi,8),%ecx
0000000100001985 repz/int $0x3
0000000100001987 .byte 0x4c, 0x2f #坏操作码
0000000100001989 ljmp $0x072a,$0x233e8063
0000000100001990请假
0000000100001991 orb %al,(%rdx)
0000000100001993 andl (%rcx),%ebp
0000000100001995 ljmpl *(%rbx)
0000000100001997 shlb 0x26(%rdi)
000000010000199a movl $0x592a9d36,%esp

LLVM 反汇编器失败并显示输出

(__TEXT,__text) 部分
分段错误:11

通过cycript注入

我试图通过工具cycript转储image并修补它dd,但似乎这个技巧不起作用并且二进制文件被破坏了。

调试器

gdb/lldb无法连接/启动这一进程,因为它的用途pt_deny_atach/ sysctl/kauth反调试技术。

我还尝试修补 osx 内核(因为程序集不可用,我无法nop调用) - 忽略反调试调用,但在此过程没有事件启动后,只是挂断(但其他应用程序如Github,iTunes启动没有任何问题,似乎它具有反反调试保护:))。

你能否建议一些额外的技术(或建议我可以尝试什么)来获得简单的组装?

0个回答
没有发现任何回复~