極光駭客

關於部落格
If(Boy.Value == "宅"){
Boy.InHouse = True;
Boy.Out = False;
}
  • 132041

    累積人氣

  • 38

    今日人氣

    0

    訂閱人氣

爆肝無雙工程師012衛宏凱設的陷阱

012衛宏凱設的陷阱 星期五的例行會議上,工業與特規的相關人員和兩邊主管已就座,模擬器的部分也全部搞定,接下來便是進行功能開發。然而,Frank對於邊城的態度相當不滿。 裘富仁對著薛迪克道:「Dick,你們部門的員工很屌嘛,不甩我,說下班就下班,很難搞喔!」 薛迪克明白他是指誰,頻道:「我知道我知道,但是他東西還是有出來嘛,這個我會再跟他談談。」 裘富仁當場咆哮起:「我不會給你面子,我告訴你,今天在他面前講清楚,我要現在給我承諾。不是我要把場面搞這麼難看,但是這樣我們根本沒辦法合作,那個時間一拖就是到隔天,每次都要到隔天不是就浪費上兩倍的時間。」 未料邊城直接回嘴:「那請你想清楚規格再來傳達指令,不要隨自己高興想到什麼就要改什麼,尊重一下最初要制定規格的意義。」 沒錯,這在科技業是常態。一款產品的設計到完成,你會發現幾乎跟當初開案的時候所想要的都不一樣,上面的大頭總是想到一個就改一個,而且不會給你增加完成期,依然要你照著當初的期限做完。 裘富仁指著邊城質問薛迪克:「這是什麼態度?Dick,你們部門頂撞我喔,我告訴你,換一個人來做,換一個人來做,這樣我們根本沒辦法跟他合作!」 薛迪克連忙要邊城閉嘴別再講話,此時鍾總恰好聽見會議室爭吵進來看看是怎麼回事,聽了一下裘富仁的抱怨,便把裘富仁與薛迪克叫出來外面談。 鍾總道:「Frank啊,這件事情不能說是他的錯,畢竟那真的是下班時間。特規這邊只剩他一個軟體工程師,沒有他也不行,反正你們模擬器已經定完,接下來也只要掌握進度就好了,這件案子也不會再有什麼規格上的變動了吧?畢竟不是我們自己要推銷的產品,功能不用繼續增強,就照著政府標案規格設計就好。」 被總經理摸了摸頭,裘富仁心裡自是不爽,但鍾總的理由也無法辯駁,規格是真的不會再變動了,剩下的頂多像前日開會要求改變訊號指令等小細節而已。無法從這一塊下手,裘富仁身為堂堂協理居然還要順從助理工程師的習性,他決定從技術面著手。 裘富仁找來衛宏凱道:「宏凱,葉邊城那小子很強……但是新人應該會犯些錯誤。」 衛宏凱讀出了Frank的弦外之音,道:「我跟特規的測試小子也有點過節,你放心,我會挖個洞給他們跳,一次解決,保證不會傷害到我們這邊的功能完整性。」 似乎有什麼陰謀要開始進行了…… 時光飛逝,十月很快的過去了。這一個月裡,邊城依舊是天天準時下班,而晨世重覆著Barton課長的特訓,強烈且實在的學習了許多業界的基本功。除此之外,晨世收穫最大的便是Barton課長身上那十數年的功力,許多的經驗都傳承到了他的身上,現在做起各方面的測試都較先前成熟許多。 晨世操作著史迪文的韌體選單,發現跳頁鍵與頁數對不起來,道:「steven,你的跳頁計數少1,我想應該是你的韌體裡第一頁是從00開始計數的關係吧?」 史迪文想了一下道:「呃……對呀對呀,我把它加一。」 晨世又道:「還有,你的HOT PLUG重抓時會掃錯,我想可能是沒有清除暫存器的關係。」 史迪文似乎被提點到了,驚了一下道:「是嗎!?這個我應該可以馬上修。」 兩道錯誤不但抓的快而準確,晨世的知識與技術又上了層樓。 十一月初,已然到了當初與對方約定比賽的時候,大螢幕的基端建設已完成,機構部分還在修整。大部分的機構都是工業處的負責範圍,只有控制器這部分屬於特規的產品,而先前亞博泰已經說過由佳鳳負責特規的機構設計案,所以這次便是佳鳳首次與特規產品研發部配合設計新外殼。 佳鳳拿著從工廠新塑成的外殼給晨世道:「拿去,我照著你們要求的規範畫出來的。」 晨世手握著那殼道:「哇喔,你的第一個實作案呢!好,就讓我來測測看有沒有問題。」 說是測試,心裡卻想著刁難佳鳳,一裝上璩政和的Sample板後,晨世按了一下道:「嗯,這殼旁邊好像鬆鬆的喔,範圍大了零點零零五公分吧;拉桿似乎會磨到邊邊,用個一百萬次後可能會掉漆;還有那螺帽轉兩百萬次會耗損到不能用吧……」 佳鳳沒聽完便用右馬尾一鞭甩了過去怒道:「不要在雞蛋裡挑骨頭測試那些誇張的項目!」 晨世摸了摸被痛擊的臉道:「哎呀,沒想到妳這麼矮可是頭髮卻能甩這麼高。」 佳鳳又怒的把左馬尾鞭甩過去道:「不准說我矮!」 達成了耶穌教導的左臉被打完也要打右臉後,晨世撫著痛處道:「哎……說正經的,十一月七日立冬那天我們就要進行比賽了,你這殼就算不合身我們也只能硬著頭皮裝。」 聽聞比賽日子將近,佳鳳疑惑的問:「這次是控制器組的測試,但是我看邊城依然故我的準時下班,他真的可以在這週搞定嗎?」 晨世倒是深具信心道:「放心吧!按照進度,今天就可以給我做初步測試了。」 才剛說完,邊城便帶著隨身碟走來,要晨世找一台測試用電腦裝上軟體並連接控制器。 控制器透過USB與電腦連接,另一邊則接到大螢幕。操作員啟動控制器並設定完後,透過電腦軟體紀錄比賽狀況,同時將目前狀態透過控制器輸出到大螢幕。由於大螢幕尚未完成,所以這一階段是接在一台模擬用的小螢幕上,確認資訊輸出正常。 晨世按著順序做測試,輸入雙方球員名單,顯示正常;輸入壘包狀態,顯示正常;輸入比賽局數,顯示正常;接上測速器然後用拳頭一揮,時速一百多公里,顯示正常。 似乎項目都正常,但接著輸入得分、安打數、失誤數時,項目卻沒有更新。 晨世道:「邊城,這邊有問題喔,可能是你程式輸出沒給到值,檢查一下吧!」 邊城看了一下後便回去檢查,然而經過不斷的修正程式碼和參數指令後,這個問題依然沒有解決。莫非……遇到不知名的bug了?連邊城都沒有辦法輕鬆解決? 佳鳳抱著看好戲的心態道:「總算遇到麻煩了喔?」 對於科技業而言這是再正常不過的了,一位研發工程師一生中不知道會遇到多少次這種沒頭緒的異常bug,你無法克服它就只有避開它或繞過它,而你可能到踏入棺材才止都不知道究竟是出了什麼問題。 邊城冷靜道:「電腦不會靠祈禱就有神蹟發生,一切的錯誤一定都有原因可尋。」 尋尋覓覓千百蟲,但真有可能尋找到原由?晨世內心突然動盪了起來,這不尋常,因為在他眼中看見了邊城從未有過的焦慮之貌。 邊城撥了通電話給衛宏凱問了相關的問題,只聞那頭衛宏凱語氣平和,似乎對於出現這種狀況一點兒也不意外,兩人對了對參數資料,並無異樣。 衛宏凱道:「我給你的模擬器也包含了DEMO CODE呼叫我DLL的API,你如果認為是我的DLL檔有問題,那你可以RUN一下我的CODE,或參考我的設計方式。」 先進行測試吧!晨世也一同觀注著,邊城將DEMO CODE編譯後跑了一次,沒想到呼叫同樣的DLL檔,下一樣的命令參數,這次得分卻正常顯了。 沒錯,衛宏凱給的DLL檔和參數指令是沒有問題的,這代表責任不在衛宏凱那一邊。危機,真的是危機,出錯且找不出問題的程式碼竟然落在邊城的責任上。 幾乎就要完成了,只差在得分、安打數、失誤數的「RHE」顯示出狀況,邊城緊急的修改程式碼,甚至連呼叫 API 的部分也重寫,但依然無法正常運行。為了進行測試,甚至將衛宏凱的DEMO CODE相關程式碼都複製過來使用,仍舊是呼叫失敗。 不論想什麼辦法都無法繞過這個bug了,因為在開案時,介接的部分已經言明不能直接寫入值,必需透過API,這也是為了將來應用到其他球場時可以很快客製化的關係。 時間一分一秒的過去,就快要接近下班鐘聲響起,但問題依舊無解,莫非邊城這次真的得要加班改bug嗎?仍無頭緒,而裘富仁與衛宏凱似乎都等著邊城失敗的臉。邊城撥了通電話要求衛宏凱來技術支援一下找出問題所在,但衛宏凱卻直接回言自己現在有其他案子正在趕,要等晚上七點半後才有空,是鐵了心要把事情留到加班後處理了,當然這也是來自裘富仁的指示,讓邊城乖乖的順從加班。 掛了電話,邊城道:「看來現在想靠對方是不可能的了。」 晨世洩氣的說:「可惡,怎麼會發生這種事,該不會跟棒球打假球一樣衛宏凱寫的根本是假程式吧?同樣的程式碼COPY過來竟然還不能跑,難道那個DLL 還會看心情決定要不要讓那個呼叫他的程式跑喔?」 聽見晨世這話,邊城似乎想到了什麼,道:「既然如此,我就用破解遊戲的方式來對付它!」 語畢,嘴角微揚,晨世感覺到邊城身上的氣息不同了,一股興奮感正在燃燒,邊城的眼神發亮著,像是遇到了挑戰的目標。這還是第一次感受到這麼強烈的悸動,連佳鳳都被吸引住了,似乎也在期待邊城能破解掉這個問題。 邊城打開了一個工具軟體,鎖定住衛宏凱的DEMO CODE程式,執行一次正常的呼叫;接著,他又啟動自己寫的軟體,同樣呼叫。結束後,邊城分析了一下執行的過程,發現到了一個可疑點,又用工具鎖定該支DLL,查詢函式庫被載入記憶體執行後的片段。 果然有驚人的發現,邊城道:「不尋常,這DLL 執行開頭的第一行竟然是一個jmp ckpgt 的指令,我要查一下這個ckpgt在做什麼。」 沿著線索追蹤下去,赫然發現那是一個檢查機制,查詢呼叫者的程式Title。 邊城笑道:「呵呵,真是卑鄙,做了如同線上遊戲防外掛手法。」 晨世不解,邊城便解釋這是一個常用於線上遊戲的過濾機制,由於呼叫函式庫時會用到溝通介面,所以線上遊戲自己呼叫自己的DLL 動作時也是相同的作法,利用第一行過濾掉呼叫者的程式Title,發現不是原本遊戲的標題名稱或發現是來自已知外掛的標題名稱就進行呼叫濾除不讓它動作。 邊城解釋道:「假如我是按x精靈,那程式只要發現是按x精靈在對他PostMessage就不予處理。衛宏凱用了相同手法,只讓他的DEMO CODE呼叫通過而已,所以就算你完全複製了相同的程式碼,但視窗標題不同,DLL也不會動作。」 晨世罵道:「真是下三濫的手法,我們把DLL 複製起來向上面舉發他啦!」 邊城卻道:「沒有用的,他也只會說那是一個保護機制然後忘了告訴我們有這個保護機制而已,一定早就跟他們協理串通好了,到時候還會表揚他避免公司程式被破解做了很棒的保護動作。」 晨世問:「那現在要怎麼辦?」 邊城道:「對方的目的肯定是要讓我留下來加班,然後再批評我研發不力最後收回軟體案給他們自己搞,接著他們就會把過濾程式拿掉並證明他們才有辦法開發出來,重重打壓我們部門的研發績分。真是無聊,那我就偏不反應,順著他的DLL 動作。」 晨世道:「你要改標題?可是案子有規定執行的時候視窗標題要顯示的字。」 邊城冷笑了聲,道:「哼,那還不容易?只要呼叫時把位址加一,跳過第一行不跑從正常的第二行開始跑就可以了。不過,倒是可以利用這個方法回敬他們。」 晨世興奮的問:「怎麼樣?你有辦法陷害他們嗎?」 邊城道:「衛宏凱在DLL 裡面寫了這個陷阱,那我們就利用這個陷阱,如此……」 兩個人興奮的計劃著,一旁的佳鳳頭一次體會到邊城的實力,那的確是不凡。自己過往看待對方的態度錯了,因為邊城根本不能用常人的觀點去判斷。和晨世道別後回到了自己部門去,佳鳳內心也在思索著,自己是否也會遇到其他人挖洞給自己跳呢?若掉進了洞裡有本事像邊城那樣爬出來嗎?畢竟,亞博泰對她的態度仍未改善,部分前輩案子吃重,雜務修改也是丟給新人的她去做,深怕一不小心就改到洞裡去。 十一月六日,星期五,又到了每週例行會議時間。這一個多月以來的開發可真是辛苦,兩邊的工程師為了完成這巨大的螢幕都花了不少心血。本日也是控制系統研發驗收的階段,因為隔天的比賽就要實際操作一次,所以鍾總和郭董也都到場關切運作不能出錯。 裘富仁與衛宏凱自從那天再沒接到邊城的求援電話後本是認為邊城將出包了,可是這幾天依舊沒聯絡反而感覺不大對,趁這機會觀察控制器的運作,出乎他們意料的邊城所寫軟體竟然正常的控制所有功能。 裘富仁問:「上次你打電話來那個問題解掉了嗎?是你的程式有錯嗎?」 邊城與晨世對眼一瞄,回曰:「不是我的程式有錯,後來我們發現是程序的問題,你們的DLL 有bug 在。」 衛宏凱表情嚴肅演技精湛的指著他道:「不要推卸責任喔,我給你的DEMO CODE跑起來明明沒有問題。」 晨世卻道:「不,你的DEMO CODE在特定狀況下一樣有問題,我測出了問題所在。」 原來衛宏凱自作聰明卻又寫的不嚴謹,致使過濾發現是DEMO CODE程式時便卸載掉過濾的部分,打算利用記憶體檢視器監測整個呼叫流程證明自己的動作一切沒問題,卻忽略了因為不再jmp 跳躍所以必需把定址往回拉一個位址,正常程序再次呼叫該函式的時候一樣會去執行jmp 跳躍動作,跳到一個已經不存在記憶體中的程式區段,導致程式當掉。 晨世和邊城配合操作DEMO CODE及邊城開發的軟體都發生了這種情形,足以證明問題不在自己身上,而是加料的DLL 檔有問題。 鍾總馬上道:「明天就要比賽測試了,你的DLL 檔今天能修好嗎?」 裘富仁和衛宏凱沒有解釋跟表揚的機會了,畢竟這種情況下要是說明那段程式碼是自己特別加進去的反而給自己找麻煩,落了個刻意製造當機的結果讓人罵。衛宏凱只有假裝不知道,表示自己會再回去研究程序是否有錯,並保證今天可以修好。 郭董發飆道:「我希望你們開發產品的時候不要這麼不成熟,有問題趕快反應,拖到今天要驗收了才搞出這麼個bug,你們兩部門到底在幹什麼?明天比賽能不能正常運作?我問你們明天能不能正常Run?」 死了也要拉墊背,把兩邊都一起罵一罵,打回相同起跑線。裘富仁跟薛迪克連忙保證沒有問題,同時驗收了其他功能無誤後,關心起明日的比賽。 郭董問:「Chance啊,給你這個機會搞比賽,好好搞啊,我等著看明天的秀。」 晨世拍胸脯保證道:「沒有問題,我們下午就會去場地預演,其他一切也都打點好了。當然,還請宏凱哥中午前把DLL 檔搞定,不要拖到我們的時間。」 白守濤此時道:「那就希望我們的首次測試成功,我已經協調設計驗證部明天全程觀看實地操作過程,因為按照排程,下週就要接上大螢幕,下下週就要交給我們合作的廠商裝到水母棒球場上,他們要繼續進行更多測試,交期就在十一月二十日前。」 郭董看著晨世問:「操作手應該是你吧?」 晨世點頭道:「你放心,這幾天我已經操作的很熟練了,技轉沒有問題。」 郭董轉看著白守濤問:「那說明書編寫的如何?」 白守濤道:「我已經請他們把操作截圖寄給我了,我也已經跟Technical Writer講了,明天一起到現場看操作,完整說明書下週應該可以跟大螢幕一起出來。」 Technical Writer,指的是技術文件編輯者,負責寫產品說明書的職務。 一切計劃均已敲定,只祈求明天是個好天氣,打一場精彩的比賽同時控制系統不要出任何狀況就好。 會議結束後,衛宏凱理所當然的拿掉那一行程式交出了一個沒有問題的DLL 檔來,邊城也小改程式的呼叫方式,下午確認沒問題後便將所有設備運到球場去架設起。 由於晨世在填寫外出公假單時直接把整個下午的時間都寫進去,因此他們不需要再回公司刷卡下班,才下午五點不到但完成測試的眾人已解散回家。 隔天早上,晨世起了個大早準備,佳鳳和妹妹也幫忙著。 晨曦道:「今天是立冬,我就來現場賣唐朝的湯圓,試試觀眾的口味。」 晨世酸道:「原來妳會主動幫忙還是為了順便擺攤喔……行行好,河濱球場的流動廁所數量不多啊!」 佳鳳噓道:「這什麼爛哥哥啊……晨曦,我相信妳可以的。」 天氣不錯,雙方球員也已經就位,郭董也在接受完記者朋友的訪問後進場開球,比賽即將開始...待續 幕後畫面! 晨世:「宏凱哥,你看我多盡責,我說過一定會仔細測試你的程式幫你找bug。」 衛宏凱:「別囂張!」
相簿設定
標籤設定
相簿狀態