angr学习笔记(1)
生活随笔
收集整理的這篇文章主要介紹了
angr学习笔记(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
angr系列
00_angr_find
01_angr_avoid
02_angr_find_condition
03_angr_symbolic_registers
04_angr_symbolic_stack
05_angr_symbolic_memory
06_angr_symbolic_dynamic_memory
07_angr_symbolic_file
08_angr_constraints
09_angr_hooks
10_angr_simprocedures
13_angr_static_binary
文章目錄
- angr系列
- 00_angr_find
- 01_angr_avoid
- 02_angr_find_condition
- 03_angr_symbolic_registers
- 04_angr_symbolic_stack
- 05_angr_symbolic_memory
- 06_angr_symbolic_dynamic_memory
- 07_angr_symbolic_file
- 08_angr_constraints
- 09_angr_hooks
- 10_angr_simprocedures
- 13_angr_static_binary
- 環境安裝(Windows10)
- 練習1
- 驗證:
- 全部代碼
環境安裝(Windows10)
這里我用的是python3
練習1
import angr導入angr
p=angr.Project("01_angr_avoid")加載二進制程序
init_state=p.factory.entry_state()接著創建一個狀態,默認就是程序的入口地址,也可以指定一個地址作為入口地址
sm=p.factory.simulation_manager(init_state)創建一個模擬器用來模擬程序執行。
使用explore執行模擬器,find和avoid用來作為約束條件
有一個found,導出
found_state=sm.found[0]然后dump相應的標準輸入:
found_state.posix.dumps(0) b'HUJOZMYS'dump相應的標準輸出:
found_state.posix.dumps(1) b'Enter the password: '驗證:
全部代碼
import angr p=angr.Project("01_angr_avoid") init_state=p.factory.entry_state() sm=p.factory.simulation_manager(init_state) sm.explore(find=0x080485E0,avoid=0x080485F2) found_state=sm.found[0] found_state.posix.dumps(0) found_state.posix.dumps(1)命令參考:http://www.manongjc.com/article/68188.html
總結
以上是生活随笔為你收集整理的angr学习笔记(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vi常规操作
- 下一篇: angr学习笔记(2)