HEADER:0000000100000000 ;
HEADER:0000000100000000 ; +-------------------------------------------------------------------------+
HEADER:0000000100000000 ; | This file was generated by The Interactive Disassembler (IDA) |
HEADER:0000000100000000 ; | Copyright (c) 2022 Hex-Rays, <support@hex-rays.com> |
HEADER:0000000100000000 ; +-------------------------------------------------------------------------+
HEADER:0000000100000000 ;
HEADER:0000000100000000 ; Input SHA256 : 0D2B2F0E5D3BF95B7FDCC3BD465B0D34C9597AF3DDE635839866483EEFE43F9B
HEADER:0000000100000000 ; Input MD5 : 4A2234EBDE251890B142C57DA8754FA5
HEADER:0000000100000000 ; Input CRC32 : 1B042DAF
HEADER:0000000100000000
HEADER:0000000100000000
HEADER:0000000100000000 ; Processor : ARM
HEADER:0000000100000000 ; ARM architecture: metaarm
HEADER:0000000100000000 ; Target assembler: Generic assembler for ARM
HEADER:0000000100000000 ; Byte sex : Little endian
HEADER:0000000100000000
HEADER:0000000100000000 ; ===========================================================================
HEADER:0000000100000000
HEADER:0000000100000000 ; [00003BBC BYTES: COLLAPSED SEGMENT HEADER. PRESS CTRL-NUMPAD+ TO EXPAND]
__text:0000000100003BBC ; ===========================================================================
__text:0000000100003BBC
__text:0000000100003BBC ; Segment type: Pure code
__text:0000000100003BBC AREA __text, CODE
__text:0000000100003BBC ; ORG 0x100003BBC
__text:0000000100003BBC CODE64
__text:0000000100003BBC
__text:0000000100003BBC ; =============== S U B R O U T I N E =======================================
__text:0000000100003BBC
__text:0000000100003BBC ; Attributes: bp-based frame
__text:0000000100003BBC
__text:0000000100003BBC ; int __cdecl main(int argc, const char **argv, const char **envp)
__text:0000000100003BBC EXPORT _main
__text:0000000100003BBC _main
__text:0000000100003BBC
__text:0000000100003BBC anonymous_0= -0x108
__text:0000000100003BBC var_100= -0x100
__text:0000000100003BBC var_F8= -0xF8
__text:0000000100003BBC var_F4= -0xF4
__text:0000000100003BBC var_F0= -0xF0
__text:0000000100003BBC var_EC= -0xEC
__text:0000000100003BBC var_E8= -0xE8
__text:0000000100003BBC var_E4= -0xE4
__text:0000000100003BBC var_E0= -0xE0
__text:0000000100003BBC var_DC= -0xDC
__text:0000000100003BBC var_D8= -0xD8
__text:0000000100003BBC var_D0= -0xD0
__text:0000000100003BBC var_C4= -0xC4
__text:0000000100003BBC var_C0= -0xC0
__text:0000000100003BBC var_B4= -0xB4
__text:0000000100003BBC __dst= -0xB0
__text:0000000100003BBC var_18= -0x18
__text:0000000100003BBC var_10= -0x10
__text:0000000100003BBC var_8= -8
__text:0000000100003BBC var_s0= 0
__text:0000000100003BBC
__text:0000000100003BBC FC 6F BE A9 STP X28, X27, [SP,#-0x10+var_10]!
__text:0000000100003BC0 FD 7B 01 A9 STP X29, X30, [SP,#0x10+var_s0]
__text:0000000100003BC4 FD 43 00 91 ADD X29, SP, #0x10
__text:0000000100003BC8 FF 03 04 D1 SUB SP, SP, #0x100
__text:0000000100003BCC 08 00 00 B0 ADRP X8, #___stack_chk_guard_ptr@PAGE
__text:0000000100003BD0 08 09 40 F9 LDR X8, [X8,#___stack_chk_guard_ptr@PAGEOFF]
__text:0000000100003BD4 08 01 40 F9 LDR X8, [X8]
__text:0000000100003BD8 A8 83 1E F8 STUR X8, [X29,#var_18]
__text:0000000100003BDC BF C3 14 B8 STUR WZR, [X29,#var_B4]
__text:0000000100003BE0 08 00 00 90 08 11 3A 91 ADRL X8, aFlagXxxxxxxxxx ; "flag{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}"
__text:0000000100003BE8 A8 03 14 F8 STUR X8, [X29,#var_C0]
__text:0000000100003BEC A0 C3 02 D1 SUB X0, X29, #-__dst ; __dst
__text:0000000100003BF0 01 00 00 90 21 40 3C 91 ADRL X1, unk_100003F10 ; __src
__text:0000000100003BF8 02 13 80 D2 MOV X2, #0x98 ; __n
__text:0000000100003BFC 99 00 00 94 BL _memcpy
__text:0000000100003BFC
__text:0000000100003C00 A0 03 54 F8 LDUR X0, [X29,#var_C0] ; __s
__text:0000000100003C04 9D 00 00 94 BL _strlen
__text:0000000100003C04
__text:0000000100003C08 E8 03 00 AA MOV X8, X0
__text:0000000100003C0C A8 C3 13 B8 STUR W8, [X29,#var_C4]
__text:0000000100003C10 A8 C3 53 B8 LDUR W8, [X29,#var_C4]
__text:0000000100003C14 08 05 00 11 ADD W8, W8, #1
__text:0000000100003C18 E9 03 00 91 MOV X9, SP
__text:0000000100003C1C A9 03 13 F8 STUR X9, [X29,#var_D0]
__text:0000000100003C20 09 F5 7E D3 LSL X9, X8, #2
__text:0000000100003C24 29 3D 00 91 ADD X9, X9, #0xF
__text:0000000100003C28 29 ED 7C 92 AND X9, X9, #0xFFFFFFFFFFFFFFF0
__text:0000000100003C2C AA 23 00 D1 SUB X10, X29, #-var_8
__text:0000000100003C30 49 01 10 F8 STUR X9, [X10,#-0x100]
__text:0000000100003C34 10 00 00 B0 ADRP X16, #___chkstk_darwin_ptr@PAGE
__text:0000000100003C38 10 02 40 F9 LDR X16, [X16,#___chkstk_darwin_ptr@PAGEOFF]
__text:0000000100003C3C 00 02 3F D6 BLR X16
__text:0000000100003C3C
__text:0000000100003C40 A9 23 00 D1 SUB X9, X29, #-var_8
__text:0000000100003C44 2A 01 50 F8 LDUR X10, [X9,#-0x100]
__text:0000000100003C48 E9 03 00 91 MOV X9, SP
__text:0000000100003C4C 29 01 0A EB SUBS X9, X9, X10
__text:0000000100003C50 3F 01 00 91 MOV SP, X9
__text:0000000100003C54 A9 03 10 F8 STUR X9, [X29,#var_100]
__text:0000000100003C58 A8 83 12 F8 STUR X8, [X29,#var_D8]
__text:0000000100003C5C BF 43 12 B8 STUR WZR, [X29,#var_DC]
__text:0000000100003C60 01 00 00 14 B loc_100003C64
__text:0000000100003C60
__text:0000000100003C64 ; ---------------------------------------------------------------------------
__text:0000000100003C64
__text:0000000100003C64 loc_100003C64 ; CODE XREF: _main+A4↑j
__text:0000000100003C64 ; _main+110↓j
__text:0000000100003C64 A8 43 52 B8 LDUR W8, [X29,#var_DC]
__text:0000000100003C68 A9 C3 53 B8 LDUR W9, [X29,#var_C4]
__text:0000000100003C6C 08 01 09 6B SUBS W8, W8, W9
__text:0000000100003C70 E8 B7 9F 1A CSET W8, GE
__text:0000000100003C74 E8 02 00 37 TBNZ W8, #0, loc_100003CD0
__text:0000000100003C74
__text:0000000100003C78 01 00 00 14 B loc_100003C7C
__text:0000000100003C78
__text:0000000100003C7C ; ---------------------------------------------------------------------------
__text:0000000100003C7C
__text:0000000100003C7C loc_100003C7C ; CODE XREF: _main+BC↑j
__text:0000000100003C7C A9 03 50 F8 LDUR X9, [X29,#var_100]
__text:0000000100003C80 A8 03 54 F8 LDUR X8, [X29,#var_C0]
__text:0000000100003C84 AA 43 92 B8 LDURSW X10, [X29,#var_DC]
__text:0000000100003C88 08 69 EA 38 LDRSB W8, [X8,X10]
__text:0000000100003C8C A8 03 12 B8 STUR W8, [X29,#var_E0]
__text:0000000100003C90 A8 03 52 B8 LDUR W8, [X29,#var_E0]
__text:0000000100003C94 0A 0A 80 52 MOV W10, #0x50 ; 'P'
__text:0000000100003C98 08 7D 0A 1B MUL W8, W8, W10
__text:0000000100003C9C 08 51 00 11 ADD W8, W8, #0x14
__text:0000000100003CA0 AA 09 80 52 MOV W10, #0x4D ; 'M'
__text:0000000100003CA4 08 01 0A 4A EOR W8, W8, W10
__text:0000000100003CA8 08 79 00 11 ADD W8, W8, #0x1E
__text:0000000100003CAC A8 C3 11 B8 STUR W8, [X29,#var_E4]
__text:0000000100003CB0 A8 C3 51 B8 LDUR W8, [X29,#var_E4]
__text:0000000100003CB4 AA 43 92 B8 LDURSW X10, [X29,#var_DC]
__text:0000000100003CB8 28 79 2A B8 STR W8, [X9,X10,LSL#2]
__text:0000000100003CBC 01 00 00 14 B loc_100003CC0
__text:0000000100003CBC
__text:0000000100003CC0 ; ---------------------------------------------------------------------------
__text:0000000100003CC0
__text:0000000100003CC0 loc_100003CC0 ; CODE XREF: _main+100↑j
__text:0000000100003CC0 A8 43 52 B8 LDUR W8, [X29,#var_DC]
__text:0000000100003CC4 08 05 00 11 ADD W8, W8, #1
__text:0000000100003CC8 A8 43 12 B8 STUR W8, [X29,#var_DC]
__text:0000000100003CCC E6 FF FF 17 B loc_100003C64
__text:0000000100003CCC
__text:0000000100003CD0 ; ---------------------------------------------------------------------------
__text:0000000100003CD0
__text:0000000100003CD0 loc_100003CD0 ; CODE XREF: _main+B8↑j
__text:0000000100003CD0 A9 03 50 F8 LDUR X9, [X29,#var_100]
__text:0000000100003CD4 AA C3 93 B8 LDURSW X10, [X29,#var_C4]
__text:0000000100003CD8 08 00 80 52 MOV W8, #0
__text:0000000100003CDC 28 79 2A B8 STR W8, [X9,X10,LSL#2]
__text:0000000100003CE0 BF 83 11 B8 STUR WZR, [X29,#var_E8]
__text:0000000100003CE4 01 00 00 14 B loc_100003CE8
__text:0000000100003CE4
__text:0000000100003CE8 ; ---------------------------------------------------------------------------
__text:0000000100003CE8
__text:0000000100003CE8 loc_100003CE8 ; CODE XREF: _main+128↑j
__text:0000000100003CE8 ; _main+194↓j
__text:0000000100003CE8 A8 83 51 B8 LDUR W8, [X29,#var_E8]
__text:0000000100003CEC A9 C3 53 B8 LDUR W9, [X29,#var_C4]
__text:0000000100003CF0 08 01 09 6B SUBS W8, W8, W9
__text:0000000100003CF4 E8 B7 9F 1A CSET W8, GE
__text:0000000100003CF8 E8 02 00 37 TBNZ W8, #0, loc_100003D54
__text:0000000100003CF8
__text:0000000100003CFC 01 00 00 14 B loc_100003D00
__text:0000000100003CFC
__text:0000000100003D00 ; ---------------------------------------------------------------------------
__text:0000000100003D00
__text:0000000100003D00 loc_100003D00 ; CODE XREF: _main+140↑j
__text:0000000100003D00 A9 03 50 F8 LDUR X9, [X29,#var_100]
__text:0000000100003D04 A8 03 54 F8 LDUR X8, [X29,#var_C0]
__text:0000000100003D08 AA 83 91 B8 LDURSW X10, [X29,#var_E8]
__text:0000000100003D0C 08 69 EA 38 LDRSB W8, [X8,X10]
__text:0000000100003D10 A8 43 11 B8 STUR W8, [X29,#var_EC]
__text:0000000100003D14 A8 43 51 B8 LDUR W8, [X29,#var_EC]
__text:0000000100003D18 0A 0A 80 52 MOV W10, #0x50 ; 'P'
__text:0000000100003D1C 08 7D 0A 1B MUL W8, W8, W10
__text:0000000100003D20 08 51 00 11 ADD W8, W8, #0x14
__text:0000000100003D24 AA 09 80 52 MOV W10, #0x4D ; 'M'
__text:0000000100003D28 08 01 0A 4A EOR W8, W8, W10
__text:0000000100003D2C 08 79 00 11 ADD W8, W8, #0x1E
__text:0000000100003D30 A8 03 11 B8 STUR W8, [X29,#var_F0]
__text:0000000100003D34 A8 03 51 B8 LDUR W8, [X29,#var_F0]
__text:0000000100003D38 AA 83 91 B8 LDURSW X10, [X29,#var_E8]
__text:0000000100003D3C 28 79 2A B8 STR W8, [X9,X10,LSL#2]
__text:0000000100003D40 01 00 00 14 B loc_100003D44
__text:0000000100003D40
__text:0000000100003D44 ; ---------------------------------------------------------------------------
__text:0000000100003D44
__text:0000000100003D44 loc_100003D44 ; CODE XREF: _main+184↑j
__text:0000000100003D44 A8 83 51 B8 LDUR W8, [X29,#var_E8]
__text:0000000100003D48 08 05 00 11 ADD W8, W8, #1
__text:0000000100003D4C A8 83 11 B8 STUR W8, [X29,#var_E8]
__text:0000000100003D50 E6 FF FF 17 B loc_100003CE8
__text:0000000100003D50
__text:0000000100003D54 ; ---------------------------------------------------------------------------
__text:0000000100003D54
__text:0000000100003D54 loc_100003D54 ; CODE XREF: _main+13C↑j
__text:0000000100003D54 00 00 00 90 00 AC 3A 91 ADRL X0, asc_100003EAB ; "\n"
__text:0000000100003D5C 44 00 00 94 BL _printf
__text:0000000100003D5C
__text:0000000100003D60 28 00 80 52 MOV W8, #1
__text:0000000100003D64 A8 C3 10 B8 STUR W8, [X29,#var_F4]
__text:0000000100003D68 BF 83 10 B8 STUR WZR, [X29,#var_F8]
__text:0000000100003D6C 01 00 00 14 B loc_100003D70
__text:0000000100003D6C
__text:0000000100003D70 ; ---------------------------------------------------------------------------
__text:0000000100003D70
__text:0000000100003D70 loc_100003D70 ; CODE XREF: _main+1B0↑j
__text:0000000100003D70 ; _main+20C↓j
__text:0000000100003D70 A8 83 50 B8 LDUR W8, [X29,#var_F8]
__text:0000000100003D74 A9 C3 53 B8 LDUR W9, [X29,#var_C4]
__text:0000000100003D78 08 01 09 6B SUBS W8, W8, W9
__text:0000000100003D7C E8 B7 9F 1A CSET W8, GE
__text:0000000100003D80 68 02 00 37 TBNZ W8, #0, loc_100003DCC
__text:0000000100003D80
__text:0000000100003D84 01 00 00 14 B loc_100003D88
__text:0000000100003D84
__text:0000000100003D88 ; ---------------------------------------------------------------------------
__text:0000000100003D88
__text:0000000100003D88 loc_100003D88 ; CODE XREF: _main+1C8↑j
__text:0000000100003D88 A8 03 50 F8 LDUR X8, [X29,#var_100]
__text:0000000100003D8C A9 83 90 B8 LDURSW X9, [X29,#var_F8]
__text:0000000100003D90 08 79 69 B8 LDR W8, [X8,X9,LSL#2]
__text:0000000100003D94 AA 83 90 B8 LDURSW X10, [X29,#var_F8]
__text:0000000100003D98 A9 C3 02 D1 SUB X9, X29, #-__dst
__text:0000000100003D9C 29 79 6A B8 LDR W9, [X9,X10,LSL#2]
__text:0000000100003DA0 08 01 09 6B SUBS W8, W8, W9
__text:0000000100003DA4 E8 17 9F 1A CSET W8, EQ
__text:0000000100003DA8 88 00 00 37 TBNZ W8, #0, loc_100003DB8
__text:0000000100003DA8
__text:0000000100003DAC 01 00 00 14 B loc_100003DB0
__text:0000000100003DAC
__text:0000000100003DB0 ; ---------------------------------------------------------------------------
__text:0000000100003DB0
__text:0000000100003DB0 loc_100003DB0 ; CODE XREF: _main+1F0↑j
__text:0000000100003DB0 BF C3 10 B8 STUR WZR, [X29,#var_F4]
__text:0000000100003DB4 06 00 00 14 B loc_100003DCC
__text:0000000100003DB4
__text:0000000100003DB8 ; ---------------------------------------------------------------------------
__text:0000000100003DB8
__text:0000000100003DB8 loc_100003DB8 ; CODE XREF: _main+1EC↑j
__text:0000000100003DB8 01 00 00 14 B loc_100003DBC
__text:0000000100003DB8
__text:0000000100003DBC ; ---------------------------------------------------------------------------
__text:0000000100003DBC
__text:0000000100003DBC loc_100003DBC ; CODE XREF: _main:loc_100003DB8↑j
__text:0000000100003DBC A8 83 50 B8 LDUR W8, [X29,#var_F8]
__text:0000000100003DC0 08 05 00 11 ADD W8, W8, #1
__text:0000000100003DC4 A8 83 10 B8 STUR W8, [X29,#var_F8]
__text:0000000100003DC8 EA FF FF 17 B loc_100003D70
__text:0000000100003DC8
__text:0000000100003DCC ; ---------------------------------------------------------------------------
__text:0000000100003DCC
__text:0000000100003DCC loc_100003DCC ; CODE XREF: _main+1C4↑j
__text:0000000100003DCC ; _main+1F8↑j
__text:0000000100003DCC A8 C3 50 B8 LDUR W8, [X29,#var_F4]
__text:0000000100003DD0 08 01 00 71 SUBS W8, W8, #0
__text:0000000100003DD4 E8 17 9F 1A CSET W8, EQ
__text:0000000100003DD8 C8 00 00 37 TBNZ W8, #0, loc_100003DF0
__text:0000000100003DD8
__text:0000000100003DDC 01 00 00 14 B loc_100003DE0
__text:0000000100003DDC
__text:0000000100003DE0 ; ---------------------------------------------------------------------------
__text:0000000100003DE0
__text:0000000100003DE0 loc_100003DE0 ; CODE XREF: _main+220↑j
__text:0000000100003DE0 00 00 00 90 00 B4 3A 91 ADRL X0, aTheResultArray ; "The result array matches the expected a"...
__text:0000000100003DE8 21 00 00 94 BL _printf
__text:0000000100003DE8
__text:0000000100003DEC 05 00 00 14 B loc_100003E00
__text:0000000100003DEC
__text:0000000100003DF0 ; ---------------------------------------------------------------------------
__text:0000000100003DF0
__text:0000000100003DF0 loc_100003DF0 ; CODE XREF: _main+21C↑j
__text:0000000100003DF0 00 00 00 90 00 6C 3B 91 ADRL X0, aTheResultArray_0 ; "The result array does not match the exp"...
__text:0000000100003DF8 1D 00 00 94 BL _printf
__text:0000000100003DF8
__text:0000000100003DFC 01 00 00 14 B loc_100003E00
__text:0000000100003DFC
__text:0000000100003E00 ; ---------------------------------------------------------------------------
__text:0000000100003E00
__text:0000000100003E00 loc_100003E00 ; CODE XREF: _main+230↑j
__text:0000000100003E00 ; _main+240↑j
__text:0000000100003E00 BF C3 14 B8 STUR WZR, [X29,#var_B4]
__text:0000000100003E04 A8 03 53 F8 LDUR X8, [X29,#var_D0]
__text:0000000100003E08 1F 01 00 91 MOV SP, X8
__text:0000000100003E0C A8 C3 54 B8 LDUR W8, [X29,#var_B4]
__text:0000000100003E10 A9 33 00 D1 SUB X9, X29, #-(var_10+4)
__text:0000000100003E14 28 01 10 B8 STUR W8, [X9,#-0x100]
__text:0000000100003E18 A9 83 5E F8 LDUR X9, [X29,#var_18]
__text:0000000100003E1C 08 00 00 B0 ADRP X8, #___stack_chk_guard_ptr@PAGE
__text:0000000100003E20 08 09 40 F9 LDR X8, [X8,#___stack_chk_guard_ptr@PAGEOFF]
__text:0000000100003E24 08 01 40 F9 LDR X8, [X8]
__text:0000000100003E28 08 01 09 EB SUBS X8, X8, X9
__text:0000000100003E2C E8 17 9F 1A CSET W8, EQ
__text:0000000100003E30 68 00 00 37 TBNZ W8, #0, loc_100003E3C
__text:0000000100003E30
__text:0000000100003E34 01 00 00 14 B loc_100003E38
__text:0000000100003E34
__text:0000000100003E38 ; ---------------------------------------------------------------------------
__text:0000000100003E38
__text:0000000100003E38 loc_100003E38 ; CODE XREF: _main+278↑j
__text:0000000100003E38 07 00 00 94 BL ___stack_chk_fail
__text:0000000100003E38
__text:0000000100003E3C ; ---------------------------------------------------------------------------
__text:0000000100003E3C
__text:0000000100003E3C loc_100003E3C ; CODE XREF: _main+274↑j
__text:0000000100003E3C A8 33 00 D1 SUB X8, X29, #-(var_10+4)
__text:0000000100003E40 00 01 50 B8 LDUR W0, [X8,#-0x100]
__text:0000000100003E44 BF 43 00 D1 SUB SP, X29, #0x10
__text:0000000100003E48 FD 7B 41 A9 LDP X29, X30, [SP,#0x10+var_s0]
__text:0000000100003E4C FC 6F C2 A8 LDP X28, X27, [SP+0x10+var_10],#0x20
__text:0000000100003E50 C0 03 5F D6 RET
__text:0000000100003E50
__text:0000000100003E50 ; End of function _main
__text:0000000100003E50
__text:0000000100003E50 ; __text ends
__text:0000000100003E50
__stubs:0000000100003E54 ; ===========================================================================
__stubs:0000000100003E54
__stubs:0000000100003E54 ; Segment type: Pure code
__stubs:0000000100003E54 AREA __stubs, CODE
__stubs:0000000100003E54 ; ORG 0x100003E54
__stubs:0000000100003E54 CODE64
__stubs:0000000100003E54 ; [0000000C BYTES: COLLAPSED FUNCTION ___stack_chk_fail. PRESS CTRL-NUMPAD+ TO EXPAND]
__stubs:0000000100003E60 ; [0000000C BYTES: COLLAPSED FUNCTION _memcpy. PRESS CTRL-NUMPAD+ TO EXPAND]
__stubs:0000000100003E6C ; [0000000C BYTES: COLLAPSED FUNCTION _printf. PRESS CTRL-NUMPAD+ TO EXPAND]
__stubs:0000000100003E78 ; [0000000C BYTES: COLLAPSED FUNCTION _strlen. PRESS CTRL-NUMPAD+ TO EXPAND]
__cstring:0000000100003E84 ; ===========================================================================
__cstring:0000000100003E84
__cstring:0000000100003E84 ; Segment type: Pure data
__cstring:0000000100003E84 AREA __cstring, DATA, READONLY, ALIGN=0
__cstring:0000000100003E84 ; ORG 0x100003E84
__cstring:0000000100003E84 66 6C 61 67 7B 78 78 78 78 78+aFlagXxxxxxxxxx DCB "flag{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}",0
__cstring:0000000100003E84 78 78 78 78 78 78 78 78 78 78+ ; DATA XREF: _main+24↑o
__cstring:0000000100003EAB 0A 00 asc_100003EAB DCB 0xA,0 ; DATA XREF: _main:loc_100003D54↑o
__cstring:0000000100003EAD 54 68 65 20 72 65 73 75 6C 74+aTheResultArray DCB "The result array matches the expected array.",0xA,0
__cstring:0000000100003EAD 20 61 72 72 61 79 20 6D 61 74+ ; DATA XREF: _main:loc_100003DE0↑o
__cstring:0000000100003EDB 54 68 65 20 72 65 73 75 6C 74+aTheResultArray_0 DCB "The result array does not match the expected array.",0xA,0
__cstring:0000000100003EDB 20 61 72 72 61 79 20 64 6F 65+ ; DATA XREF: _main:loc_100003DF0↑o
__cstring:0000000100003EDB 73 20 6E 6F 74 20 6D 61 74 63+; __cstring ends
__cstring:0000000100003EDB 68 20 74 68 65 20 65 78 70 65+
__const:0000000100003F10 ; ===========================================================================
__const:0000000100003F10
__const:0000000100003F10 ; Segment type: Pure data
__const:0000000100003F10 AREA __const, DATA, READONLY
__const:0000000100003F10 ; ORG 0x100003F10
__const:0000000100003F10 D7 unk_100003F10 DCB 0xD7 ; DATA XREF: _main+34↑o
__const:0000000100003F11 1F DCB 0x1F
__const:0000000100003F12 00 DCB 0
__const:0000000100003F13 00 DCB 0
__const:0000000100003F14 B7 DCB 0xB7
__const:0000000100003F15 21 DCB 0x21 ; !
__const:0000000100003F16 00 DCB 0
__const:0000000100003F17 00 DCB 0
__const:0000000100003F18 47 DCB 0x47 ; G
__const:0000000100003F19 1E DCB 0x1E
__const:0000000100003F1A 00 DCB 0
__const:0000000100003F1B 00 DCB 0
__const:0000000100003F1C 27 DCB 0x27 ; '
__const:0000000100003F1D 20 DCB 0x20
__const:0000000100003F1E 00 DCB 0
__const:0000000100003F1F 00 DCB 0
__const:0000000100003F20 E7 DCB 0xE7
__const:0000000100003F21 26 DCB 0x26 ; &
__const:0000000100003F22 00 DCB 0
__const:0000000100003F23 00 DCB 0
__const:0000000100003F24 D7 DCB 0xD7
__const:0000000100003F25 10 DCB 0x10
__const:0000000100003F26 00 DCB 0
__const:0000000100003F27 00 DCB 0
__const:0000000100003F28 27 DCB 0x27 ; '
__const:0000000100003F29 11 DCB 0x11
__const:0000000100003F2A 00 DCB 0
__const:0000000100003F2B 00 DCB 0
__const:0000000100003F2C 07 DCB 7
__const:0000000100003F2D 20 DCB 0x20
__const:0000000100003F2E 00 DCB 0
__const:0000000100003F2F 00 DCB 0
__const:0000000100003F30 C7 DCB 0xC7
__const:0000000100003F31 11 DCB 0x11
__const:0000000100003F32 00 DCB 0
__const:0000000100003F33 00 DCB 0
__const:0000000100003F34 47 DCB 0x47 ; G
__const:0000000100003F35 1E DCB 0x1E
__const:0000000100003F36 00 DCB 0
__const:0000000100003F37 00 DCB 0
__const:0000000100003F38 17 DCB 0x17
__const:0000000100003F39 10 DCB 0x10
__const:0000000100003F3A 00 DCB 0
__const:0000000100003F3B 00 DCB 0
__const:0000000100003F3C 17 DCB 0x17
__const:0000000100003F3D 10 DCB 0x10
__const:0000000100003F3E 00 DCB 0
__const:0000000100003F3F 00 DCB 0
__const:0000000100003F40 F7 DCB 0xF7
__const:0000000100003F41 11 DCB 0x11
__const:0000000100003F42 00 DCB 0
__const:0000000100003F43 00 DCB 0
__const:0000000100003F44 07 DCB 7
__const:0000000100003F45 20 DCB 0x20
__const:0000000100003F46 00 DCB 0
__const:0000000100003F47 00 DCB 0
__const:0000000100003F48 37 DCB 0x37 ; 7
__const:0000000100003F49 10 DCB 0x10
__const:0000000100003F4A 00 DCB 0
__const:0000000100003F4B 00 DCB 0
__const:0000000100003F4C 07 DCB 7
__const:0000000100003F4D 11 DCB 0x11
__const:0000000100003F4E 00 DCB 0
__const:0000000100003F4F 00 DCB 0
__const:0000000100003F50 17 DCB 0x17
__const:0000000100003F51 1F DCB 0x1F
__const:0000000100003F52 00 DCB 0
__const:0000000100003F53 00 DCB 0
__const:0000000100003F54 D7 DCB 0xD7
__const:0000000100003F55 10 DCB 0x10
__const:0000000100003F56 00 DCB 0
__const:0000000100003F57 00 DCB 0
__const:0000000100003F58 17 DCB 0x17
__const:0000000100003F59 10 DCB 0x10
__const:0000000100003F5A 00 DCB 0
__const:0000000100003F5B 00 DCB 0
__const:0000000100003F5C 17 DCB 0x17
__const:0000000100003F5D 10 DCB 0x10
__const:0000000100003F5E 00 DCB 0
__const:0000000100003F5F 00 DCB 0
__const:0000000100003F60 67 DCB 0x67 ; g
__const:0000000100003F61 1F DCB 0x1F
__const:0000000100003F62 00 DCB 0
__const:0000000100003F63 00 DCB 0
__const:0000000100003F64 17 DCB 0x17
__const:0000000100003F65 10 DCB 0x10
__const:0000000100003F66 00 DCB 0
__const:0000000100003F67 00 DCB 0
__const:0000000100003F68 C7 DCB 0xC7
__const:0000000100003F69 11 DCB 0x11
__const:0000000100003F6A 00 DCB 0
__const:0000000100003F6B 00 DCB 0
__const:0000000100003F6C C7 DCB 0xC7
__const:0000000100003F6D 11 DCB 0x11
__const:0000000100003F6E 00 DCB 0
__const:0000000100003F6F 00 DCB 0
__const:0000000100003F70 17 DCB 0x17
__const:0000000100003F71 10 DCB 0x10
__const:0000000100003F72 00 DCB 0
__const:0000000100003F73 00 DCB 0
__const:0000000100003F74 D7 DCB 0xD7
__const:0000000100003F75 1F DCB 0x1F
__const:0000000100003F76 00 DCB 0
__const:0000000100003F77 00 DCB 0
__const:0000000100003F78 17 DCB 0x17
__const:0000000100003F79 1F DCB 0x1F
__const:0000000100003F7A 00 DCB 0
__const:0000000100003F7B 00 DCB 0
__const:0000000100003F7C 07 DCB 7
__const:0000000100003F7D 11 DCB 0x11
__const:0000000100003F7E 00 DCB 0
__const:0000000100003F7F 00 DCB 0
__const:0000000100003F80 47 DCB 0x47 ; G
__const:0000000100003F81 0F DCB 0xF
__const:0000000100003F82 00 DCB 0
__const:0000000100003F83 00 DCB 0
__const:0000000100003F84 27 DCB 0x27 ; '
__const:0000000100003F85 11 DCB 0x11
__const:0000000100003F86 00 DCB 0
__const:0000000100003F87 00 DCB 0
__const:0000000100003F88 37 DCB 0x37 ; 7
__const:0000000100003F89 10 DCB 0x10
__const:0000000100003F8A 00 DCB 0
__const:0000000100003F8B 00 DCB 0
__const:0000000100003F8C 47 DCB 0x47 ; G
__const:0000000100003F8D 1E DCB 0x1E
__const:0000000100003F8E 00 DCB 0
__const:0000000100003F8F 00 DCB 0
__const:0000000100003F90 37 DCB 0x37 ; 7
__const:0000000100003F91 10 DCB 0x10
__const:0000000100003F92 00 DCB 0
__const:0000000100003F93 00 DCB 0
__const:0000000100003F94 D7 DCB 0xD7
__const:0000000100003F95 1F DCB 0x1F
__const:0000000100003F96 00 DCB 0
__const:0000000100003F97 00 DCB 0
__const:0000000100003F98 07 DCB 7
__const:0000000100003F99 11 DCB 0x11
__const:0000000100003F9A 00 DCB 0
__const:0000000100003F9B 00 DCB 0
__const:0000000100003F9C D7 DCB 0xD7
__const:0000000100003F9D 1F DCB 0x1F
__const:0000000100003F9E 00 DCB 0
__const:0000000100003F9F 00 DCB 0
__const:0000000100003FA0 07 DCB 7
__const:0000000100003FA1 11 DCB 0x11
__const:0000000100003FA2 00 DCB 0
__const:0000000100003FA3 00 DCB 0
__const:0000000100003FA4 87 DCB 0x87
__const:0000000100003FA5 27 DCB 0x27 ; '
__const:0000000100003FA6 00 DCB 0
__const:0000000100003FA7 00 DCB 0
__const:0000000100003FA7 ; __const ends
__const:0000000100003FA7
__unwind_info:0000000100003FA8 ; ===========================================================================
__unwind_info:0000000100003FA8
__unwind_info:0000000100003FA8 ; Segment type: Regular
__unwind_info:0000000100003FA8 AREA __unwind_info, DATA
__unwind_info:0000000100003FA8 ; ORG 0x100003FA8
__unwind_info:0000000100003FA8 01 DCB 1
__unwind_info:0000000100003FA9 00 DCB 0
__unwind_info:0000000100003FAA 00 DCB 0
__unwind_info:0000000100003FAB 00 DCB 0
__unwind_info:0000000100003FAC 1C DCB 0x1C
__unwind_info:0000000100003FAD 00 DCB 0
__unwind_info:0000000100003FAE 00 DCB 0
__unwind_info:0000000100003FAF 00 DCB 0
__unwind_info:0000000100003FB0 00 DCB 0
__unwind_info:0000000100003FB1 00 DCB 0
__unwind_info:0000000100003FB2 00 DCB 0
__unwind_info:0000000100003FB3 00 DCB 0
__unwind_info:0000000100003FB4 1C DCB 0x1C
__unwind_info:0000000100003FB5 00 DCB 0
__unwind_info:0000000100003FB6 00 DCB 0
__unwind_info:0000000100003FB7 00 DCB 0
__unwind_info:0000000100003FB8 00 DCB 0
__unwind_info:0000000100003FB9 00 DCB 0
__unwind_info:0000000100003FBA 00 DCB 0
__unwind_info:0000000100003FBB 00 DCB 0
__unwind_info:0000000100003FBC 1C DCB 0x1C
__unwind_info:0000000100003FBD 00 DCB 0
__unwind_info:0000000100003FBE 00 DCB 0
__unwind_info:0000000100003FBF 00 DCB 0
__unwind_info:0000000100003FC0 02 DCB 2
__unwind_info:0000000100003FC1 00 DCB 0
__unwind_info:0000000100003FC2 00 DCB 0
__unwind_info:0000000100003FC3 00 DCB 0
__unwind_info:0000000100003FC4 BC DCB 0xBC
__unwind_info:0000000100003FC5 3B DCB 0x3B ; ;
__unwind_info:0000000100003FC6 00 DCB 0
__unwind_info:0000000100003FC7 00 DCB 0
__unwind_info:0000000100003FC8 40 DCB 0x40 ; @
__unwind_info:0000000100003FC9 00 DCB 0
__unwind_info:0000000100003FCA 00 DCB 0
__unwind_info:0000000100003FCB 00 DCB 0
__unwind_info:0000000100003FCC 40 DCB 0x40 ; @
__unwind_info:0000000100003FCD 00 DCB 0
__unwind_info:0000000100003FCE 00 DCB 0
__unwind_info:0000000100003FCF 00 DCB 0
__unwind_info:0000000100003FD0 54 DCB 0x54 ; T
__unwind_info:0000000100003FD1 3E DCB 0x3E ; >
__unwind_info:0000000100003FD2 00 DCB 0
__unwind_info:0000000100003FD3 00 DCB 0
__unwind_info:0000000100003FD4 00 DCB 0
__unwind_info:0000000100003FD5 00 DCB 0
__unwind_info:0000000100003FD6 00 DCB 0
__unwind_info:0000000100003FD7 00 DCB 0
__unwind_info:0000000100003FD8 40 DCB 0x40 ; @
__unwind_info:0000000100003FD9 00 DCB 0
__unwind_info:0000000100003FDA 00 DCB 0
__unwind_info:0000000100003FDB 00 DCB 0
__unwind_info:0000000100003FDC 00 DCB 0
__unwind_info:0000000100003FDD 00 DCB 0
__unwind_info:0000000100003FDE 00 DCB 0
__unwind_info:0000000100003FDF 00 DCB 0
__unwind_info:0000000100003FE0 00 DCB 0
__unwind_info:0000000100003FE1 00 DCB 0
__unwind_info:0000000100003FE2 00 DCB 0
__unwind_info:0000000100003FE3 00 DCB 0
__unwind_info:0000000100003FE4 00 DCB 0
__unwind_info:0000000100003FE5 00 DCB 0
__unwind_info:0000000100003FE6 00 DCB 0
__unwind_info:0000000100003FE7 00 DCB 0
__unwind_info:0000000100003FE8 03 DCB 3
__unwind_info:0000000100003FE9 00 DCB 0
__unwind_info:0000000100003FEA 00 DCB 0
__unwind_info:0000000100003FEB 00 DCB 0
__unwind_info:0000000100003FEC 0C DCB 0xC
__unwind_info:0000000100003FED 00 DCB 0
__unwind_info:0000000100003FEE 01 DCB 1
__unwind_info:0000000100003FEF 00 DCB 0
__unwind_info:0000000100003FF0 10 DCB 0x10
__unwind_info:0000000100003FF1 00 DCB 0
__unwind_info:0000000100003FF2 01 DCB 1
__unwind_info:0000000100003FF3 00 DCB 0
__unwind_info:0000000100003FF4 00 DCB 0
__unwind_info:0000000100003FF5 00 DCB 0
__unwind_info:0000000100003FF6 00 DCB 0
__unwind_info:0000000100003FF7 00 DCB 0
__unwind_info:0000000100003FF8 10 DCB 0x10
__unwind_info:0000000100003FF9 00 DCB 0
__unwind_info:0000000100003FFA 00 DCB 0
__unwind_info:0000000100003FFB 04 DCB 4
__unwind_info:0000000100003FFC 00 DCB 0
__unwind_info:0000000100003FFD 00 DCB 0
__unwind_info:0000000100003FFE 00 DCB 0
__unwind_info:0000000100003FFF 00 DCB 0
__unwind_info:0000000100003FFF ; __unwind_info ends
__unwind_info:0000000100003FFF
__got:0000000100004000 ; ===========================================================================
__got:0000000100004000
__got:0000000100004000 ; Segment type: Pure data
__got:0000000100004000 AREA __got, DATA, READONLY, ALIGN=3
__got:0000000100004000 ; ORG 0x100004000
__got:0000000100004000 30 40 00 00 01 00 00 00 ___chkstk_darwin_ptr DCQ ___chkstk_darwin
__got:0000000100004000 ; DATA XREF: _main+78↑o
__got:0000000100004000 ; _main+7C↑r
__got:0000000100004008 38 40 00 00 01 00 00 00 ___stack_chk_fail_ptr DCQ __imp____stack_chk_fail
__got:0000000100004008 ; DATA XREF: ___stack_chk_fail↑o
__got:0000000100004008 ; ___stack_chk_fail+4↑r
__got:0000000100004010 40 40 00 00 01 00 00 00 ___stack_chk_guard_ptr DCQ ___stack_chk_guard
__got:0000000100004010 ; DATA XREF: _main+10↑o
__got:0000000100004010 ; _main+14↑r
__got:0000000100004010 ; _main+260↑o
__got:0000000100004010 ; _main+264↑r
__got:0000000100004018 ; void *(__cdecl *memcpy_ptr)(void *__dst, const void *__src, size_t __n)
__got:0000000100004018 48 40 00 00 01 00 00 00 _memcpy_ptr DCQ __imp__memcpy ; DATA XREF: _memcpy↑o
__got:0000000100004018 ; _memcpy+4↑r
__got:0000000100004020 ; int (*printf_ptr)(const char *, ...)
__got:0000000100004020 50 40 00 00 01 00 00 00 _printf_ptr DCQ __imp__printf ; DATA XREF: _printf↑o
__got:0000000100004020 ; _printf+4↑r
__got:0000000100004028 ; size_t (__cdecl *strlen_ptr)(const char *__s)
__got:0000000100004028 58 40 00 00 01 00 00 00 _strlen_ptr DCQ __imp__strlen ; DATA XREF: _strlen↑o
__got:0000000100004028 ; _strlen+4↑r
__got:0000000100004028 ; __got ends
__got:0000000100004028
UNDEF:0000000100004030 ;
UNDEF:0000000100004030 ; Imports from /usr/lib/libSystem.B.dylib
UNDEF:0000000100004030 ;
UNDEF:0000000100004030 ; ===========================================================================
UNDEF:0000000100004030
UNDEF:0000000100004030 ; Segment type: Externs
UNDEF:0000000100004030 ; __int64 __chkstk_darwin(void)
UNDEF:0000000100004030 ?? IMPORT ___chkstk_darwin ; DATA XREF: __got:___chkstk_darwin_ptr↑o
UNDEF:0000000100004038 ?? IMPORT __imp____stack_chk_fail ; CODE XREF: ___stack_chk_fail+8↑j
UNDEF:0000000100004038 ; DATA XREF: __got:___stack_chk_fail_ptr↑o
UNDEF:0000000100004040 ?? ?? ?? ?? ?? ?? ?? ?? IMPORT ___stack_chk_guard ; DATA XREF: _main+18↑r
UNDEF:0000000100004040 ; _main+268↑r
UNDEF:0000000100004040 ; __got:___stack_chk_guard_ptr↑o
UNDEF:0000000100004048 ; void *__cdecl _memcpy(void *__dst, const void *__src, size_t __n)
UNDEF:0000000100004048 ?? IMPORT __imp__memcpy ; CODE XREF: _memcpy+8↑j
UNDEF:0000000100004048 ; DATA XREF: __got:_memcpy_ptr↑o
UNDEF:0000000100004050 ; int _printf(const char *, ...)
UNDEF:0000000100004050 ?? IMPORT __imp__printf ; CODE XREF: _printf+8↑j
UNDEF:0000000100004050 ; DATA XREF: __got:_printf_ptr↑o
UNDEF:0000000100004058 ; size_t __cdecl _strlen(const char *__s)
UNDEF:0000000100004058 ?? IMPORT __imp__strlen ; CODE XREF: _strlen+8↑j
UNDEF:0000000100004058 ; DATA XREF: __got:_strlen_ptr↑o
UNDEF:0000000100004058
UNDEF:0000000100004058 END _main
分析看看上面的代码,然后看到这个加密函数t
chatGPT分析一下
密文看到const段
密文没错了
注意小端序
解密脚本