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

Regina avatar
By Regina
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
到底是存在記憶體的哪個位置,自然也不會特別要求程式去填那個位置,那如果
去蓋呢?

這叫做「此地無銀三百兩」,真的去填就等於告訴駭客「那邊有我不想給你們看
的東西,沒有我的允許,絕對絕對不可以去看喔!」,下次駭客就會讓程式當在
填垃圾資料前,然後去把那段位址的內容讀出。人天生就有收集資訊充實自己的
本能,不然某數字週刊怎麼可能賣得這麼好,有道理吧?

--

____ _ _ _ _ ____ _ _ ____ _____ ____
(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
_)(_ ) ( \ / )__) ) ( )( )(_)( ) /
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_)


--
Tags: 改機

All Comments

Eden avatar
By Eden
at 2011-01-03T08:36
原po大概沒在寫code,變數用完是可以手動清記憶體的
麻煩而已,不是辦不到
Daniel avatar
By Daniel
at 2011-01-05T04:12
那還不是要載到記憶體...
Susan avatar
By Susan
at 2011-01-07T08:10
原po是寫說會留存到其他資料蓋掉為止,我是針對這點提出
Noah avatar
By Noah
at 2011-01-08T01:22
樓上說得就是被資料蓋掉啊XD要嘛自己蓋掉要嘛被系統蓋掉
Rachel avatar
By Rachel
at 2011-01-10T15:44
所以原PO說得留存到被蓋掉為止沒錯啊。
Catherine avatar
By Catherine
at 2011-01-14T18:10
留存到被蓋掉是被動,手動去清是主動
Bennie avatar
By Bennie
at 2011-01-16T19:54
那還不是自己手動去蓋掉...
Edward Lewis avatar
By Edward Lewis
at 2011-01-19T12:08
雖然我好幾年沒寫程式了,C大說的跟我猜想一樣
只要存在~就有可能讀出來~~
Kama avatar
By Kama
at 2011-01-21T15:09
你的看法太理想了吧,記憶體內就沒有其他資料會變動嗎
Zanna avatar
By Zanna
at 2011-01-24T03:35
書讀很多也要實際操作一下,真有那麼容易從mem讀,早就讀出
來了,還需要去拆解演算法嗎
Emma avatar
By Emma
at 2011-01-24T08:21
這一點都不理想,現實狀況就是如此,有很大的機會不被蓋掉
Rachel avatar
By Rachel
at 2011-01-27T23:03
拆解演算法可以分析資料的格式,利用特殊的標記來加速搜尋
William avatar
By William
at 2011-01-30T16:36
不然要怎麼解釋geohot的漏洞存在的事實?
照你這樣講geohot的漏洞應該不可能存在才對,那這樣$QNY也
Oliver avatar
By Oliver
at 2011-01-31T12:59
等著被蓋掉是被動,主動去清掉是主動,操一點就是把所有變數
Rebecca avatar
By Rebecca
at 2011-02-05T08:19
沒必要拿掉OtherOS,也才不會導致今天這種局面。
Mia avatar
By Mia
at 2011-02-08T17:42
都這樣處理,干擾的目標就能達成
Ula avatar
By Ula
at 2011-02-11T11:29
好啦,樓上趕快去教$QNY的程式設計師寫程式,這樣就不會被
破解了。
Adele avatar
By Adele
at 2011-02-11T21:42
我想$QNY現在肯定非常後悔當初沒有請到某t去當他的的顧問
Emma avatar
By Emma
at 2011-02-16T19:30
放大絕中…
George avatar
By George
at 2011-02-18T12:34
真那麼理想還會被人撈到喔...
Joseph avatar
By Joseph
at 2011-02-22T18:19
藍光影片一開始也是從windvd這軟體的記憶體撈key才破
Candice avatar
By Candice
at 2011-02-26T07:45
而anydvd則是a走powerdvd的key 所以實務上是有發生過
Erin avatar
By Erin
at 2011-02-27T03:26
慢慢撈是撈的到啊,所以才要做防護
Robert avatar
By Robert
at 2011-03-01T15:45
C大打這篇真辛苦 順便學習一下
Tracy avatar
By Tracy
at 2011-03-04T17:02
每次進來都看到某個人在跳...
Lauren avatar
By Lauren
at 2011-03-08T18:52
100分~(雖然看無)
Dorothy avatar
By Dorothy
at 2011-03-09T21:04
推!
Jack avatar
By Jack
at 2011-03-10T22:57
動不動在這邊嗆別人沒寫過code才會被打臉...
Zenobia avatar
By Zenobia
at 2011-03-13T21:27
不過新世代很多寫code的人其實已經不需要懂底層了
Olivia avatar
By Olivia
at 2011-03-15T06:13
感動阿
Charlotte avatar
By Charlotte
at 2011-03-19T06:51
推cassine 大絕 GJ
Franklin avatar
By Franklin
at 2011-03-24T01:52
推兩位!互相激盪才能讓大家懂更多!
Mason avatar
By Mason
at 2011-03-27T02:35
你以為每次都會alloc到頭一個位置嗎?

用USBloader 玩 黑頻跳出

Rebecca avatar
By Rebecca
at 2011-01-02T17:07
不知道為什麼我用USBLoaderGXr938去開遊戲 讀取後會變成黑頻 而且上面還有一堆字 接著就跳出去主畫面了 但是我把sd卡拔掉之後 又可以玩 我爬文好像是sd卡上的privat資料夾要刪掉 可是我把它刪掉再去執行遊戲也一樣 我快瘋了... 還有一個問題是我不能選擇以ios249啟動 它那格是空白不能 ...

3.1J玩戰無三無雙模式黑屏

Hedy avatar
By Hedy
at 2011-01-02T15:35
溫馨提醒:發文時請盡量不要帶有敏感字眼(EX:盜版、迷片、網路下載等) 主機是3.1J 有硬改 昨天照著懶人包跑 使用Neogamma 銀瑪2已經可以正常遊玩 戰無3則是到無雙模式或村雨城 Wii就會出現ERROR的訊息 畫面上有字要你取出碟片並重開那個 後來把IOS249從v14升到v17 再用Ne ...

從PS3複製下來的PS1遊戲不能玩...

David avatar
By David
at 2011-01-02T14:43
PS3是60G,從PSN購買美版Bio2 Bio3 日前購入PSP後(韌體 5.50 Prometheus V4 ) 就想把一些當初PS3上的遊戲複製下來 一開始用PSN Lover順利上網,且復原當初美版的PSN帳號 然後從PS3複製過來時,會出現 and#34;目前連接的psp已由其他帳戶驗證, ...

6.20降級5.03

Kristin avatar
By Kristin
at 2011-01-02T12:59
話說我自己手癢玩降級 同時也玩出了心得來 我用New Psar Dumper來解密 4.01、4.05、5.03都正常解密 5.00不曉得為什麼每次解密失敗? (6.20的改天拿來試) 但是Restart VSH後,不管是從 4.01~5.03 還是4.01~5.00都是黑屏死機 4.01升4.05則是會 ...

請問JB之後 備份的遊戲無法執行...

Linda avatar
By Linda
at 2011-01-02T12:54
終於把主機降級JB完成了 嘗試把遊戲光碟COPY進主機 目前試了: 劍魂4 TOV TOGF 每次進遊戲都繪黑屏,然後跳回主機主選單 裝在外接硬碟也無法進入 TOGF用multiMAN的時候,是有跟我說此遊戲要用 3.5的PATCH補丁,然後問我要不要做我選YES 也是無法進入 主機是厚機40G 3 ...