1.➜brew install python // 主要为了安装 pip命令 2.➜sudo pip install capstone // Capstone是一个轻量级的多平台架构支持的反汇编架构,支持包括ARM\ARM64、MIPC和x64/x86平台。 3.➜git clone https://github.com/JonathanSalwan/ROPgadget.git // 下载ROPgadget 4.➜./ROPgadget.py --binary=./piao --thumb 测试正常,over! 0x0000bf1e : add r0, pc ; blx #0xbffc ; pop {r7, pc} 0x100007ef2 : asrs r0, r0, #0x20 ; movs r0, #0x1f ; bpl #0x7f06 ; blx lr 0x0000bf16 : asrs r2, r6, #0x20 ; mov r1, r2 ; movt r0, #0 ; add r0, pc ; blx #0xc004 ; pop {r7, pc} 0x0000bf20 : blx #0xbffc ; pop {r7, pc} 0x0000bf02 : blx #0xc000 ; movs r0, #0 ; ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} 0x100007ef8 : blx lr 0x100007ef6 : bpl #0x7f02 ; blx lr 0x0000bf08 : ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} 0x0000bf04 : ldrd r2, r0, [r8], #-0 ; ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} 0x0000befc : ldrh r2, [r0, #8] ; str r1, [r0] ; mov r1, r4 ; blx #0xc004 ; movs r0, #0 ; ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} 0x0000bf0a : ldrh r4, [r0, #0x18] ; pop {r4, r5, r6, r7, pc} 0x100007ef0 : lsrs r1, r2, #3 ; asrs r0, r0, #0x20 ; movs r0, #0x1f ; bpl #0x7f08 ; blx lr 0x0000bf18 : mov r1, r2 ; movt r0, #0 ; add r0, pc ; blx #0xc004 ; pop {r7, pc} 0x0000bf00 : mov r1, r4 ; blx #0xc000 ; movs r0, #0 ; ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} 0x0000bf12 : mov r7, sp ; movw r0, #0x132 ; mov r1, r2 ; movt r0, #0 ; add r0, pc ; blx #0xc008 ; pop {r7, pc} 0x0000bf06 : movs r0, #0 ; ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} 0x100007ef4 : movs r0, #0x1f ; bpl #0x7f04 ; blx lr 0x0000bf1c : movs r0, r0 ; add r0, pc ; blx #0xc000 ; pop {r7, pc} 0x0000bf1a : movt r0, #0 ; add r0, pc ; blx #0xc000 ; pop {r7, pc} 0x0000bf14 : movw r0, #0x132 ; mov r1, r2 ; movt r0, #0 ; add r0, pc ; blx #0xc008 ; pop {r7, pc} 0x0000bf0c : pop {r4, r5, r6, r7, pc} 0x0000bf24 : pop {r7, pc} 0x0000befe : str r1, [r0] ; mov r1, r4 ; blx #0xc004 ; movs r0, #0 ; ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} 0x0000bf22 : strd fp, sp, [sl], #-0x200 0x0000befa : strd r8, sb, [r1, #8] ; str r1, [r0] ; mov r1, r4 ; blx #0xc008 ; movs r0, #0 ; ldr r8, [sp], #4 ; pop {r4, r5, r6, r7, pc} // ARM64 ➜./ROPgadget.py --binary ./obj/hello --rawArch=arm64 --rawMode=64 Gadgets information ============================================================ 0x000000000002beb4 : adr x0, #0x2c0bc ; nop ; bl #0x2beec ; mov sp, x29 ; ldp x29, x30, [sp], #0x10 ; ret 0x000000000002beb4 : adr x0, #0x2c0c8 ; nop ; bl #0x2bef8 ; mov sp, x29 ; ldp x29, x30, [sp], #0x10 ; ret ; nop ; ldr x16, #0x2c030 ; br x16 0x000000000002bef0 : adr x17, #0x2c01c ; nop ; stp x16, x17, [sp, #-0x10]! ; nop ; ldr x16, #0x2c014 ; br x16 0x000000000002bebc : bl #0x2bee4 ; mov sp, x29 ; ldp x29, x30, [sp], #0x10 ; ret 0x000000000002be88 : bl #0x2bee4 ; movz w0, #0 ; sub sp, x29, #0x20 ; ldp x29, x30, [sp, #0x20] ; ldp x20, x19, [sp, #0x10] ; ldp x22, x21, [sp], #0x30 ; ret 0x000000000002bebc : bl #0x2bef0 ; mov sp, x29 ; ldp x29, x30, [sp], #0x10 ; ret ; nop ; ldr x16, #0x2c028 ; br x16 0x000000000002bebc : bl #0x2befc ; mov sp, x29 ; ldp x29, x30, [sp], #0x10 ; ret ; nop ; ldr x16, #0x2c034 ; br x16 ; nop ; ldr x16, #0x2c03c ; br x16 0x000000000002bed4 : br x16 . . . . 然并卵,觉得上面麻烦? 下面一条命令即可安装 ➜pip install ropgadget ➜ROPGadget --help . . . . ➜pip list capstone (3.0.4) pip (8.0.2) ROPGadget (5.4) setuptools (19.4) wheel (0.26.0)
发表评论