编程之修改文件修改时间的程序
编程之修改文件修改时间的程序
gxm
一次偶然挂马。用了好多IIS挂马,ISAPI,文件重定向挂马方法,不久后被管理员KILL。无奈只能用原始方法,因此,修改文件修改时间是必要的,管理员也因此用这个查。虽然海洋ASP木马上有这个功能,但经过测试,有的时候不行(原因不明,估计是权限问题),所以自己尝试写了这么个软件,代码如下:
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
#include "stdlib.h"
int main(int argc, char* argv[])
{
if (argc == 8)
{
FILETIME ft,ft1;
SYSTEMTIME systime;
int gxm,gxm1,gxm2,gxm3,gxm4,gxm5;
gxm=atoi(argv[7]);
gxm=gxm - 1;
gxm1=atoi(argv[2]);
gxm2=atoi(argv[3]);
gxm3=atoi(argv[4]);
gxm4=atoi(argv[5]);
gxm5=atoi(argv[6]);
systime.wYear = gxm1;
systime.wMonth = gxm2;
systime.wDay = gxm3;
systime.wHour = gxm4;
systime.wMinute = gxm5;
systime.wSecond = gxm; //想要改变秒,必须要少一位
SystemTimeToFileTime(&systime, &ft);
LocalFileTimeToFileTime(&ft,&ft1); //把时间转换UTC
HANDLE hFile;
hFile = CreateFile(argv[1], GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ| FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile== INVALID_HANDLE_VALUE)
{
printf("opent the file[!]...................................error ");
}
SetFileTime(hFile, (LPFILETIME) NULL, (LPFILETIME) NULL, &ft1);
CloseHandle(hFile);
printf("changed[!]...................................OK ");
return 0;
}
printf("GXM修改文件最后修改日期工具 ");
cout << "文件使用方法为:"<<endl;
cout << " " << argv[0] << " path year month Day Hour Minute Second"<<endl;
return 0;
}xp sp2 vc++6.0环境下编译成功,2k 2003 xp测试软件效果成功。需要运行程序权限:本菜在administrator下运行的,其他的没有测试。估计guest权限不行
补充:综合编程 , 安全编程 ,