17届国赛 asm_re

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段
密文没错了
注意小端序

在这里插入图片描述
解密脚本

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Back~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值