首頁>Club>
題目可能不能表達完整我的意思,大體來說是:我作為一個比較普通的程式設計師,要讀懂一個別人的原始碼已經很不易了,還要從中找出漏洞。比如你把windows的原始碼放我面前,我肯定看暈了,別說找漏洞了,何況windows還不開源。linux開源,我看的也很暈,只能一點點扣。還有web方面,不知道別人伺服器的原始碼,怎麼找出別人伺服器的程式上的漏洞的呢。所以我覺得駭客或者說安全人員一定有和軟體開發者不同的視角。
0
回覆列表
  • 1 # 怪咖玩家

    針對Web方面

    在網路滲透工程師眼裡,你說的這種行為通常被稱為“黑盒測試”,這也是大部分黑(script)客(kid)最常用的測試手段。

    在這種情況下,駭客進行黑盒測試的首要任務就是收集資訊,儘可能的收集web網站的DNS、程式結構、資料庫資訊等等,為之後的滲透測試奠定基礎。

    下一步便是使用一些專業的掃描器如awvs nessus等,進行一些高危漏洞的掃描,同時進行手工檢測,找一些掃描器容易忽略的地方進行利用。

    最後把這些資訊綜合總結來進行利用。

    上面是2017年總結的Owasp Top 10,也就是近幾年間最流行的高危漏洞。

    在我看來,黑盒測試為首當測試,沒有什麼特別的問題的話,白盒測試便更能挖掘出藏在深處的漏洞。

  • 2 # 蟲蟲安全

    其實上這個問題,對一般人來說很神秘,但也不是什麼高深的東西。

    掃描站點指紋資訊

    所有的漏洞都是有規律,有定勢的,體現在網站上就是表現出一些特徵,比如站點資訊的指紋,目錄結構,特定的檔案。這些都可以透過掃描器自動掃描到,你裝個掃描軟體就行。比如nmap,Nikto,httprint,Skipfish,DIRB 中國產的御劍等工具。

    結果:一些直接問題,bug可直接暴露出來,甚至有些網站備份的www.zip原始碼都能透過列舉掃描掃到。站點web伺服器及版本,開的埠,應用程式語言,用的cms及版本等。一般有問題可直接利用了。

    web滲透測試

    有了第一步的測試就可以知道站點大概資訊,還有直接暴露的bug可利用。如果沒有的話,可以做滲透測試比如透過Nikto,AWVS,APPSCAN對站點做測試。

    透過web滲透掃描可以得到web常見的漏洞,比如SQL注入(SQL Injection)、弱口令、檔案上傳、目錄遍歷和執行、跨站指令碼(Cross-site scripting,通常簡稱為XSS)、CSRF漏洞等。

    放棄或者人工滲透

    如果以上兩部都沒有結果,說明站點安全做的還可以,這時候就要出動人力做苦力滲透,旁路,apt滲透,或者直接放棄換另一個站點。

  • 3 # 搬磚程式設計師

    為什麼駭客能夠找到漏洞?

    我是一個學Python的web開發的,在web這方面我比較瞭解,所以主要從這方面去講解,其他的其實也很類似,但不一樣,可以進行類比。

    web方面其實不是需要知道原始碼的,當然,你能夠知道的話,那可能就更方便了。首先,駭客會去試探你的伺服器,如何試探呢?透過進行一些合法的請求,透過你返回的這些資訊中,能夠得出你的伺服器型別,你是用什麼語言來寫的(當然,這個判斷不一定準)。

    就如一個黑盒子,駭客不斷地根據輸入和輸出,來了解你的整個web(或者說是伺服器或者網站)。

    在網站方面,很多的漏洞都出在輸入上,有輸入的地方,就需要去防止駭客。這是為什麼呢?舉個例子,如果一個部落格,它有一個評論功能,你評論完成之後就會返回到這個頁面上(就是可以看到你的評論),假如,你現在輸入的評論不是一個正常的評論,而是一段程式碼(js,h5,sql語句都有可能),再如果,你沒有對這些東西進行過濾或者轉義的話,那麼你就會將一個可能帶有不可預測性的程式碼加入到你的網站裡面了。(很可能使用者只要進入這個頁面,那麼他的資訊就會暴露,然後進一步感染電腦。)

    再說一下,用前端框架很容易出現漏洞,因為防駭客的必須是後端,前端是為了使用者體驗,減小伺服器壓力,如果由於前端將這些過濾的事情做了,而後端由於疏忽沒有去做,那麼駭客是完全可以繞過前端的檢測,攻擊後端(你的伺服器。)

    另一個很重要的就是sql注入,比如一個請求,你是直接用這些引數去資料庫取資料,那麼如果這些引數是一個sql語句,修改你的資料庫許可權(通常是透過一些其他的資訊來獲取資料庫的型別,如檢視報錯資訊等等),如果你進行了過濾,但是不周全的話,可以進行轉碼,然後你的資料庫還是會執行這些漏洞。

    還有一點點需要提一下,就是如果獲取到了你的伺服器,資料庫,程式碼等等,駭客通常會先檢視一下已經出現的漏洞,進行窮舉法(一般是用駭客軟體進行)。

    再對於軟體這方面的,一個是,透過下載了惡意軟體(透過獲取了許可權,然後就可以完全掌控你的計算機),一般是偽造相似的軟體,其實你的應用軟體越多,留下的後門的可能性就越大,每個軟體都有一定的許可權,但是如果這些許可權被駭客利用的話,就是一場浩劫了。

  • 4 # 三點起

    回答的都是說用什麼掃描器,用什麼0day來掃。然後注入。但人家問的是你掃描器裡面的漏洞是怎麼找出來的,0day的漏洞是怎麼找出來的。

    找漏洞和用漏洞完全不在一個層次啊。

    國內也有找漏洞的團隊,但絕對不是樓上幾位黑盒測試員。

    找漏洞的基本上都是熟悉組合語言的,作業系統程式原始碼沒有,但彙編程式碼肯定有,所以用匯編程式碼跟蹤除錯,找到漏洞。但這非常枯燥,幾個月才能找到一個0day,然後彙報上去。

  • 5 # 神采奕奕迤邐而行

    看了幾個回答都是在說怎麼侵入,感覺有點文不對題。我覺得題主想知道的不是這個。這個問題的根本原因在於搞破壞比搞建設容易的多。你編寫一個軟體,要面面俱到是很難得,也就是說存在漏洞的可能性很高,尤其是複雜一點的軟體,幾乎是肯定存在漏洞或Bug,而且由於現在寫軟體基本上不是自己從底層寫起,而是基於框架啊什麼的,可以理解為二次開發,那麼底層的軟體bug或者漏絕大多數程式設計師是沒有能力去彌補的,所以只要知道了底層的漏洞就攻擊了。

    另外由於程式設計師的水平問題,在自己編寫的這部分程式碼犯錯也是經常的,基本上如果你不是安全專家,一些常見的問題肯定存在。

    因此對於駭客來說,他完全不需要知道你的原始碼,只要根據輸入和反饋就能猜測到,或者暴力嘗試常見的漏洞和攻擊手段,很容易找到漏洞。

    至於那些比較嚴謹的軟體,比如說windows,由於程式碼量龐大,涉及裝置太多,很難保證完全沒有bug(實際上幾乎可以說一定有bug),在很多人使用的情況下,很大機率會被發現,什麼記憶體溢位啦,堆疊溢位啦等等。完全不需要知道原始碼,也基本上沒有駭客是靠看原始碼發展系統漏洞的。

  • 6 # 社保工作者

    WEB方面已經很多人回答過了,我就不再重複。我在來現在的工作崗位以前,因個人愛好從事過漏洞挖掘工作。

    首先我們知道,任何程式,計算機在執行的時候都是二進位制的,二進位制可以直接翻譯成組合語言,因為彙編是對二進位制的助記符,這個是沒有任何難度的。

    在沒有原始碼的情況下,我們可以透過除錯工具跟蹤程式的執行,除錯工具會把程式執行的每一步都翻譯成彙編程式碼呈現給我們。常用的除錯工具在ring3級有ollydbg,靜態分析工具IDA等,這個層面主要是挖掘應用程式的漏洞,比如………網路遊戲(我已經退出江湖很多年了,別問我怎麼做,也沒有保留原始碼了)。

    windows等操作程式靜態分析可以在使用IDA將相關的dll檔案等系統檔案進行靜態分析,動態跟蹤就要在ring0級進行除錯了,早期我們一般使用softice,現在都是windbg,雙機聯調或者虛擬機器。

    熟練的除錯人員閱讀這些彙編程式碼,很容易就能翻譯成自己熟悉的任何一種高階語言程式碼,比如C語言,甚至易語言。透過反彙編,我們可以發現一部分簡單的,低階的漏洞,透過動態跟蹤可以修改相應的引數來驗證漏洞,也可以發現新的漏洞。在熟練的技術,知識儲備之外,更多的……發現漏洞還靠運氣!

  • 7 # 司馬韓

    看了幾個已經回答過的朋友的答案,實在是驢唇不對馬嘴。問者問的是,不知道原始碼的情況下是怎麼找到bug的,這裡的bug應該不是侷限在web,而是軟體或者系統方面。

    首先說明,我不是搞it的,但我相信我可以給問者一個較為滿意的解釋。

    如果你對網路安全感興趣,肯定知道以前的流光,灰鴿子,如果不知道,那可能你太年輕了。流光是當年國內非常流行的探測漏洞並加以利用的駭客軟體,包括了web和系統,作者流光也是國內網路安全數一數二的人物,目前在做研究。這是題外話,我要說的是,僅僅依賴於別人的工具進行攻擊或者滲透,個人覺得沒什麼技術含量的。

    如果你感興趣,我推薦metasploit。

    話題回到問者的問題,尋找漏洞的確需要讀懂作者的程式碼,假如讀不懂的話,做一名出色的安全工作者至少在我看來功力還遠遠不夠,至少還不入門。

    問者疑惑那些大神是怎麼做到的,這裡要看你對程式的理解程度,其實一門語言和平臺你足夠了解的話,即使沒有註釋還是能讀懂的,而且很容易,唯一的難點可能是演算法的複雜。所以,要讀懂程式碼,可以從庫函式這種方式去入手分析整段程式碼,這是常用的辦法。

    再次,其實真正的安全人員必備的素質,不是僅僅讀原始碼,而是彙編,好了這裡回到問題的關鍵,講到彙編千萬不要認為那是老掉牙的語言,那可錯了,做資訊保安,定會分析病毒程式碼,病毒原始碼你不可能拿到的,那麼唯一的辦法就是虛擬機器把病毒的機器碼逆向翻譯成彙編,專業名詞叫逆向工程,craker,其實也是一樣的技術。所以,問者問是怎麼讀懂原始碼的,不是原始碼,是逆向工程裡的彙編程式碼。這是作為安全工作者必會的技術。

    能夠逆向,基本可以分析大部分的軟體,甚至系統底層程式碼。當然,這裡要會的技術還很多,比如解密技術,軟體是加殼的,你必須破解才能得到純正的程式碼。

    再次,其實軟體漏洞是有規律可循的,如今軟體安全性測試,有基本的黑盒和白盒,黑盒技術中有一種fuzzing測試,意思就是對要測試的模組輸入畸形資料,然後查詢漏洞,這是尋找漏洞較為快的方法,當年ie漏洞就是用這種方法找到的,當然具體的技術原理我個人還在研究過程中。

    那麼說到白盒測試,就是讀程式碼,程式碼分析,這裡講軟體漏洞的幾種常見型別,其實大部分的漏洞也是這幾種形式,黑盒原理也是用的這幾種,包括,棧溢位,這是最為常見的漏洞形式,堆溢位,這種難度有點大,整數溢位,陣列越界,釋放重引用,重釋放,如果不明白,推薦一本大神的書,漏洞原理,自己去看。

    如果以上弄明白了,可以看看國外的大神寫的,捉蟲日記,此書的作者就是讀原始碼找漏洞的。

    以上是軟體漏洞的大體的尋找方法,至於web,常見的其實是注入,但如今基本找不到了,除非網站技術特別馬虎,因為只要過濾嚴格,注入基本不太可能。或者是跨站,那也是因為標誌符關閉不嚴。那麼剩下的,就是基於軟體漏洞的滲透,比如ftp協議,郵件協議,或者閱讀器等等,一旦被攻破或者打開了帶有惡意程式碼的檔案,感染病毒,被植入後門,其實就等於把大門打開了,然後為所欲為。

  • 8 # 程式魚哥

    首先題主的感覺是對的,駭客確實比普通開發或者普通安全人員有著不同的視角。

    普通測試人員一般對程式進行黑盒測試,也就是功能測試,資料驅動測試,或者規格說明測試。透過使用整個軟體或某種軟體功能來嚴格地測試, 而並沒有透過檢查程式的原始碼或者很清楚地瞭解該軟體的原始碼程式具體是怎樣設計的。測試人員透過輸入他們的資料然後看輸出的結果從而瞭解軟體怎樣工作。而一般的安全人員測試基本從白盒測試開始,也就是透過程式的原始碼進行測試而不使用使用者介面。這種型別的測試需要從程式碼句法發現內部程式碼在演算法,溢位,路徑,條件等等中的缺點或者錯誤,進而加以修正。對於駭客,他們挖洞的方式絕對不僅僅限於黑白盒測試,除了一些常規挖洞方式,比如sql注入、請求截獲,參量,窮舉ddos,xss漏洞等,駭客們還有一套他們自己編寫的一套掃描漏洞的程式,他們挖洞的視角是全域性視角,任何程式都不可能做的天衣無縫,駭客們總會在某個細微的地方找到漏洞。打個比方,普通測試用肉眼,而駭客們用的是顯微鏡。

    另外,任何自稱為駭客的人對各種底層技術研究得比較深入。

    比如http請求的底層原理,要經歷多少次握手多少次響應,每次攜帶什麼型別的資料包,怎麼才能截獲資料包……平時我們見到的外掛程式很多都基於此,基本上都是截獲篡改資料包。還有一方面,駭客的成長過程也會研究各種sdk的原始碼,特別是涉及程式安全的原始碼,然後有針對性編寫一套套各種各樣掃描漏洞的程式,以此幫助他們發現漏洞。

    作為一個碼農,接觸的圈子裡有不少研究安全的,當然他們還算不上駭客,僅僅是把別人的服務搞down機或者破解一些賬號看看下程式後臺到底有什麼東西,以此作為可以吹牛或炫耀的談資,沒做什麼傷天害理的事。

    最後我想說的是,駭客和安全人員都是程式世界不可或缺的。駭客的攻,安全的防,一攻一防才推動著程式安全技術不斷革新和發展,這種攻防模式才使得我們這些程式開發人員在編寫程式碼時時刻保持警惕和審慎的態度,編寫好每一行安全的程式碼。

  • 9 # 炫酷玩

    建議你讀一讀《0day安全漏洞分析》,沒有原始碼就是純黑盒測試,有完整的測試流程。駭客分析漏洞,大多是溢位,是從底層測起,要學會逆向和彙編,你認為的那種方式是白盒測試,駭客一般拿不到原始碼,使用較少,大多是針對web服務時,能夠下載一些原始碼看看。

  • 10 # hackerdx007

    提問者估計是一個剛學會程式設計的菜鳥程式設計師,看見大段程式碼頭就昏。問題很好,解答很難。

    首先,為什麼windows不開源還有那麼多人研究呢,甚至比開源的Linux研究人員多的多?因為全世界執行windows的機器最多,大部分windows使用者沒有經過嚴格培訓,只會使用滑鼠鍵盤,Linux使用者都要使用命令列,沒幾個使用者是新手,開源的Linux也使得漏洞可以用最快的速度被修補,因為世界上有很多人在維護Linux。windows不開源,只能由微軟負責維護和補丁更新。世界上有大把的程式設計師,但微軟公司負責開發作業系統的人不超過五萬(算上離職的也不會超過十萬人),寫作業系統核心的核心開發人員不超過1000人,你連寫作業系統程式碼都不會只會寫應用程式根本理解不了作業系統是如何運轉的,要想入門還是先多看看作業系統的書吧,至少要理解作業系統是如何執行的,推薦先看看Linux的核心程式碼,有一定基礎後再看《windows核心揭秘》。

    其次,windows作業系統是用C/C++寫的,很多程式設計師都使用高階語言寫程式,對C和C++這些“中間語言”不熟悉不瞭解,不知道哪些函式容易溢位,使用哪些函式更安全或者可以替代不安全的函式。系統漏洞的精髓在於緩衝區溢位,緩衝區溢位說白了就是利用馮諾伊曼架構的缺陷——資料和程式碼儲存在同一個裝置記憶體中,讓計算機錯誤的把資料當作程式碼來執行。在windows資料結構中有堆疊和堆都可以被溢位,在NT5.0之前的系統中根本沒有防範機制,XPSP2引入了安全堆疊,在編譯器中還有/GS選項,用於防止堆疊溢位,使得堆疊溢位非常困難,但並不是不可能,堆溢位仍然可以。

    當熟練掌握了緩衝區溢位就可以對windows進行分析了,方法主要是“黑盒”與“白盒”。白盒就是當微軟釋出補丁之後用虛擬機器分析補丁前後的程式碼級差別,找出漏洞,但是這些漏洞都是微軟補丁過的,利用價值不大;黑盒分析則是在完全沒有原始碼的情況下靠分析工具和人的經驗來尋找漏洞,人的經驗起決定作用,你必須知道程式設計師比較容易在哪些地方犯錯誤,包括使用不安全函式、邊界檢查不完整、競爭條件、SEH結構化異常錯誤處理和VEH向量化異常錯誤處理等作業系統內部的知識。黑盒分析找到的漏洞一般沒有補丁,又稱0day漏洞,據說這種漏洞在地下黑市上價值上萬美元(任意程式碼可執行漏洞值這個價,其他的資訊洩露或者提升權限價值就比較低了)。

    當你能夠找到windows的0day漏洞,特別是影響巨大的任意程式碼可執行漏洞的時候,你已經是站在程式設計師金字塔塔尖的一小群人了,找到漏洞之後就需要編寫一小段shellcode來利用漏洞,這段程式碼條件非常苛刻,也許只針對特定的windowsSP版本有效,也許針對所有windows系統有效。對所有windows有效的shellcode一定是可移植的,換句話說shellcode必須能夠通用化。可以把shellcode想象成一個偵察兵,一個先頭空降部隊,如何在茫茫黑夜中偵查作業系統防線的位置、火力點的分佈情況,從哪裡開始執行負載並且不會陷入作業系統的泥沼中淹死(這足可以寫一本書來描述)shellcode只是一枚導彈的制導系統,它負載的炸藥可能是一個在地上砸個坑的鉛球,也可能是毀滅一座城市的核武器。

    這也是最體現駭客技術水平的地方,同一個漏洞有的人編寫的shellcode能實現通用化(具體要看漏洞的位置以及形成原因),有的人編寫的根本不能執行或者極大影響系統速度。一般來說編寫shellcode都使用匯編語言,極少數情況下還需要使用二進位制程式碼。

    當你掌握以上技能後,就將修煉終極絕技了,那就是無比困難的、一旦掌握就必將天下無敵的絕技——硬體漏洞,就比如intel最近的“融毀”和“幽靈”。如果說作業系統是計算機的靈魂,那CPU就是計算機的心臟。從層級上來說,一般程式設計師編寫的應用程式執行在3級,作業系統執行在0級(最新情況是作業系統執行在-1級,0級執行虛擬機器,intel叫vt-x技術,可以極大減少切換層級引起的系統開銷)而CPU核心執行在-3級,擁有遠超windows的許可權,這才是計算機的終極命門,硬體漏洞通用性也無與倫比,因為桌面CPU就intel和amd能生產,CPU微程式碼不更新的話漏洞會一直存在(老式計算機只有更換CPU,而老機器更換CPU幾乎不可能,因為主機板不支援,需要更換主機板代價太大得不償失;三年內新式計算機可以更新UEFI微程式碼,也就是微軟和intel提供的補丁)這就是撞擊地球后足以毀滅世界的小行星級別的武器了。要找到這種級別漏洞光靠個人已經不可能,光需要的特殊硬體就不是個人買得起的,一般要大公司或者國家才能找到這種級別的漏洞。

    最後,用三個我最喜歡的小例子來結尾吧。

    1、當windows彈出著名的“程式引用了0x00000000地址,即將關閉”的錯誤提示的時候,普通程式設計師會順從的點選確定關閉對話方塊,然後思考究竟是什麼地方出了問題;聰明一些的程式設計師會利用windows核心轉儲來尋找問題的答案,不一定能解決問題;頂尖駭客則會用softice或者其他工具重現這個問題,必須把它解決,沒準能寫出shellcode。

    2、impossible和i"m"possible從字母排列上都是一樣的,但意思卻是相反的,這就是緩衝區溢位的精髓,只添加了兩個標點。impossible是單詞,屬於資料的範疇,I"m"possible是句子,屬於程式碼的範疇,混淆資料與程式碼的界限,讓計算機把資料當成程式碼執行,只需要緩衝區溢位兩個標點而已。在計算機的世界中,複雜的、毫無規律的垃圾資料突然間組成了一幅美麗的圖畫,隨著鎖“卡嗒”一聲,安全的大門緩緩開啟,苦心經營的安全防線瞬間崩潰。

    3、在電影《駭客帝國》中,普通的程式安安靜靜的執行在虛擬機器中,少數像尼奧這樣不安分的程式突破了虛擬機器的安全機制,進入到了真實作業系統矩陣中,這時候作業系統的SEH異常錯誤處理機制史密斯登場了;後來尼奧發現矩陣也不是真實的作業系統,只不過是更高一級的虛擬機器罷了(虛擬機器巢狀),尼奧可以在矩陣中使用作業系統的特權指令消滅追殺來的烏賊機器人就證明了這一點;最後史密斯叛變,病毒幾乎感染了作業系統的所有程序,尼奧犧牲自己幫助作業系統定位了史密斯的位置(病毒的PID),經過一輪記憶體防毒和系統重啟後,作業系統又回到了正常的狀態。

  • 11 # 背鍋神童

    將這個問題分兩種情況進行回答:一個是Windows(閉源系統)、另外一個是Linux(開源系統)

    :Windows作業系統

    windows作業系統是用C/C++寫的,很多程式設計師都使用高階語言寫程式,對C和C++這些“中間語言”不熟悉不瞭解,不知道哪些函式容易溢位,使用哪些函式更安全或者可以替代不安全的函式。這就使得程式設計使用的程式碼在整個程式中開了一個洞,當然微軟也會使用測試方法對windows系統進行測試,方法主要是黑盒和白盒測試方式,當時白盒測試出來的漏洞微軟會立即打補丁,黑盒分析則是在完全沒有原始碼的情況下靠分析工具和人的經驗來尋找漏洞,人的經驗起決定作用,你必須知道程式設計師比較容易在哪些地方犯錯誤,包括使用不安全函式、邊界檢查不完整、競爭條件等。黑盒分析找到的漏洞一般沒有補丁,又稱零日漏洞。

    如永恆之藍漏洞,駭客會用自己編寫的惡意程式碼掃描開放445檔案共享埠的Windows機器,無需使用者任何操作,只要開機上網,不法分子就能在電腦和伺服器中植入勒索軟體、遠端控制木馬、虛擬貨幣挖礦機等惡意程式。

    :Linux作業系統

    當然了,Linux是開源系統,畢竟金無足赤人無完人,系統是人開發出來的就會存在薄弱環節,只要你的水平到達一定的程度,能夠分析出Linux的核心程式碼,也是能發現漏洞的

    最後再說一下硬體其實也存在漏洞的,比如桌面CPU就intel和amd能生產,CPU微程式碼不更新的話漏洞會一直存在,老式計算機可以更換CPU,但是這幾乎是不可能的,因為主機板可能不支援,需要更換主機板的代價得不償失;要找到這種級別漏洞光靠個人已經不可能,一般要大的駭客組織或者做安全的公司才能找到這種級別的漏洞。

  • 12 # 肥崽之父

    很多時候你要分析漏洞是需要對系統的執行機制非常瞭解的,然後根據經驗去試探開發者某些薄弱環節,駭客找系統漏洞不會比老遊戲玩家找遊戲的刷錢漏洞更難,很多時候根據機制去反推開發者考慮不周的地方,我沒找過系統漏洞但是我做過破解,玩遊戲也刷過遊戲漏洞,在這些方面略有經驗

  • 13 # huzibbs

    嚴格的來說高階駭客,大多數都多少懂點程式設計,尤其是彙編,還有心理學(社會工程學利用人的心理弱點分析後臺地址,後臺賬號,密碼等),計算機原理,其實真正的駭客起初是一批程式設計師,因為喜歡鑽研計算機,開發出各種各樣的測試工具(為了方便做出來各種漏洞挖掘工具和利用工具),由於現在的程式語言最終編譯後是二進行檔案,可以利用工具把二進位制翻譯成組合語言,根據組合語言去梳理程式碼業務邏輯流程,比你原始碼輕鬆多了,所以並不是說駭客非得得到你的原始碼才能破解,只要你的程式公佈就能被分析出來業務邏輯處理流程。

  • 中秋節和大豐收的關聯?
  • 關於過客的圖片?