|
刚才看到有坛友被快压QJ了,想起这个东西,发出来!
很简单的一个玩意,就是把命令行后面带的东西给记录下来,见笑了
起因是看到WPS总是启动一些我不想看到的东西。。
免费软件我可以理解。。也想表示支持。。
而且这也确实要不了我的命,但是我浑!身!耐!受!!
很多常用的程序都在这样偷偷摸摸搞些小动作。。
我的屏幕、内存、硬盘、CPU可不是供你们撒野的地方。。
最初用了这样的一个程序替换掉那些该死的玩意:
int main(){
return 0;
}
发现大多数的垃圾并不能知道他们的一部分已经被替换掉了。
除了某狗带的手机管家以外。。(删光权限也可抵挡)
后来打算把这玩意再改改,我想要知道他们什么时候启动了这些,并且都跟这些狗沟通了什么。。
直接贴出代码:
#include <windows.h>
#include <time.h>
#include <stdio.h>
struct tm *localtime(const time_t *timep);
int main(int argc,char **argv){
ShowWindow(FindWindow("ConsoleWindowClass",argv[0]),0);//查找自己的窗口隐藏自身,这条好像不好使?谁有什么好办法?
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
_splitpath(argv[0],drive,dir,fname,ext);//获取执行路径信息和自身文件名
char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
time_t timep;
struct tm *p;
time(&timep);
p = localtime(&timep);//使用gmtime()的话有时差问题
FILE *sfp;
sfp=fopen("C:\\RSDA.log","a+");//建立或追加系统记录
fprintf(sfp,"----------------\n");//分割线
fprintf(sfp,"%d/%d/%d ",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);//记录日期
fprintf(sfp,"%s ",wday[p->tm_wday]);//记录星期
fprintf(sfp,"%d:%d:%d\n",p->tm_hour,p->tm_min,p->tm_sec);//记录时间
fprintf(sfp,"%s%s\n",strlen(drive)==0?"null":drive,strlen(dir)==0?"null":dir);//记录所在位置
fprintf(sfp,"%s%s ",fname,ext);//饵食文件名.扩展名
while(argc-->1)fprintf(sfp,"%s ",*++argv);//截取到的启动参数
fprintf(sfp,"\n");//为下次记录换行
fclose(sfp);
return 0;
}
这个东西的用法就是用它替换掉你不想让它在你电脑里撒野的东西,变成同样的文件名放在原位。
然后当某软件试图启动它时,就会记录下时间和所带的参数,记录放在C盘根目录下的RSDA.log文件里,实际上就是txt格式的。
这个东西也可以用来研究一些别的软件是怎么调用另一个程序的,譬如用着XLoader上,替换掉它自带的avrdude,你就可以看到Xloader跟avrdude说了什么。。
这是替换掉wps里面一些鬼玩意后记录到的内容:
压缩包内是编译好的exe和main.c,想自己编译的话可以用codeblocks或任何你喜欢的东西。
写的多的还是单片机上的程序,这个代码应该是很菜的,而且并没有去找有没有什么同类的东西,如果你有更好或更好玩的调戏方式,请分享出来~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|