日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

反编译exe软件_【娱乐向】exe逆向工程(破译《游戏开发课》老师的成绩程序)...

發布時間:2024/10/12 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 反编译exe软件_【娱乐向】exe逆向工程(破译《游戏开发课》老师的成绩程序)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一幕

  • 我們的游戲老師有一個自己的網站,他很喜歡在他網站上發布各種各樣的消息,也包括我們的成績。
  • 我們第一次小測的成績他就放了一個鏈接,鏈接里面是個exe文件,只要你輸入了你的學號,就可以查到你的成績。

  • 但是由于大家是知道互相的學號的,所以互相就能查到各自的成績,所以引起了不滿。

第二幕

  • 于是老師就發送了一個Passcode,讓我們使用Passcode來查詢成績。
  • 這個passcode長成這樣

  • 總共是8位數,全部都是數字。
  • 我上看下看,都看不出這串數字和學號之間的關系。

第三幕

  • 期中考的時候,老師就通過這個exe文件,讓我們查詢了我們的成績。

  • 當時我是相當好奇
    • 到底其他同學分數咋樣?
    • 這個passcode和學號的關系是怎么樣?
  • 由于太忙了,我沒有去深入調查。

期末

  • 然而期末的時候,老師發了個小組作業成績和期末成績的成績單。
  • 小組作業查出來是這個

  • 期末成績是這個

  • 這逗我玩呢????
  • 于是我下定決心,得把它這exe拆了才行。

嘗試

  • 我去網上搜了幾個軟件,lpspy,dnspy,Resource Hacker,全部以失敗告終。
  • 他們都只能處理C#相關的包文件。

查找

  • 很重要的關鍵詞在于逆向工程(reverse engineering) ,一旦知道了這個詞之后,你再去搜索結果,出來的工具會靠譜很多。

  • 在查閱了大量資料只好,我發現IDA-pro可以將exe文件轉為匯編語言。

IDA-pro

  • 安裝好IDA-pro之后,我馬上開始處理老師的文件。【教育用途】

  • 因為這里是主流處理器和執行配置,所以默認選項即可。

  • 等待處理結束后,出現了這樣的界面。

  • 左邊是函數名稱,右邊則是大段的匯編代碼。

  • 這里是一些關于函數窗口的解釋,來自于IDA的幫助文檔,但是對于理解這些代碼的幫助并不大。

直接觀察

結論1: 黑體的函數更重要

  • 原因:我猜黑體的是執行了的函數,因為main也在里面。

結論2:老師沒有自己寫函數(除了main)

  • 原因: 這一點其實讓我非常的意外。我原來的推測是老師是用了什么辦法,通過我們的學號生成了passcode,然后再進行輸入輸出的操作。這理應需要一個函數,但是在IDA顯示的函數表中,并沒有任何像是人寫的函數名。
  • 當然,這也有可能是IDA本身就不會正確顯示函數名稱。

著手研究main函數

線索1:輸出

  • 即使是匯編語言,輸出也會是可以辨別的,我很快的在main函數里找到了很多個輸出的地方。

  • 這里感覺他應該是采用了一些變量來存儲這些字符串語句,但是具體我也不是太懂,我想看的主要是有關成績和的部分。

線索2:大量定義變量和賦值

  • 在main的一開頭,有著一處顯然在大量定義變量。

  • 那可以推測,在某處肯定進行了賦值和給分。
  • 我認為顯然是一下這處。

  • 我看到這里都是16進制數,我覺得可以將我的passcode轉成16進制,再進行比對,來確認這些是不是對應的passcode和分數。
  • 下面這是我的轉換結果

  • 額,一下就對上了,下面的分數也是對上的。

結論:

  • 老師根本沒有把我們的學號和我們的Passcode聯系在一起,他是直接聲明一個變量,然后就把我們的passcode和成績丟進去。
  • 我能夠看到班里其他人的成績,但是沒有辦法知道具體哪個人成績是多少【也許這是老師的精妙設計】【害我小測和期中考好菜啊】
  • 彩蛋

  • 在Assignment_mark中,當你的分數低于17分時,你會被要求提交youtube鏈接和GoogleDrive(就說某些同學老師是已經給好分了的,但是因為你的分數低于17,然后就會看不見;有一些是真的沒交youtube和GoogleDrive鏈接的)
  • 2. 老師的FinalExam_Mark里面沒有任何一個同學的真實成績。

    小總結

    • IDA pro是一個非常強大的反編譯軟件,它對于電腦病毒,惡意代碼,匯編,指令集等領域的研究有很大幫助。
    • 我這里只看了看main函數,事實上函數窗口中有非常多系統預定義的函數,如果能把這些函數吃透,我們就基本可以理解編譯運行一個程序的時候,計算及內部究竟發生了什么。這可以很大程度的幫助我們理解程序語言,編譯器,還有和計算機組成原理相關的知識。

    聲明

    • 以上所謂的結論的其實都是我的推測,也許是錯的也說不定。
    • 這篇博文主要是滿足大家的好奇心,僅供娛樂。如有冒犯,敬請原諒。
    • 新年快樂,身體健康。

    總結

    以上是生活随笔為你收集整理的反编译exe软件_【娱乐向】exe逆向工程(破译《游戏开发课》老师的成绩程序)...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。