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