• 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

  • 相关阅读:
    洛谷P1056_排座椅 贪心+桶排思想
    NOIP普及组相关
    洛谷P1464_Function 记忆化搜索
    Xcode的使用技巧
    MAC_XCODE清理
    输入框跟随键盘移动效果的实现
    #pragma的进阶用法
    iOS 逆向
    警告框
    UIImageView设置圆角的方式
  • 原文地址:https://www.cnblogs.com/justinzhang/p/2420085.html
Copyright © 2020-2023  润新知