簡體   English   中英

將地址轉換為 PyKD 可以使用的數字/相當於 WinDbg 的數字? 命令

[英]Convert address into a number that PyKD can work with / equivalent of the WinDbg ? command

在 WinDbg 中,我有幾個選項來定義一個數字

0:006> ? 17
Evaluate expression: 23 = 00000017
0:006> ? 0x17
Evaluate expression: 23 = 00000017
0:006> ? 0n23
Evaluate expression: 23 = 00000017
0:006> ? ntdll
Evaluate expression: 2004549632 = 777b0000
0:006> ? ntdll+100
Evaluate expression: 2004549888 = 777b0100
0:006> ? ntdll!NtCreateThreadEx
Evaluate expression: 2005018944 = 77822940
0:006> ? 0t755
Evaluate expression: 493 = 000001ed
0:006> ? 0y1111
Evaluate expression: 15 = 0000000f

我正在尋找 PyKD 等價物來使用所有這些可能性作為我腳本的輸入。

那就是:我在sys.argv[1]得到一個字符串,它可以是上述任何一種格式,我需要將它轉換成 PyKD 可以理解的地址。

我試過了:

from pykd import *
address = addr64(sys.argv[1])

PyKd 命令是expr()

expr( (str)expression [, (bool)cplusplus]) -> 對象:

評估 windbg 表達式

該命令甚至會考慮使用n命令在 WinDbg 中設置的數字基數。

模擬 WinDbg 的? 行為,你可以使用

print("Evaluate expression:", expr(sys.argv[1]), "=", hex(expr(sys.argv[1])), sep=" ")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM