ipmsg_pwd_finder.c

来源:互联网 发布:mac app store 红点 编辑:程序博客网 时间:2024/05/02 14:56

/*
 * missing u, sierra
 * binjo @ 2006/03/08
 *------------------------------------------------------------
 * ipmsg_pwd_finder.c
 *
 * *CopyLeft*
 * 4 fun, and test...
 *
 * cl ipmsg_pwd_finder.c /MD /O1 /link /release /subsystem:console /entry:main
 *
 */
#include 
#include 
//------------------------------------------------------------
#pragma comment( lib, "Advapi32.lib" )
//------------------------------------------------------------
int main( int argc, char **argv ) {
    HKEY    hkey;
    LPCTSTR lpTarget         = "Software//HSTools//IPMsg";
    LPCTSTR lpPwdStr         = "PasswordStr";
    CHAR    achBuf[MAX_PATH] = "";
    CHAR    achREV[MAX_PATH] = "";
    LONG    cbData;
    LONG    lnRet;
    int     i;

    printf( "+--------------------------------+/n" );
    printf( "   IPMSG Password Cracker v0.2/n" );
    printf( "       By Sierra/n" );
    printf( "   Merry Women's Day/n" );
    printf( "+--------------------------------+/n" );

    lnRet   = RegOpenKeyEx(
                  HKEY_CURRENT_USER,
                  lpTarget,
                  0,
                  KEY_ALL_ACCESS,
                  &hkey
              );

    if ( lnRet != ERROR_SUCCESS )
    {
        printf( "[-] RegOpenKeyEx failed : %d/n", lnRet );
        return 0;
    }

    lnRet   = RegQueryValueEx(
                  hkey,
                  lpPwdStr,
                  NULL,
                  NULL,
                  (LPBYTE)achBuf,
                  &cbData
              );

    if ( lnRet != ERROR_SUCCESS )
    {
        printf( "[-] RegQueryValue failed : %d/n", lnRet );
        RegCloseKey( hkey );
        return 0;
    }
    else
    {

        if ( achBuf[0] != '/0' )
        {
            printf( "[+] Original PasswordStr = [%s]/n", achBuf );

            for ( i = 0; i < MAX_PATH && achBuf[i] != '/0'; i++ )
            {
                achREV[i] = achBuf[i] ^ 0x7F;
            }

            printf( "[+] Cracked PasswordStr  = [%s]/n", achREV );
        }
        else
        {
            printf( "[+] You haven't set the password/n" );
        }
    }

    RegCloseKey( hkey );

    printf( "print any key..." );
    getch();

    return 0;
}
//------------------------------------------------------------
原创粉丝点击