Mac OS軟體分析與簡單認識與破解

2021-08-27 16:10:12 字數 2021 閱讀 6603

1.安裝clang(如已安裝xcode則不需要)

2.安裝 ht editor

可嘗試在ht edtior 官網安裝官網只提供window版本二進位制檔案,mac上需 ./configure&&make)

本人不建議以上做法

在終端中執行 $ /usr/bin/ruby -e "$(curl -fssl

會要求輸入password 輸入電腦密碼安裝

4.建立資料夾crackme01

在終端 $ cd crackme01

建立crackme 的源**檔案 cm01.c:

$vim cm01.c

按 「a」進入編輯模式,

輸入**

#include int main()

printf("hello world!\n");

return 0;

}

(學過c語言便可以分析**)輸入完後按"ese"退出編輯模式,輸入 :wq 儲存並退出vim 若編譯錯誤可重新進行。
然後用clang 編譯 $clang cm01.c -o cm01

分別嘗試輸入 123 和345

可以得到你分析**認為得到的結果。

5.使用ht 破解(使得無論輸出123 或345 得到的結果都是hello world)

首先了解

jnz指令:與jz指令正好相反,不相等則跳轉;

jmp指令:不管任何情況都會進行跳轉;

call指令:呼叫過程指令,一般對應高階語言中的函式呼叫。

開始對生成的檔案進行操作 ==

命令行內執行 如圖所示

得到

mac上 fn+f3 search clang cm01.c生成的cm01檔案

切到反彙編介面 按fn+f6 得到select mode 對話方塊

選擇 mach-0/image得到

之前知道jz指令為相等跳轉指令而jnz為不相等跳轉指令

找到jz指令那一行 快捷鍵control+a

修改jz.......... 改為jnz.........將得到紅色的數字85 按fn+f2儲存 檔案儲存後紅85消失。

接下來可crackme 程式,得到的便是無論輸入123或345都是得到hello world的結果。

軟體需求與分析 認識

沒有技術背景很難真正成為乙個優秀的軟體需求分析師,最多也就是乙個業務需求分析師。菜鳥的軟體需求分析知識體系架構 個人認識 我以為對於軟體需求來說,我感覺並不需要什麼具體的知識體系,會侷限我們的想法 我的意思是不要讓思想拘束起來,解決了本質問題的就是好方法 私以為 需求的目的是做出 符合 的軟體,使用...

認識與分析日誌檔案

日誌檔案可以幫助我們了解很多系統重要的事件,包括登入者的部分資訊,因此日誌檔案的許可權通常是設定為僅有root能夠讀取而已。那麼常見的日誌檔案有那些?可檢視crontab排程是否被執行?進行過程是否發生錯誤?編寫是否正確?記錄系統在開機的時候核心檢測過程所產生的各項資訊。記錄系統上面所有的賬號最近一...

指標之初認識與分析。

今天讓我們一起來認識c語言中最棒的指標。首先指標是什麼呢?簡單的說,指標就是位址。但是它的完整定義是 指標是程式語言中的乙個物件,利用位址,它的值直接指向存在電腦儲存器中另乙個地方的值。由於通過位址能找到所需的變數單元,可以說,位址指向該變數單元。因此,將位址形象化的稱為指標。意思是通過它能找到以它...