热烈庆祝本人受关注人数即将突破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
...全文
2794 56 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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)
提供国人写的强大的html5植物大战僵尸(源码) 写得很棒~占用资源少。 JSPVZ 程序制作进度(2011.1.5) 本程序提供源码由HTML5中文网整理打包下载,该下载包可以使用服务器环境运行,也可以在电脑上双击Index.htm直接运行 另外智能手机可以安装OperaMobile10.1及其以上版本,把代码整个拷贝到手机存储卡上,在浏览器中输入形如“E:/jspvz”形式的地址直接本地运行程序,无需联网 转载使用请勿修改LonelyStar署名,pvz.lonelystar.org网址和PopCap公司版权声明 保留对该JS版植物大战僵尸版权所有 2011.1.5 添加了第二大关的第三小关 修正一大波和最后一波字样无法消失的BUG 2010.12.31 添加了“解谜模式” 调整了程序中关卡对于胜利和失败的算法 几个植物和僵尸做了调整 修改了几个BUG 2010.12.27 对初始界面稍作修改 2010.12.9 添加了“靠天吃饭”小游戏 给领带僵尸添加两种形象 修正辣椒爆炸图片的问题 咖啡豆0耗的数据修正 2010.12.8 提高了一下僵尸行走的纵坐标 修正了土豆雷和樱桃炸弹爆炸图片在IE下的问题 调整了一大波僵尸和最后一波僵尸出现的图片效果 2010.12.7 添加了第二大关的两小关 添加了“乱葬岗”小游戏 修改了几个BUG 调整了进度显示 2010.12.1 添加了“贫瘠之地”小游戏 调整游戏初始化界面和选择模式界面 修正第十关IE下运行报错的BUG 修正IE下单机运行有部分图片看不到的问题 修正蘑菇植物无睡眠动画而实际却在睡眠的BUG 修正曾哥蘑菇种植在醒着的大喷菇上仍然睡着的BUG 修正僵尸出场界面显示僵尸种类的BUG 修正地刺和地刺王伤害过高的BUG 加大“僵尸快跑!”的难度

70,020

社区成员

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

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