瘋狂的程序員 正文 《瘋狂的程序員》55
    七八月份北京的天氣確實要比南方好得多。下了火車絕影才覺得都無非也就是這樣想起小的時候別人問他長大了想去哪裡便興奮地答道:想去北京想去長城想去天安門看升國旗。--去天安門看升國旗那可是一代人的夢想啊。

    可是慢慢地時易事移現在這一代又根本不屑「去天安門看國旗」你問他們長大了想去哪裡便興奮地答道:想去香港澳門想去美國加拿大。以至於「去天安門看國旗」都成了一塊笑料那《瘋狂的石頭》裡去北京領獎那個天安門前升國旗的鏡頭加上「我愛北京天安門」的背景音樂就是一個證明。

    想起《瘋狂的石頭》絕影馬上就想起Bugyang那小子自從看了《瘋狂的石頭》便在辦公室裡時不時的哼兩句「我愛北京天安門……」或者一個問題思考半天還沒找到解決辦法便拍著腦袋自言自語道:「石頭兒我要的是石頭兒!」

    那Bugyang肯定是很想來北京的一來到北京必定被委以重任正是證明自己實力的大好時機說實話在公司那dap做著實在沒什麼意思據說絕影都已經把他做死了現在讓卻讓自己來給他收拾殘局;二來還可以實現他看升國旗的理想到現場去演繹一下「我愛北京天安門」。這個絕影心裡很清楚但絕影肯定不會讓Bugyang跟他一起去北京這點Bugyang心裡也很清楚所以二人心照不宣誰都不說破。

    張廠長比絕影早一天到北京跟陳董一起來街他北京正是陳董的故鄉走的時候周總就悄悄告訴他說啥不好都行千萬別在陳董面前說北京不好。北京什麼都好春天風沙沒有內蒙古大夏天比四大火爐涼快秋天有楓葉冬天比吉林哈爾濱暖和。雖然絕影不太愛說客套話但第一句還是學著美國人的腔調道:「哦今天的天氣真好啊。」

    陳董拍拍絕影的肩膀說:「小絕啊你終於來了這次case很緊迫啊你從來沒讓我們失望過所以這次非得你親自出馬其它人都不行。走咱們先吃飯邊吃邊說。」

    吃飯的地方是在火車站對面的永和大王因為是早晨只是一頓簡單的便飯陳董一邊吃一邊說:「聽周總說eB那個項目死掉了當然這不怪你商務上的事情還是該由我來負責也正因為eB失敗了所以這個case才尤為重要。eB上我們投入了那麼多時間經歷資金現在弄得我們很被動所以我們急需用這個case來緩解一下被動局面當然如果這個case做得好對我們來說意義絕對不比eB小。」

    陳董一邊說一便比劃張廠長乾脆放下碗筷全力以赴來傾聽。說實話一個軟件公司居然專門把自己這種「入門級」菜鳥程序員調來搞這case看來這case是大有貓膩。絕影剛下火車肚子餓得不行一邊大口大口吃包子一邊時不時點頭嗯兩聲。

    「咱們這次要做的是對一個芯片進行逆向。北京這邊一家公司生產一種小型dR這裡面有塊重要的控制芯片是motoro1ar的現在這種芯片停產了他們根本買不到又沒有源代碼現在是急得團團轉沒有芯片他們還搞個屁的dR啊?我想起小絕前幾次做了些逆向工程的工作有點經驗所以就把這case接下來先試一試吧。要是我們成功了我跟他們談的是他們所有dR上用我們的工作站一年下來也至少有五六十套訂單啊。」

    聽到「逆向工程」這個詞絕影突然又不覺得餓了馬上來了精神飯也不想吃了連忙說:「芯片在哪裡?看看先。」

    「我這沒有芯片不過有個48k的Bin文件小絕你看看能不能把他逆向出來最後逆向成c代碼這樣我們就可以選擇任何一種芯片來重新開了。」

    陳董這句話是站著說話腰不疼就憑一個Bin要逆向一個芯片還弄成c代碼談何容易絕影馬上說:「這基本不可能。完全反彙編還有點希望要想逆向成netbsp;「弄不出來也沒關係盡量試試總之我們的目的是用另外一種芯片實現它的功能。我想逆向是這裡面是一項很重要的工作。」

    兩人談到這裡一向不愛言的張廠長這次卻插嘴道:「我想還有個辦法絕影剛才說的是從邏輯上逆向我想從功能上逆向一快芯片無非就是輸入和輸出我想只要把所有輸入對應的輸出測出來我們完全可以自己寫程序用另外的芯片實現同樣的功能。」

    「這也不可能。」絕影馬上打斷他「一快芯片有多少輸入引腳?就算十六個那也是65536種輸入以有限的精力根本不可能全部測出的而且輸入的數據都是經過一定的算法來處理還沒見過誰笨到寫65536個case語句再有關鍵是時序如果他的芯片裡有延時怎麼辦?怎麼測測得精確嗎?」

    張廠長望望絕影都不說話了現在就他們三個在他們中絕影在技術上就是權威而且他不假思索一二三說都頭頭是道有理有據他說了不可能就不可能。

    陳董卻說:「小絕啊這你就太武斷了。坦率地說硬件方面你的確比不過小張這也是為什麼這次讓他來和你一起做這個case的原因他的意見還是很有參考價值的。」

    絕影很不服氣還想說什麼可是陳董並不給他機會一錘定音道:「就這樣你們倆各自都有自己的方案就各自用各自的方案先去試試先做一做再說。」

    所以說彙編就是好。這麼個Bin文件拿給BossLiu就算他c++牛上天又如何?對他來說還不是就一堆二進制。但用彙編的人看法就不一樣在學校裡學微機原理時就學了彙編分兩種人工彙編和機器彙編所謂人工彙編顧名思義就是人工把彙編代碼翻譯成機器代碼。你現在什麼宏彙編器c++優化編譯器都耍都有模有樣又怎麼樣?要是沒有彙編器編譯器你還能有用武之地?

    所以每當BossLiu吹噓他c++什麼虛基類類模板這樣東西的時候絕影都只說一句話:「《少林足球》看過麼?『天下武功出少林沒聽過嗎你?』這是放之四海階准的道理啊:()天下語言出彙編沒聽說過嗎你?」

    然後陳董走過來關節地問:「你們兩還需要什麼嗎?儘管說。」

    這時候張廠長滔滔不絕地說:「我需要電壓表電流表示波器電阻之類的一些基本電子元件和一塊pc板。」好像要東西越多越能體現出他的專業。

    絕影卻平淡地說:「我只需要一本《deve1opmentguides》當然這個我會自己從網上下載。」好像要的東西越少月能體現出他的效率。

    在絕影心中你拿一大堆先進裝備把人質救出來算個啥不就是一個人質嗎?還搞得像老美一樣得飛機大炮坦克衛星加特種部隊俺就是要揚勤儉節約的精神就一把ap一槍把綁匪斃了完事。啥是效率這就是效率啊納稅人的錢不是拿來讓你拍電影的公司的錢不是拿來讓你體驗新產品的。

    下載到《deve1opmentguides》絕影一頭埋在對Bin的反彙編中也許是軟件做得多了他一直認為張廠長弄不出啥大成果出來上次也就是弄了個遙控器出來不過意義不大除了他們本地那家醫院公司連一套都沒賣出去過到後來周總把這事都忘了有一次燕兒從工具箱深處挖出這麼一個遙控器來周總居然拿在手裡翻來覆去得大量還一邊說:「這是啥時候買的東西?」越是這樣張廠長也越是想弄出大成果來證明他。

    其實對照《deve1opmentguides》上的指令集完全可以把Bin反彙編出來奈何這工作進展實在很緩慢弄了一個上午才翻譯出一百來行代碼還不到二十分之一而且還時時擔心那一點反彙編錯了哪怕只錯一點點影響到後面代碼的定位後面所有的工作基本就白做了。照這個進度要把這個case搞完只怕只有在北京過年了。

    雖然在很多時候懶人都被人鄙視但不得不承認懶人的確為我們的社會做了不少貢獻沒有人懶得走路就沒有人明汽車沒有人懶得爬樓梯就沒有人明電梯沒有人懶得去做人工彙編也就不會有人明彙編器。

    這一次要不是絕影懶得去做人工反彙編他也不會考慮做個反彙編器。不過他在決定做這個反彙編器的時候心裡還是很沒底以前還是菜鳥的時候就聽哪位牛人說:「如果你做出了反彙編器就嘗試做個彙編器如果你成果做出來彙編器就可以嘗試做個編譯器。」說實話從學寫程序到現在開編譯器這東西儘管絕影很感興趣但從來都不敢碰考軟件設計師那編譯原理都索性全部放棄為什麼?編譯器那實在不是牛人就能做的東西那是大牛才能做的!

    沒底歸沒底仔細想想其實這反彙編器也不是那麼困難自己手工反彙編了半天那反彙編的流程基本已經摸得清清楚楚在加上這芯片也設計得簡單還是定長指令集這真是motoro1a公司莫大的恩惠啊。用最笨的辦法把每條指令的機器碼、操作數類型、指令加數據的長度、助記符弄成個結構體再建一個表把所有指令都收進去到時候查表不就行了。

    花了一天時間當這個反彙編器誕生的時候絕影始終還是不相信自己:難道我離大牛的距離又進了一步了?

    馬克思說得好資本家總是不能滿足的今天他賺了1oo%的利潤不要以為他就知足了他仍然會想:明天我怎麼才能賺到2oo%的利潤呢?絕影滿以為這反彙編器一秒鐘之內便能完成手工三四天才能完成的工作已經是整個case裡巨大的里程碑值得自己好好驕傲一陣子。陳董卻拍拍絕影的肩說:「小絕啊真是從來沒讓我們失望過。現在任務還很緊啊你看看抓點緊試試把那彙編代碼翻譯成netbsp;絕影聽了就想吐血早知如此還不如就人工翻譯說不定花個三四天功夫陳董還會讓他休息一兩天。

    雖然明知自己中了資本家的計謀但絕影還是不知悔改也許程序員都是這樣。這不是因為這個case做好了又能有多少多少獎金或者一下從技術經理升職成總經理。正如做反彙編器一樣反編譯對絕影來說一樣也是件很有意思的事情因為他沒做過什麼事情沒有做就不知道有多難也不知道這裡面會遇到什麼樣的困難更不知道如何才能解決這些困難。

    所以現在的很多年輕人總以為讀書破了萬卷下筆寫起程序來就真的如有神助於是參考書技術資料管他有用沒用能下載的掛上BT全天24小時下載一次就下載個十幾g的比msdn還大不能下的就書店圖書館網上書店全都搬回家不管能不能看懂或者有沒有時間看總之哪怕放在那裡看看封面也覺得離牛人的距離又進了一步。

    有的或者又像Bugyang一樣認為有個牛人能帶帶自己就如《鹿鼎記》中的韋小寶一樣:「你趕緊傳授我絕世武功吧我好去臥底。」可是《鹿鼎記》中陳進南不是也說了麼:「我看絕世武功的秘籍用了三年練功用了三十年。」

    反編譯的工作比想像中要困難許多幾條彙編語言組織起來得翻譯成得體的c語言能翻譯英文書的人英文都應該算了得了但是翻譯起英文著作來都還是牛頭不對馬嘴更別指望這個世界有自動英文翻譯器有那goog1e在線翻譯效果實在不敢恭維就如別人笑你英文菜說道:「你那英語簡直是goog1e在線翻譯。」

    這些絕影自己都沒弄透徹更別指望三五天時間裡弄出個反編譯器出來。

    就在他騎虎難下的時候張廠長突然大聲宣佈:「出成果了!」

    絕影回頭一望他的表情和Bugyang完成任務時一模一樣。

    附記:

    到今天地震剛剛過去一周但它帶來的影響遠遠過了想像。逝者已經逝去生者為他們默哀但生者也還在受著折磨。

    這一周來最大的心願就是能好好洗個澡能在床上伸直了腳睡一覺但偶爾冒死回去一下房子又時不時地搖一搖嚇得人提心吊膽。本來下定決心昨天就回家去住但剛1點多又來了次大的餘震房子轟轟地響。趕緊又躲進廁所叫百萬進來百萬還全然不知。今天就再也不敢回家了。

    今天在報紙上知道昨天的那場餘震讓江油又失去了13條生命。

    一周過去了露宿的人反而越來越多明明有自己的房子卻要露宿街頭這裡面有多少苦衷啊。

    最近今天朋友們聚在一起都在講這次地震講自己的親人朋友講北川平武。很多人都說以後在綿陽恐怕不會有北川這個縣了。這次我沒有去北川但據去過的朋友形容相當慘烈整個地直接沉下去然後兩邊山倒下來把它蓋上就像包餃子一樣。

    女朋友作為支援者去了一次安縣回來就一直哭說那裡好恐怖:房子都倒得差不多了路上還時不時有人等待救助也時不時地擺放著一具具屍體。

    安置到綿陽的災民也越來越多據說過了5o萬。這幾天很多人都是哭著去幾個安置點尋找自己的親戚朋友又哭著從裡面出來。

    街上時常有警車和救護車經過現在大部分救護車都是外地的看了很感動。還有網上看到的捐款什麼的有些人在討論誰捐得多誰捐得少。其實捐多少都不重要因為很多損失根本是沒法用錢來衡量的。所以力所能及能捐多少就捐多少吧重要的是希望你能捐出一份心這個才是災區人民最需要的。

    說實話剛經歷地震的時候很害怕地震但是一周過去我覺得流言比地震更可怕。  
本站首頁 | 玄幻小說 | 武俠小說 | 都市小說 | 言情小說 | 收藏本頁