在CTF中的小端序與大端序

2021-10-09 23:12:03 字數 496 閱讀 3663

大,人類為大。所以這是符合人的思維的。即高位址放資料低位

eg:位址從低到高的表示方式:[12][34]

12是低位址,但是為了人方便看,把資料的高位放在了低位址,這樣子看起來的順序還是 1234。方便看。

小端序:是為了計算機效率的。即高位址放資料高位。高高低低。

之前我走進了乙個誤區:將陣列也當作位元組序。其實不然。這裡感謝師傅的提醒。

eg:設定int data = 0x1234

在這裡,會受到位元組序的影響,所以在ctf中,在除錯工具中看到該資料,可能會因為位元組序的不同,而要把資料進行乙個位置的調整。

比如在intel架構od中看到的3412。其實這是指的1234這麼個資料。

這是會受到位元組序影響的內容。

!這是乙個變數!

但是陣列[1,2,3,4]這麼乙個陣列,並不會受到位元組序的影響。它的排序無論大端序還是小端序都是一樣的。!

之前的誤區導致對位元組序過了很多遍沒發現問題。

謹記阮一峰的網路日誌

大端序與小端序

簡單點說,就是位元組的儲存順序,如果資料都是單位元組的,那怎麼儲存無所謂了,但是對於多位元組資料,比如int,double等,就要考慮儲存的順序了。注意位元組序是硬體層面的東西,對於軟體來說通常是透明的。再說白一點,位元組序通常只和你使用的處理器架構有關,而和程式語言無關,比如常見的intel x8...

大端序與小端序

簡單點說,就是位元組的儲存順序,如果資料都是單位元組的,那怎麼儲存無所謂了,但是對於多位元組資料,比如int,double等,就要考慮儲存的順序 了。注意位元組序是硬體層面的東西,對於軟體來說通常是透明的。再說白一點,位元組序通常只和你使用的處理器架構有關,而和程式語言無關,比如常見的 intel ...

大端序與小端序

簡單點說,就是位元組的儲存順序,如果資料都是單位元組的,那怎麼儲存無所謂了,但是對於多位元組資料,比如int,double等,就要考慮儲存的順序了。注意位元組序是硬體層面的東西,對於軟體來說通常是透明的。再說白一點,位元組序通常只和你使用的處理器架構有關,而和程式語言無關,比如常見的intel x8...