IDA破解最簡單的登陸框


原創文章,轉載請注明出處:http://www.cnblogs.com/justinzhang/

      還記得當年本科的時候,一大群人圍着一個國安的登陸框在哪兒破解。其實自己對安全方面的東西了解的非常的少,最近遇到一個非常牛逼的UML工具,可惜沒有源代碼、沒有文檔,在這種霸道的封殺之下,又點燃了學習反匯編&破解的熱情。雖然這是一個非常非常簡單的例子,但這是自己多年以來想做的事情,今天終於動手做了,也沒有什么遺憾了~~

     首先,自己寫了一個MFC程序,包含用戶名和密碼兩個文本框,一個確定按鈕,如果密碼和用戶名匹配,則彈出succ對話框,如果不匹配則彈出fa對話框。由於自己已經快一年沒有寫MFC了,所以這里記錄下這個弱智的步驟。

     1>新建一個MFC應用程序工程,選擇對話框應用程序。

     2>往對話框上拉兩個text lab和兩個Edit Control.

     3>雙擊確定按鈕,在按鈕的事件里添加如下代碼:

void CLogONDlg::OnBnClickedOk()
{
    CString name,pass;
    GetDlgItemText(IDC_EDIT1,name);
    GetDlgItemText(IDC_EDIT2,pass);
    if (name.Compare(CString("justin"))==0 && pass.Compare(CString("111"))==0)
    {
        MessageBoxA(NULL,"succ","succ",MB_OK);
    }
    else
    {
        MessageBoxA(NULL,"fa","fa",MB_OK);
 
    }

 

最后的對話框如下所示:

image

 

現在我們要做的就是,用IDA獲得正確的用戶名和密碼。

用IDA打開LogON.exe

image

image

 

在Strings中有該程序所有的字符串:

image

 

我們可以逐一的查看,很容易發現可疑的字符串,雙擊可疑的字符串,可以看到如下所示的內容:

image

 

我們嘗試justin和111即可以等到正確的用戶名和密碼,雖然這個程序是自己寫的,自己破解,聽起來似乎很可笑,但是仔細想想就知道,用MFC寫的程序,用這種方式來判斷用戶名和密碼是否正確是非常不安全的,因為只需要用IDA反匯編,不用付出很大的代價就可以獲得用戶名和密碼。至於如何避免這種情況,自己也正在學習當中。路漫漫其修遠兮~~~今晚到此為止,開始MDA的工作了~~

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM