Python批量修改暫存器的值

2021-09-03 07:14:52 字數 1616 閱讀 5997

在寫**過程中,我們修改**中暫存器的值,但是有時暫存器的資料較多,手動修改容易出現錯誤而且花費的時間長,現在寫一段簡單的python程式來完成自動化。

#這是一段暫存器的配置值:

# 0x00, 0x34

# 0x35, 0x25

# 0x10, 0xd4

# 0xf5, 0xa5

# 0x00, 0x34

# 0x3a, 0xff

# 0x00, 0x00

# 0x34, 0x25

# 這是要修改**的值:

# ,# ,

# ,# ,

# ,# ,

# ,# ,

首先將要修改的**值存在test1.txt中,暫存器的配置值存在test2.txt中

# python實現的過程

# 引入必要的包

import numpy as np

import pandas as pd

#匯入**

data = pd.read_csv(

"g:/test/test1.txt"

, header=

none

)# data

# 0 1 2 3

# 0 nan

# 1 nan

# 2 nan

# 3 nan

# 4 nan

# 5 nan

# 6 nan

# 7 nan

#匯入暫存器配置值

reg = pd.read_csv(

"g:/test/test2.txt"

, header =

none

)# reg

# 0 1

# 0 0x00 0x34

# 1 0x35 0x25

# 2 0x10 0xd4

# 3 0xf5 0xa5

# 4 0x00 0x34

# 5 0x3a 0xff

# 6 0x00 0x00

# 7 0x34 0x25

# 修改**第二列值

data[1]

= reg[

0]

# 因為**裡面第三列除了數值還有「}」

data[2]

= reg[1]

+"}"

# 修改之後的**資料

# data

# 0 1 2 3

# 0 nan

# 1 nan

# 2 nan

# 3 nan

# 4 nan

# 5 nan

# 6 nan

# 7 nan

# 把修改之後的**儲存成txt檔案

data.to_csv(

"g:/test/result.txt"

,header =

none

, index =

none

)

gdb 檢視暫存器的值

info registers info all registers 下面這兩個暫時不知道如何使用 info registers reggroup info registers regname four standard register name pc sp fp ps p x pc x i pc ...

arm上獲取暫存器的值

本來說在arm上獲取暫存器的值是因為需要除錯乙個很古怪的問題,而在自己的機器上測試的386結構的 似乎還不如arm上對register的訪問自由。大致的想了想似乎arm上得到暫存器的值很簡單的樣子。所以之前才說可能在arm上會比較簡單。結果今天上午一試還是當頭一棒,畢竟還是對arm asm不太熟悉的...

暫存器的認識

對於8086的系統 1.暫存器按照功能的不同可分為通用暫存器 ax,bx,cx,dx,sp,bp,si,di。其中的前四個暫存器可分別分成ah,al bh,bl ch,cl dh,dl的八位暫存器 指令指標暫存器 ip 標誌暫存器 flags 段暫存器 cs,ds,es,ss 它們的區別和聯絡體現在...