ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++ 黑客攻击系统

2022-08-22 23:32:55  阅读:118  来源: 互联网

标签:cout 黑客攻击 int 系统 C++ char pwd include id


#include <iostream>
#include <Windows.h>
#include <string>
#include <conio.h>  //getch使用
#include "hacker.h"
using namespace std;

#define WIDTH 40
#define HEIGHT 15

void inputPwd(char pwd[], int size) {
    char c;
    int i = 0;

    while (1)
    {
        c = getch();  //这个getch连回车符都吃!!!
        if (c == '\r') {
            pwd[i] = 0;
            break;
        }
        pwd[i++] = c;
        cout << "*" ;
    }
    cout << endl;
}
void init() {
    char cmd[128];
    sprintf_s(cmd, "mode con cols=%d lines=%d", WIDTH, HEIGHT);
    system(cmd);
}
void printInMiddle(string msg) {
    int space = (WIDTH - msg.length()) / 2;
    for (int i = 0; i < space; i++) {
        cout << " ";
    }
    cout << msg << endl;
}
void login(void) {
    string name;
    //string pwd;
    char pwd[32];

    while (1) {
        system("cls");

        std::cout << "请输入账号:";
        std::cin >> name;

        std::cout << "请输入密码:";
        //std::cin >> pwd;
        //实现密码的输入
        inputPwd(pwd, sizeof(pwd));

        if (name == "54hk" && !strcmp(pwd,"123456")) { //若比较结果是相等的就会等于0,非0为真
            //break;
            return;
        }
        else {
            cout << "用户名或密码错误!" << endl;
            system("pause");
        }
    }
}

void menuShow(void) {
    system("cls");
    string menu[] = {
        "1.网站404攻击",
        "2.网站篡改攻击",
        "3.网站攻击修复",
        "4.查看攻击记录",
        "5.退出"
    };

    system("cls");
    printInMiddle("---黑客攻击系统---");

    // 计算菜单最大长度:
    int max = 0;
    int menuCount = sizeof(menu) / sizeof(menu[0]);
    for (int i = 0; i < menuCount; i++) {
        if (menu[i].length() > max) {
            max = menu[i].length();
        }
    }

    int leftSpace = (WIDTH - max) / 2;

    for (int i = 0; i < menuCount; i++) {
        for (int i = 0; i < leftSpace; i++) {
            printf(" ");

        }
        cout << menu[i] << endl;
    }
}

int menuChoise(void) {
    int n = 0;

    while (1) {
        cout << "请选择菜单项:";
        cin >> n;
        if (cin.fail()) {
            cin.clear();
            cin.sync();
            cout << "无效输入. 请重新输入." << endl;
            system("pause");
        }
        else {
            break;
        }
    }

    return n;
}

void attack404(void) {
    char id[64];
    char response[4096];

    system("cls");
    printInMiddle("---网站404攻击---");

    cout << "请输入准备攻击的网站ID:";
    cin >> id;

    cout << "正在执行404攻击..." << endl;

    hk_404(id, response);  //发起攻击
    //id指对应网站的端口号
    //服务器返回的结果是utf-8编码格式

    string retStr = UTF8ToGBK(response);
    cout << retStr << endl;

    // int hk_404(char *id, char *response) ;
    //cout << "404攻击..." << endl;   
    system("pause");
}
void siteEdit(void) { system("cls"); char id[64]; char response[4096]; string attackText; //cout << "网站篡改攻击..." << endl; cout << "请输入准备攻击的网站ID:"; scanf_s("%s",id, size(id)); cout << "请输入你要写入的内容:"; cin>> attackText; cout << "正在执行网站篡改攻击...\n"; GBKToUTF8(attackText); hk_tamper(id, (char*)attackText.c_str(),response); string retStr = UTF8ToGBK(response); cout << retStr << endl; system("pause"); } void siteRepair(void) { char id[64]; char response[4096]; system("cls"); printInMiddle("---网站攻击修复---"); cout << "请输入准备修复的网站ID:"; cin >> id; cout << "正在执行攻击修复..." << endl; hk_restore(id, response); //发起攻击 //id指对应网站的端口号 //服务器返回的结果是utf-8编码格式 string retStr = UTF8ToGBK(response); cout << retStr << endl; system("pause"); } void attckRecord(void) { char id[64]; char response[4096]; system("cls"); printInMiddle("---网站攻击记录---"); cout << "请输入需要查看记录的网站ID:"; cin >> id; cout << "正在查看攻击记录..." << endl; hk_record(id, response); //id指对应网站的端口号 //服务器返回的结果是utf-8编码格式 string retStr = UTF8ToGBK(response); cout << retStr << endl; system("pause"); } int main(void) { // 登录 init(); login(); while (1) { menuShow(); int n = menuChoise(); switch (n) { case 1: attack404(); break; case 2: siteEdit(); break; case 3: siteRepair(); break; case 4: attckRecord(); break; case 5: //break; return 0; default: cout << "无效输入. 请重新输入." << endl; system("pause"); break; } } system("pause"); return 0; }

 

标签:cout,黑客攻击,int,系统,C++,char,pwd,include,id
来源: https://www.cnblogs.com/smartlearn/p/16614635.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有