address-space

    0熱度

    1回答

    我想在linux中簡單的緩衝區溢出攻擊。我有一個易受攻擊的程序,它接受命令行參數。我有另一個程序設置一個環境變量,它有一些我想要執行的代碼(通常是shellcode)。現在我試圖用這個環境變量的地址溢出我的易受攻擊程序的緩衝區。我有以下問題: 當我傳遞一個環境變量作爲命令行參數,被複制到我的脆弱程序的argv變量的內容? 哪裏在進程的地址空間中會存儲環境變量(命令行參數)?它會在進程棧還是其他地方

    -1熱度

    1回答

    感謝。 我很新的手臂和計算機體系結構一般很抱歉,如果這是一個基本的問題。 我花了很多時間閱讀和學習的MMU和虛擬到物理地址的轉換。我也學習了地址空間。只是爲了確保所有的io外設(如以太網和USB)都有自己的地址以及外部RAM和ROM的權利?所以我想知道地址值,所以我閱讀這個PDF文檔,在這裏:http://infocenter.arm.com/help/topic/com.arm.doc.den0

    2熱度

    2回答

    在linux中,因爲段的基數都是0,所以邏輯地址與線性地址(Book「Understanding the linux kernel」)一致。我認爲不同進程的邏輯地址可能是相同的,所以不同進程的線性地址可能相同,每個進程視圖4GB,每個進程都會有自己的線性地址空間(本地地址空間)。但其他一些文章說,所有進程都有一個很大的線性地址空間,並且段機制被用來將不同的進程映射到線性地址空間的不同部分。聽起來像

    2熱度

    1回答

    我想問如何在網絡地址寫入/掩碼下列地址空間: 63.39.191.192 - 63.40.192.223 在紙面上,我想不出任何辦法做到這一點,所以我嘗試使用a network address calculator to figure it out。 我輸入了第一個IP地址,並開始與網絡掩碼玩弄。 我無法理解的是,第一個和最後一個可用地址是如何根據網絡掩碼而變化的。 所以,我在這裏,希望你可以向我

    1熱度

    3回答

    未初始化的靜態變量始終在BSS中分配。雖然.bss節是靜態的,因爲在編譯時分配內存。 在許多書籍中,「可執行文件中只有初始化爲非零值的變量才佔用空間」。 將程序加載到內存後,未初始化的靜態變量仍然是.bss。 **函數初始化時會發生什麼? ** 它會移動到其他地區嗎?

    0熱度

    1回答

    當某個類訪問成員時,它在某種程度上是否可以充當代理?最簡單的方法當然是編寫getters/setter,但是這樣做不靈活而且沒有意義,因爲你必須自己編寫所有那些使代碼膨脹的setter。 問題是我想抽象出一些事實,即某些數據位於微控制器的程序中。基本上我想要的是 MemberType member = object->member; // won't work if object lies in

    5熱度

    3回答

    我是「fork()」的新手,我在任何地方都會看到,當fork()被調用時,當前(調用)過程的精確副本已經啓動。現在,當我運行下面的代碼時,應該有兩個不同的過程,兩個不同的存儲位置分配給他們的變量和功能。 #include<stdio.h> int i=10; int pid; int main(){ if((pid=fork())==0){ i++;//somewhere

    1熱度

    1回答

    如何根據地址空間確定可尋址性?你如何根據可尋址性來確定地址總線的大小?防爆。一臺機器的尋址能力是32位,地址總線的大小是多少?

    5熱度

    1回答

    如何在Ubuntu Linux下使用python寫入另一個進程的地址空間? 我的嘗試: 1)使用虛擬文件/ proc/$ PID/mem並尋找地址。我已經成功地使用它來讀取內存,但試圖寫入導致IO錯誤: fd=open("/proc/"+pid+"/mem","r+") fd.seek(address,0) fd.write("ABC") 輸出: IOError: [Errno 22] I

    0熱度

    1回答

    所以,我的問題有點荒謬,我猜和瘋了。 我不明白爲什麼你需要從物理地址回到線性迴歸。 儘管如此,這可能嗎?