吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1106|回复: 2

[C/C++] 强制签名CRC内存无视日期【人工智能第一章】

[复制链接]
宇郑 发表于 2024-1-17 18:50 | 显示全部楼层 |阅读模式

// 强制签名CRC内存无视日期

#include <iostream>
#include <string>
#include <windows.h>
//-----------------------------------------------------------------------------
using namespace std;

//-----------------------------------------------------------------------------
class CRC32
{
public:
    CRC32()
    {
        m_ulCRC = 0xFFFFFFFF;
    }

    void Add( const void *pData, int nSize )
    {
        const unsigned char *p = (const unsigned char *)pData;
        while( nSize-- )
            m_ulCRC = m_aulCRCTable[(m_ulCRC ^ *p++) & 0xFF] ^ (m_ulCRC >> 8);
    }

    unsigned int Get() { return ~m_ulCRC; }

private:
    unsigned int m_aulCRCTable[256], m_ulCRC;

    CRC32( const CRC32 & );
    CRC32 &operator=( const CRC32 & );
};
//-----------------------------------------------------------------------------
int main( int argc, char* argv[] )
{
    if( argc < 2 )
    {
        cout << "Usage: " << argv[0] << " filename" << endl;
        return 0;
    }

    HANDLE hFile = CreateFile( argv[1], GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
    if( hFile == INVALID_HANDLE_VALUE )
    {
        cout << "Cannot open file " << argv[1] << endl;
        return 0;
    }

    LARGE_INTEGER liFileSize;
    if( !GetFileSizeEx( hFile, &liFileSize ) )
    {
        cout << "Cannot query file size" << endl;
        return 0;
    }

    CRC32 crc;
    char *pBuf = new char[liFileSize.QuadPart];
    DWORD dwRead;
    if( ReadFile( hFile, pBuf, liFileSize.QuadPart, &dwRead, NULL ) && dwRead == liFileSize.QuadPart )
        crc.Update( pBuf, liFileSize.QuadPart );

    delete [] pBuf;
    CloseHandle( hFile );

    cout << hex << uppercase << crc.Get() << endl;

    return 0;
}


评分

参与人数 1HB +1 收起 理由
一生最爱白开水 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lies 发表于 2024-1-17 23:24 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
525293680 发表于 2024-4-17 09:59 | 显示全部楼层

啊 这是什么啊
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表