簡體   English   中英

解析perl中的匯編代碼

[英]parsing assembly code in perl

0000000000033a1b subq $0x28,%rsp

我無法從上面的行中提取0x28。 我能夠從匯編代碼的大列表中提取subq,但我只想要0x28,因為這給了我堆棧大小。 我正在考慮使用substr()函數購買它有變化,另一個可能看起來像這樣:

0000000000033a1c subq $0x000000b8,%rsp

在這種情況下,我只想要0x000000b8。

我正在使用perl。

謝謝。

沒有代碼,我的猜測是你沒有逃脫美元符號。 因此,您要求它匹配行的末尾, 然后是 '0x28'

在任何正則表達式中, /\\$0x(\\p{XDigit}+)/應該從該字符串中捕獲'28'

如果您輸入以下格式,請始終:

instruction_address operand $stack_size,register

你可以做:

$a = '0000000000033a1b subq $0x28,%rsp';
$a =~s/^.*?\$(.*?),.*$/\1/;
print $a; # prints 0x28

暫無
暫無

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

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