热烈庆祝本人受关注人数即将突破7000大关!散分!!+“代码修改自身”例子

赵4老师 2015-01-09 10:06:50
“代码修改自身”为啥要加个引号呢?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <io.h>
#include <windows.h>
FILE *f;
char cmd[256];
char fn[256];
char fn_old[256];
char fn_new[256];
char *b,*p;
int fl,i;
int main() {
char a[]="hello world!1";

printf("%s",a);

GetModuleFileName(NULL,fn,256);
sprintf(fn_old,"%s_old",fn);
sprintf(fn_new,"%s_new",fn);
f=fopen(fn,"rb");
if (NULL==f) {
printf("Can not open file %s!\n",fn);
return 1;
}
fl=filelength(fileno(f));
b=(char *)malloc(fl);
fread(b,1,fl,f);
fclose(f);
for (i=0;i<fl-14;i++) {
if (0==memcmp(b+i,"hello world!",12) && b[i+12]) {
b[i+12]=0x63-b[i+12];
break;
}
}
f=fopen(fn_new,"wb");
if (NULL==f) {
printf("Can not create file %s!\n",fn_new);
free(b);
return 2;
}
fwrite(b,1,fl,f);
fclose(f);
free(b);
if (!access(fn_old,0)) remove(fn_old);
sprintf(cmd,"cmd.exe /c ren \"%s\" \"%s\"© \"%s\" \"%s\" >NUL 2>NUL",fn,strrchr(fn_old,'\\')+1,fn_new,fn);
WinExec(cmd,SW_HIDE);

return 0;
}
//C:\test>changemyself
//hello world!1
//c:\test>changemyself
//hello world!2
//c:\test>changemyself
//hello world!1
//c:\test>changemyself
//hello world!2

http://bbs.csdn.net/topics/390627329
http://bbs.csdn.net/topics/390968067
...全文
2670 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
clever101 2016-11-10
  • 打赏
  • 举报
回复
修改自身也是打补丁的一个好手段啊!
yin_junhuang 2016-07-15
  • 打赏
  • 举报
回复
SweetLoverFT 2015-05-30
  • 打赏
  • 举报
回复
马上六一儿童节了,是不是除了关注以外,顺带给个六一儿童节的慰问啊,好让我们这群大宅男开心
SweetLoverFT 2015-05-30
  • 打赏
  • 举报
回复
赵老师,我也要接分,关注你多时了
鑫森淼焱垚 2015-03-27
  • 打赏
  • 举报
回复
哈哈,来论坛看过楼主几次,膜拜一下,顺便关注一下。
_明月 2015-03-05
  • 打赏
  • 举报
回复
嗯,关于赵老师你问的那个问题,说实话我也不懂。抱歉,不能给你一个答案。
_明月 2015-03-05
  • 打赏
  • 举报
回复
都快过年了赵老师依旧为自己喜欢的东西去努力,赵老师真的是太认真、太努力了。在问一下赵老师,为什么有些人总是喜欢骂你呢?我感觉赵老师您做人挺热心的呀?
gdutcpp 2015-02-07
  • 打赏
  • 举报
回复
赵老师要普天同庆啊
  • 打赏
  • 举报
回复
糊里糊涂的进来 糊里糊涂的 走 已关注
  • 打赏
  • 举报
回复
拜访下赵老师
h_yuzhi 2015-01-30
  • 打赏
  • 举报
回复
nice,欢欢喜喜过大年!
xiaopao319 2015-01-26
  • 打赏
  • 举报
回复
恭喜恭喜,小白前来道贺
百曉生 2015-01-18
  • 打赏
  • 举报
回复
虽然不是前排,但不耽误围观赵老师 不明而觉厉
wenyujian1995 2015-01-17
  • 打赏
  • 举报
回复
吊炸天。。。膜拜一下,不知道老师对阅读源代码有何建议吗?我打算将一部分源代码抽出来进行编译。。。
GadyPu 2015-01-17
  • 打赏
  • 举报
回复
厉害,赵老师
sky855134 2015-01-16
  • 打赏
  • 举报
回复
vkkeva 2015-01-16
  • 打赏
  • 举报
回复
哈哈,来论坛看过楼主几次,膜拜一下,顺便关注一下。
melos 2015-01-14
  • 打赏
  • 举报
回复
接分,接分,接赵老师的分。
均陵鼠侠 2015-01-13
  • 打赏
  • 举报
回复
300分全给我,我顶你
赵4老师 2015-01-13
  • 打赏
  • 举报
回复
引用 33 楼 u010399796 的回复:
我是来看29楼的..
那我给不给分呢?
加载更多回复(36)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧