发新话题
打印

[转载]修改文件时间的程序

[转载]修改文件时间的程序

文章转载:pt007[at]vip.sina.com
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到邪恶八进制信息安全团队技术讨论组。I.S.T.O版权所有,转载需注明作者。
复制内容到剪贴板
代码:
#include <stdio.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("open't the file[!]...................................error\n");
        }
            SetFileTime(hFile, &ft1, &ft1, &ft1);
            CloseHandle(hFile);
    printf("changed[!]...................................OK\n");
        return 0;
        }
        printf("名称:修改文件访问时间、创建时间和最后修改时间的工具\n");
        cout << "文件使用方法:" << argv[0] << " F:\\test1.exe 2008 1 25 17 25 10"<<endl;
        return 0;
}
[ 本帖最后由 pt007 于 2008-7-9 16:13 编辑 ]

附件

修改文件时间的程序.rar (16.96 KB)

2008-7-9 16:11, 下载次数: 1163

每个人都有属于自已的世界,人生因此而精彩,HACK就是我的世界!

TOP

TOP

说明,这个程序是我的.我根本就没有文章首发I.S.T.O信息安全团队,其实文章首发的就在邪恶八进制一个版块下,后来在黑客手册增刊上,转我代码时请注意版权为gxm!

TOP

win2003  VC6.0 下编译通过,Debug提示成功,但是修改不成功的!
如果发布成Release,就能修改成功的!

哪位知道原因的话说一下.

多多向高手学习,多多帮助菜鸟,偶也进步了。

TOP

修改文件时间这样很麻烦的呀。。。还不如直接克隆一个文件的系统时间好得多呀。。。

代码:

_TimeC proc @_szFileName1,@_szFileName2
local @hFile ;文件句柄
local @Crtime: FILETIME
local @Latime: FILETIME
local @Lwtime: FILETIME

;打开文件
invoke CreateFile, @_szFileName1, GENERIC_READ, FILE_SHARE_READ or \
FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0
cmp eax,INVALID_HANDLE_VALUE
je _@exit0
mov @hFile,eax ;复制文件句柄
invoke GetFileTime,@hFile,addr @Crtime,addr @Latime,addr @Lwtime
invoke CloseHandle,@hFile ;关闭文件

invoke CreateFile, @_szFileName2,GENERIC_WRITE, FILE_SHARE_READ or \
FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0
cmp eax,INVALID_HANDLE_VALUE
je _@exit0
mov @hFile,eax ;复制文件句柄
invoke SetFileTime,@hFile,addr @Crtime,addr @Latime,addr @Lwtime
invoke CloseHandle,@hFile ;关闭文件
_@exit0:
ret
_TimeC endp

TOP

发新话题