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)


你可能感兴趣的文章

评论区

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您好,欢迎到访网站!
  [查看权限]

«   2018年9月   »
12
3456789
10111213141516
17181920212223
24252627282930