Mathieulh補刀 Lv2 Loader與App. Load … - 改機

By Regina
at 2011-01-02T22:48
at 2011-01-02T22:48
Table of Contents
→ tsairay:原po大概沒在寫code,變數用完是可以手動清記憶體的 01/02 14:09
→ tsairay:麻煩而已,不是辦不到 01/02 14:09
推 f1234518456:那還不是要載到記憶體... 01/02 14:25
推 tsairay:原po是寫說會留存到其他資料蓋掉為止,我是針對這點提出 01/02 15:32
推 TAKO321:樓上說得就是被資料蓋掉啊XD要嘛自己蓋掉要嘛被系統蓋掉 01/02 15:47
→ TAKO321:所以原PO說得留存到被蓋掉為止沒錯啊。 01/02 15:48
推 tsairay:留存到被蓋掉是被動,手動去清是主動 01/02 15:49
推 f1234518456:那還不是自己手動去蓋掉... 01/02 16:05
看來某人才真的是沒在寫程式, C語言裡面處理可以釋放的變數或陣列都是宣告
指標(pointer) ,宣告後電腦會去主記憶體裡面找一塊符合大小的記憶體,然後
把起始位置寫回指標。
舉個例子:如果今天我需要一個可釋放的陣列 A,大小 8 bits ,那我宣告後程
式會去記憶體裡面找個空間來存指標,假設指標記憶位址是0x0000,然後再去找
段夠大的空間,假設從0x0100開始一直到0x0108,於是指向 A陣列的指標內容就
會是0x0100。
記憶體位址跟內容的關係是這樣:
位址:0x0000┌→0x0100 0x0101 ... 0x0107 0x0108
內容:0x0100┘ 0x00 0x00 ... 0x00 0x00
然後我把某個解密金鑰01 23 45 67 89 AB CD EF 寫入這個陣列,所以0x0100到
0x0108的內容就會是01 23 45 67 89 AB CD EF 00。
於是乎,記憶體位址跟內容會變成這樣:
位址:0x0000┌→0x0100 0x0101 ... 0x0107 0x0108
內容:0x0100┘ 0x01 0x23 ... 0xEF 0x00 ←假設0x00是終止字元
到這裡為止0x0000裡面儲存的值會是0x0100,然後金鑰存在 0x0100~0x0108。好
了,那我金鑰用完要釋放怎麼辦? C語言的作法是用delete,執行結果就是把
0x0000裡面的值0x0100刪掉,然後將0x0000標記成未佔用。根本不會去管0x0100
到0x0107這段裡面東西還在不在。
記憶體位址跟內容變成這樣:
位址:0x0000 0x0100 0x0101 ... 0x0107 0x0108
內容:null 0x01 0x23 ... 0xEF 0x00
所以只要把整個記憶體讀出來,然後搜尋0x0100 ~ 0x0108 ,就可以得知金鑰的
內容。於是有人就會想到說,那我釋放時再重新宣告一個陣列 B,大小能夠把剛
剛這段內容蓋掉不就好了?是沒錯,但一般程式設計師根本不會去管剛剛陣列 A
到底是存在記憶體的哪個位置,自然也不會特別要求程式去填那個位置,那如果
去蓋呢?
這叫做「此地無銀三百兩」,真的去填就等於告訴駭客「那邊有我不想給你們看
的東西,沒有我的允許,絕對絕對不可以去看喔!」,下次駭客就會讓程式當在
填垃圾資料前,然後去把那段位址的內容讀出。人天生就有收集資訊充實自己的
本能,不然某數字週刊怎麼可能賣得這麼好,有道理吧?
--
○ ____ _ _ _ _ ____ _ _ ____ _____ ____
。 ★(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
o _)(_ ) ( \ / )__) ) ( )( )(_)( ) / ● ‧
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) ★
o
--
Tags:
改機
All Comments

By Eden
at 2011-01-03T08:36
at 2011-01-03T08:36

By Daniel
at 2011-01-05T04:12
at 2011-01-05T04:12

By Susan
at 2011-01-07T08:10
at 2011-01-07T08:10

By Noah
at 2011-01-08T01:22
at 2011-01-08T01:22

By Rachel
at 2011-01-10T15:44
at 2011-01-10T15:44

By Catherine
at 2011-01-14T18:10
at 2011-01-14T18:10

By Bennie
at 2011-01-16T19:54
at 2011-01-16T19:54

By Edward Lewis
at 2011-01-19T12:08
at 2011-01-19T12:08

By Kama
at 2011-01-21T15:09
at 2011-01-21T15:09

By Zanna
at 2011-01-24T03:35
at 2011-01-24T03:35

By Emma
at 2011-01-24T08:21
at 2011-01-24T08:21

By Rachel
at 2011-01-27T23:03
at 2011-01-27T23:03

By William
at 2011-01-30T16:36
at 2011-01-30T16:36

By Oliver
at 2011-01-31T12:59
at 2011-01-31T12:59

By Rebecca
at 2011-02-05T08:19
at 2011-02-05T08:19

By Mia
at 2011-02-08T17:42
at 2011-02-08T17:42

By Ula
at 2011-02-11T11:29
at 2011-02-11T11:29

By Adele
at 2011-02-11T21:42
at 2011-02-11T21:42

By Emma
at 2011-02-16T19:30
at 2011-02-16T19:30

By George
at 2011-02-18T12:34
at 2011-02-18T12:34

By Joseph
at 2011-02-22T18:19
at 2011-02-22T18:19

By Candice
at 2011-02-26T07:45
at 2011-02-26T07:45

By Erin
at 2011-02-27T03:26
at 2011-02-27T03:26

By Robert
at 2011-03-01T15:45
at 2011-03-01T15:45

By Tracy
at 2011-03-04T17:02
at 2011-03-04T17:02

By Lauren
at 2011-03-08T18:52
at 2011-03-08T18:52

By Dorothy
at 2011-03-09T21:04
at 2011-03-09T21:04

By Jack
at 2011-03-10T22:57
at 2011-03-10T22:57

By Zenobia
at 2011-03-13T21:27
at 2011-03-13T21:27

By Olivia
at 2011-03-15T06:13
at 2011-03-15T06:13

By Charlotte
at 2011-03-19T06:51
at 2011-03-19T06:51

By Franklin
at 2011-03-24T01:52
at 2011-03-24T01:52

By Mason
at 2011-03-27T02:35
at 2011-03-27T02:35
Related Posts
用USBloader 玩 黑頻跳出

By Rebecca
at 2011-01-02T17:07
at 2011-01-02T17:07
3.1J玩戰無三無雙模式黑屏

By Hedy
at 2011-01-02T15:35
at 2011-01-02T15:35
從PS3複製下來的PS1遊戲不能玩...

By David
at 2011-01-02T14:43
at 2011-01-02T14:43
6.20降級5.03

By Kristin
at 2011-01-02T12:59
at 2011-01-02T12:59
請問JB之後 備份的遊戲無法執行...

By Linda
at 2011-01-02T12:54
at 2011-01-02T12:54