钓鱼攻击第一弹-释放文件
之后所有文章发至《熊猫安全》公众号上
获取当前路径
#include <stdio.h>
#include "direct.h"
#define MAX_SIZE 255
int main(int argc, const char* argv[])
{
char buf[MAX_SIZE];
getcwd(buf, sizeof(buf));
printf("current working directory : %s\n", buf);
puts(buf);
return 0;
}
释放任意资源文件
- 首先把需要释放的文件通过winhex打开,然后点击编辑->复制所有->C源码(C)
- VS 创建代码->Windows桌面向导->静态库(.lib)
- 把第一步获得的C代码添加至项目头文件中,新建头文件MyFile.h
重命名为unsigned char Myfile,里面的数据不能改。
新建源文件project.cpp,写入以下内容
#include "Resour.h"
#include "Myfile.h"
#include <fstream>
using namespace std;
void MyWriteFile(int code,const char *FileName)
{
ofstream ofs;
if (code == 1)
{
ofs.open(Filename, ios_base::out | ios_base::binary);
ofs.write((char*)Myfile, sizeof(Myfile));
ofs.close();
}
else if (code == 2)
{
MessageBoxW(0, L"释放dll", L"提示", 0);
}
}
project.h
#pragma once
#include <Windows.h>
void MyWriteFile(int code,const char *FileName);
运行项目,会在Release目录下生成一个Project1.lib。
4.VS新建一个控制台应用,把project.h、Project1.lib放入目录
导入project.h到头文件,添加Project1.lib到依赖项
main函数代码如下
#include <stdio.h>
#include "direct.h"
#include "project.h"
#pragma warning(disable:4996)
#define MAX_SIZE 255
int main()
{
char buf[MAX_SIZE];
const char *name = "\\test.pdf";
//const char *filename;
getcwd(buf, sizeof(buf));//获取当前程序路径
//printf("current working directory : %s\n", buf);
//puts(buf);"\\test.pdf"
strcat(buf, name);//拼接文件名进路径
//printf("current working directory : %s\n", buf);
//puts(buf);
printf("你好");
MyWriteFile(1, buf);
}
运行生成的程序,会在你程序当前路径释放一个test.pdf,该pdf即为你需要释放的文件
结语
这玩意有什么用呢,回归标题**钓鱼 **和 伪装。
标签:project,释放,const,钓鱼,攻击,char,int,include,buf From: https://www.cnblogs.com/Secde0/p/16632554.html