zoukankan      html  css  js  c++  java
  • File Tamper 2.0

    main.cpp

     1 #include <iostream>
     2 #include <fstream>
     3 #include <stdlib.h>
     4 #include <windows.h>
     5 
     6 using namespace std;
     7 
     8 int main ( int argc, char* argv[] ) {
     9     if ( argc != 4 ) {
    10         cout << "Usage: ft <File> <Off> <Data>" << endl;
    11         return -1;
    12     }
    13     fstream file ( argv[1], ios::in | ios::out | ios::binary | ios::ate );
    14     if ( file.is_open() ) {
    15         long long fileSize = static_cast<long long> ( file.tellg() );
    16         cout << "Size: " << fileSize << " bytes" << endl;
    17         long int yPos = strtol ( argv[2], NULL, 16 );
    18         long int yData = strtol ( argv[3], NULL, 16 );
    19         unsigned char sData = static_cast<unsigned char> ( yData );
    20         if ( yPos < 0 || yPos >= fileSize ) {
    21             cout << "Overflow. [0 ~ " << fileSize - 1 << "]" << endl;
    22             return -1;
    23         }
    24         std::ios_base::seekdir sPos = static_cast<std::ios_base::seekdir> ( yPos );
    25         file.seekg ( sPos );
    26         char oldCbit[8], newCbit[8];
    27         itoa ( file.get(), oldCbit, 16 );
    28         itoa ( yData, newCbit, 16 );
    29         cout << "Data: " << oldCbit << " --> " << newCbit << endl;
    30         file.seekg ( sPos );
    31         file << sData;
    32         file.close();
    33         while ( file.is_open() )
    34             Sleep ( 1 );
    35         cout << "Tampering successfully." << endl;
    36         return 0;
    37     } else {
    38         cout << "Can not open file." << endl;
    39         return -1;
    40     }
    41 }

    附件1

  • 相关阅读:
    lua 函数调用1 -- 闭包详解和C调用
    lua API 小记2
    Lua API 小记1
    unity3d开发环境配置
    Hash表
    如何优化Cocos2d-X游戏的内存
    openGL光源概念
    Cocos2D-X屏幕适配新解
    Lua脚本在C++下的舞步
    lua table操作实例详解
  • 原文地址:https://www.cnblogs.com/rms365/p/10868991.html
Copyright © 2011-2022 走看看