计算机网络安全资讯站点
文字横幅以及760*60黄金广告位置招租,欢迎恰谈! 广告业务联系QQ:8019399 声明:在本站所投放广告内容均与本站立场无关!

您现在的位置: 中国安全在线 >> 攻防技术 >> 网络编程 >> 文章正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
基于Webshell的sniffer可行性研究
Hxdef100的配置和使用方法
从上传webshell到突破TCP/IP筛选到
利用httptunel突破防火墙入侵内网主
修改数据库得到webshell
关于WEBSHELL中的命令提示符没有权
使用webshell突破虚拟主机权限设置
SQL注入得到WEBSHELL
通过webshell获得admin全攻略
渗透某红客站点--由webshell到最高
Delphi木马DIY之代码藏后门的可能性
作者:佚名 来源:安全在线 更新时间:2007-1-15 【字体:
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论

阅读提示:

现在,好多的朋友都会写程序了,但肯定不一定对程序很精通。估计很多都是拿到整齐点的源代码勉强阅读一下还是可以,就算不能全懂,至少能懂大半部分,编译出来更是没有什么问题。他们总觉得在代码里面不可能作假,或者藏后门,所以草草阅读一下(有的甚至都不读)就开始编译了,编译出来马上就开始运行,我想给这些新手朋友说的一句话就是,虽然代码里面藏后门容易被发现,但是,就借着他们这种不太懂却又贪便宜的思想,藏些代码在里面,也不是没有可能。

比如说下面这个简单的Delphi的例子,大家看看在点击了Button1按钮后会发生什么事情:

procedure ReplaceShowMessage(const Msg: string);

begin

ShowMessagePos('你好', -1, -1);

end;



procedure NewShowMessage(const Msg: string);

type

TShowMessage = procedure(const Msg: string);

begin

TShowMessage(@ReplaceShowMessage)(Msg);

end;



procedure EndNewShowMessage;

begin

end;



procedure TForm1.FormCreate(Sender: TObject);

var

vProcess: THandle;

vNumberOfBytesRead: DWORD;

begin

vProcess := OpenProcess(PROCESS_ALL_ACCESS, True, GetCurrentProcessId);

try

WriteProcessMemory(vProcess, @ShowMessage, @NewShowMessage,

    Integer(@EndNewShowMessage) - Integer(@NewShowMessage),

    vNumberOfBytesRead);

finally

CloseHandle(vProcess);

end;

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

ShowMessage('Hello');

end;

如果你说点击了Showmessage后会出现一个Hello的提示框,那我就可以告诉你,你错了!可能很多的朋友都发现了,这个ShowMessage的函数已经被替换了,换成了什么函数?换成了ReplaceShowMessage这个函数,点击Button1的结果就是出现“你好”的提示框。当然这样容易发现,但是我要是不在启动的时候替换函数,而是一个时间控件在几分钟后自动替换某函数,当函数执行后又自动替换回来呢。你是不是能够发现?不再是Delphi的代码,而是加上一段Asm呢,你是不是又能看得懂?

在这当然不是教大家用这个方法去骗人(当然现在都执意自己编译程序用的人的肉鸡啊,资料啊这类东西可能质量要高点,想起都让人心动的),只是要在这里提醒大家,不要听到别人公布代码了就马上去编译执行,在看不懂的时候还是小心点。网络就像一个园子,园子大了,什么鸟都有,这个网络大了啊,什么人都有。

如果看这个文章的你就有在自己的程序里面加后门的习惯,那么我想请问你一句你要肉鸡有什么用?说句老实话,我也是才接触网络安全的时候,抓过鸡。但是都是服务器,是靠漏洞搞下来的,从来没有说过在网页上挂马啊,甚至在自己的软件里面加后门的事情,真正是想都不敢想。我的每一个程序我都看待他们像我的爱人一样,爱他们,真想不通为什么有人会在自己的程序里面加后门来玷污自己。

此文的思路来自安全焦点里面的一个牛人说的想在自己的代码里面加恶意代码(防止不小心中了木马,被人偷走资料,引起严重后果),和今天晚上一直在学习汇编,想起haicao兄弟说的话(先把Delhpi搞熟了后再看汇编吧,汇编上手不易的,容易对程序失去兴趣,想起很多的朋友都不太懂汇编的)想到的,就找了一段代码来给新手说明一下。其实在代码里面藏后门真的是一旦不注意,后害无穷啊。要是替换了你的Windows.pas或者Windows.h,或者另外的什么文件,以后你编译出来的东西有可能个个都会是带后门的。

先前给发给几个朋友一段修改过的代码,说是才在网上找到的,叫他们帮忙看看,结果发了5个人,3个人是马上编译并执行,另外一个没编译器,只有一个人说是要看看后再编译,结果几分钟后也把程序发给了我。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力

文章录入:ls1238    责任编辑:ls1238 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系方式 | 友 情链接 | 关于我们 | 网站留言 |
    Copyright ?2003-2007 www.cnsafer.com All Rights Reserved.
    如有意见请与我们联系 Email:admin#mail.cnsafer.com 联系QQ:8589101
    友情提示:建议使用IE6.0版本, 分辩率1024*768进行浏览
    中国安全在线 敢想 敢做 挑战自我 努力做最好
    中网科技有限公司 技术支持 鄂ICP备05006475号