“功击实现 莫非实现 ”攻击?“ “小森
“非也非也,只是模拟而已 “小程
“如何模拟攻击呢”小森
“使用函数啦”小程
“那函数能干什么?”小森
“这个嘛…有了 ” 小程
“这么跟你说吧:函数就是功能, 比如说你想实现一个加法 运算。”
“num1 + num2 这样有错吗”,“没有错,但是不能复用性 ”小程
“复用性?”小森
“你想想 如果这个重复的复制,代码是不是很傻, ”小程
“确实有点…”小森
“所以加法运算 是一个功能 “小程
加法函数:
int Add(int leftNum,int rightNum){
return leftNum + rightNum;
}
cout << Add(1,1) << endl;
cout << Add(1,2) << endl;
“这样用法,很不错的“ 小程
“确实不错,但是为啥这样用呀,如何模拟攻击” 小森
来看看实现黑客攻击系统功能实现、优化系统代码
#include<iostream>
#include<string>
#include<conio.h>
#include"hacker.h"
using namespace std;
#define WIDE 40//窗口宽度
#define HIGH 15//窗口高度
void Inputpwd(char pwd[], int size) {
int i = 0;
char ch;
bool flag = false;
while (true){
ch = _getch();
if (i >= size - 1) {
flag = true;
break;
}
if (ch=='\r'){
pwd[i]='\0';
break;
}
pwd[i++] = ch;
cout << "*";
}
if (flag){
cout << endl;
cerr << "数组已越界!!" << endl;
system("pause");
exit(1);
}
}
void login(void){
string name;
char password[32];
while (true) {
system("cls");
cout << "请输入账号:";
cin >> name;
cout << "请输入密码:";
Inputpwd(password, sizeof(password));
if (name == "54hk" && !strcmp( password , "123456")) {
break;
}else {
cout << "用户名和密码 错误" << endl;
system("pause");
}
}
}
void printInMidde(string Msg) {
int leftSpace = (WIDE - Msg.length()) / 2;
for (int i = 0; i < leftSpace; i++){
cout << " ";
}
cout << Msg << endl;
}
void menuShow(void) {
/*
system("cls");
cout << "黑客攻击系统" << endl;
cout << "1.网站404攻击" << endl;
cout << "2.网站篡改攻击" << endl;
cout << "3.查看攻击记录" << endl;
cout << "4.网站攻击修复" << endl;
cout << "5.退出" << endl;
*/
//"黑客攻击系统"
string menu[] = {
"1.网站404攻击",
"2.网站篡改攻击",
"3.网站攻击修复",
"4.查看攻击记录",
"5.退出",
"请输入:"
};
//计算菜单项最大长度
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();
}
}
system("cls");
//打印标题
printInMidde("---黑客攻击系统---");
int leftSpace = (WIDE - max) / 2;
for (int i = 0; i < menuCount; i++) {
for (int i = 0; i < leftSpace; i++){
cout << " ";
}
if (i < menuCount - 1) {
cout << menu[i] << endl;
}else{
cout << menu[i];
}
}
}
int menuChoise(void) {
int n = 0;//用户输入的编号
while (true) {
cin >> n;
if (cin.fail()) {
cin.clear();
cin.sync();
cout << "无效输入,请重新输入" << endl;
}else {
break;
}
}
return n;
}
void attack404(void) {
system("cls");
char id[64];//网站id
char response[MAXSIZE]{ 0 };//攻击后,从服务器返回结果
printInMidde("--- 网站404攻击---");
cout << "请输入网站id;";
cin >> id;
cout << "正在执行404攻击..." << endl;
//发起攻击
hk_404(id, response);
string retStr = UTF8ToGBK(response);
cout << retStr << endl;
system("pause");
}
void siteEdit(void) {
system("cls");
//cout << "网站篡改攻击..." << endl;
char id[64];
char response[MAXSIZE];
string attackText;
printInMidde("---网站篡改攻击---");
cout << "请输入网站id:";
cin >> id;
cout << "请输入你要写入的内容:";
cin >> attackText;
cout << "正在执行篡改攻击..." << endl;
GBKToUTF8(attackText);//编码转换
// 发起攻击
hk_tamper(id, (char*)attackText.c_str(), response);
string reStr = UTF8ToGBK(response);
cout << reStr << endl;
system("pause");
}
void attackRepair(void) {
system("cls");
//cout << "攻击修复..." << endl;
char id[64];
char response[MAXSIZE];
printInMidde("---网站攻击修复---");
cout << "请输入网站id:";
cin >> id;
cout << "正在执行攻击修复..." << endl;
//攻击修复
hk_restore(id, response);
string retStr = UTF8ToGBK(response);
cout << retStr << endl;
system("pause");
}
void attackRecord(void) {
system("cls");
//cout << "查看攻击记录..." << endl;
char id[64];//网站id
char response[MAXSIZE];
printInMidde("---查看攻击记录---");
cout << "请输入需要查看网站id:";
cin >> id;
cout << "正在执行查看攻击记录..." << endl;
hk_record(id, response);
string reStr = UTF8ToGBK(response);
cout << reStr << endl;
system("pause");
}
void init(void) {
char cmd[128];
sprintf_s(cmd, sizeof(cmd), "mode con cols=%d lines=%d", WIDE, HIGH);
system(cmd);
}
int main(void) {
init();//初始化
login();//登录功能
while (true) {
menuShow();
//输入编号
int n = menuChoise();
switch (n) {
case 1:
attack404();
break;
case 2:
siteEdit();
break;
case 3:
attackRepair();
break;
case 4:
attackRecord();
break;
case 5:
return 0;
break;
default:
cout << "无效输入,重新输入" << endl;
break;
}
}
system("pause");
return 0;
}
“想象到了没 ,函数的作用?” 小程
“需要什么功能 ,就需要什么样函数”
“ 比如说 :需要判断数值是否 >5“
你需要知道这个需要返回什么 称之为返回值类型
很明显这是bool类型
需要那些参数 参数的类型
返回值;
bool is_greater(int num,const int src_num=5){
return num>src_num;
}
这样你就会玩函数了
版权声明:本文为xiaov_sen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。