RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [求助] [求助]請問要怎麼還原exe原始碼?!   字型大小:||| 
fishwater
鐵驢友〔初級〕
等級: 4
默白

十週年紀念徽章(六級)  

 . 積分: 30
 . 文章: 128
 . 收花: 138 支
 . 送花: 225 支
 . 比例: 1.63
 . 在線: 825 小時
 . 瀏覽: 6901 頁
 . 註冊: 7057
 . 失蹤: 2345
 . 台灣
#1 : 2005-11-15 11:32 PM     全部回覆 引言回覆

請問有那位大大知道怎麼把已做好的 *.exe file還原成原始碼嗎?!
有程式或方法可以還原嗎?!我想修改一下他的語法來符合我的需求~

前提是...我不知道他原本是用什麼語言寫的
這個程式是在DOS下執行的可以修改BIOS裡面的值

不知道那位比較有經驗的大大可以提供一些意見或是方法?!
謝謝!!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
fishwater
鐵驢友〔初級〕
等級: 4
默白

十週年紀念徽章(六級)  

 . 積分: 30
 . 文章: 128
 . 收花: 138 支
 . 送花: 225 支
 . 比例: 1.63
 . 在線: 825 小時
 . 瀏覽: 6901 頁
 . 註冊: 7057
 . 失蹤: 2345
 . 台灣
#2 : 2005-11-16 08:55 AM     全部回覆 引言回覆


引用:
AGC寫到:
EXE檔最終只可還原成組合語言,要解BIOS不簡單哦,它有壓縮過的,你要逆向工程,第一步先要知BIOS是用什麼方式壓的(這如同以EXE格式的壓縮檔一樣)。
再來就是反組譯了,用世界目前最強的 IDA PRO即可。
當然,前提是你要會組合語言,光學過寫過還不行,一定要很熟才行,而且對硬體IO也要在行,不然.....
若是只是改LOGO,通常原廠就有程式可用了......
逆向工程...這年頭沒人想碰了.....



NoNo...這位大大把我想的太厲害嘞...我不是要去碰BIOS的原始碼...而是一個小程式可以填一些值回BIOS...不過你說的對,雖然沒完全解開,但用Ultra Edit稍微看一下,的確是很多IO阿啥的位置值,我只是想嘗試看看...因為那個程式沒法通過Y2K的考驗,想試著去修改看看能不能換種方式讓他過Y2K...所以才需要原始碼!!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
fishwater
鐵驢友〔初級〕
等級: 4
默白

十週年紀念徽章(六級)  

 . 積分: 30
 . 文章: 128
 . 收花: 138 支
 . 送花: 225 支
 . 比例: 1.63
 . 在線: 825 小時
 . 瀏覽: 6901 頁
 . 註冊: 7057
 . 失蹤: 2345
 . 台灣
#3 : 2005-11-16 10:47 PM     全部回覆 引言回覆


引用:
AGC寫到:
一樣,都要反組譯才行。
找我提的那程式即可


IDA Pro我是找到了啦!!問題是...就像很多人說的,無法完全解譯而且會把程式變長複雜了!
這到都是其次,可我找不到方法可以修改裡面的值,就是說假設原本是2D,我想改成3D之類的
卻沒辦法,似乎是唯讀那種...當然檔案我把唯讀拿掉了~~
畢竟我不是寫程式出身的,又比較笨拙吧,假如可以繼續給我建議和步驟,我會非常感激!!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
fishwater
鐵驢友〔初級〕
等級: 4
默白

十週年紀念徽章(六級)  

 . 積分: 30
 . 文章: 128
 . 收花: 138 支
 . 送花: 225 支
 . 比例: 1.63
 . 在線: 825 小時
 . 瀏覽: 6901 頁
 . 註冊: 7057
 . 失蹤: 2345
 . 台灣
#4 : 2005-11-17 01:57 PM     全部回覆 引言回覆


引用:
AGC寫到:
先說一下 IDA PRO...在ED上有假檔,就是那個數百MB有鎖的檔(密碼說明檔也可同時找到)解開後,內容是空的。
OK回正題。
通常反組譯,輸出不要選原碼方式,會更難看下去,選以列表檔方式(就是有ADDR.值有 OP CODE及原碼)這樣比較好追(配合DEBUG工具交互參考),你先要用DEBUG(WIN下的DEBUG我不知要用什麼,但是你要追的程式是在DOS下RUN,就用MASM內的CV即可)RUN到你想要改的地方再用單步慢慢執行,看看出問題的大約在那裡,再把相關ADDR值記下,再由列表檔上找到同地方,然後看要如何改。
不過對從沒寫過的人,這可是很難,幾乎要你重頭學程設了,而且DOS下的程式有些經過壓縮過的(稱之包裝),變成在DEBUG上看到的位置值與反組譯出列表檔上的位置值不一樣,所以除非沒替代方案,不然就找功力強的人弄弄看了,我是不強,我有10多年沒碰過反組譯了,而且不寫程式有5,6年了....


非常感謝你詳細的解說~~不過看來我找到的版本跟你說的好像不太一樣,因為你說的那些東西我一個也沒找到   
我找到的版本是IDA v4.8.0.847 win.
Anyway 還是非常感謝你耐心的教導!!我自己再試看看好嘞~



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-27 07:41 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.016181 second(s), 7 queries , Qzip disabled