木马技术研究第一部分

木马技术研究第一部分

申明:  本文涉及到的技术只供参考研究之用,不可用于非法行为,本人不负责。


A. 写在开始
自以为编写了几年的网络通信程序,对网络很熟悉,碰到个搞UNIX的朋友,才知道我对网络不精通。
自以为研究了系统几年,对系统很熟悉,碰到个一直写驱动的朋友,才知道不用说linux, 就连win32我也不懂。
自以为算法不错,碰到个写video,audio算法的家伙,才知道我只是菜鸟。

但我还是有我独到的地方,有我熟悉而别人极少熟悉的层面。
或许只是聊以自慰,或许只是愚弄世人。


B. 现状令人堪忧
目前中国的网络现状着实令人堪忧, 可能原因是:
盗版不是非法 导至广大用户需要软件就上网找. 从而导至网页里面各种插件感染脚本,流氓软件感染脚本, 泛滥成灾...

任何用户包括我自己,也不能肯定下载下来的软件,没有恶意代码。

木马盛行的今天,我们需要反木马,但不了解木马如何反木马?


C. 木马要求
1. 因为目前市场上木马多以网页形式感染,所以木马要求越小越好,
关于文件大小参考:
http://blog.csdn.net/davemin/archive/2006/09/26/1289795.aspx

1.1. 建议:尽量不要定义Class, Struct, 和变量,少定义涵数,多使用goto;

 

2. 木马类型及相关截获数据技术浅谈
网游类: 目前网游很盛行,以前做外挂的可能现在竞争激烈了,都转到截网游账号上来了.
 而且网游涉及到装备和虚拟币,所以做截网游账号的事也是很诱人的。
浏览器类: 像很有名的网银大盗之类的都属于这一类,同时截email账号之类的等等都是这一类。
应用程序类: 比如截QQ,msn账号等等属于这一类。

2.1. Hook文本数据
但是每一类都涉及到差不多相同的技术,对于文本可以使用SetWindowsHookEx, 截获TextOutA API等等技术。
相关技术参考:
<Windows 核心编程>
SetWindowsHookEx 技术相信大家也是熟悉的。


2.2. 网游类截获网络数据包
但是对于网游类, 因为网游类根本就没有用TextOutA来渲染文本,所以不能使用截获TextOutA API等等技术, 相反
可以使用截获网络数据包,分析数据包技术来做。
对于这一点,本人强烈建议网游公司,每一个星期更新客户端程序的时候,把加密算法改一下,这样木马就没用了。

但道高一尺魔高一仗,即使网游公司这样做,相信做木马的朋友还是会想办法来解决的。

2.3. GDI对象DC比对技术
可能这个技术是相当先进的,但是非常有用的,不过可能涉及到的对象和算法非常繁锁。
原理是:Copy 一个DC对象,使用SetWindowsHookEx后,在GetMsgProc事件里面进行对比。


2.4. Hook文本数据补充 - 中文截获

在GetMsgProc里面,很多人使用事件:WM_IME_COMPOSITION
我个人以为,使用WM_IME_COMPOSITION根本没有必要,而且WM_IME_COMPOSITION,和WM_CHAR事件同时存在。
当然如果是中文p->wParam > 127

本人以为可以直接在WM_CHAR事件里面处理, 相关代码参考:
PMSG p = (PMSG)lParam;

static TCHAR tcChinese[3] = "/0";  // 定义静态数组
if( tcChinese[1] == 0 )
 tcChinese[1] = (TCHAR)p->wParam; // 208 "中"
else
{
 tcChinese[0] = (TCHAR)p->wParam; // 214 "中"
 lstrcat( g_szText, tcChinese );  // 存到全局变量里面
 tcChinese[1] = 0;   // 设置为0, 可以重新取下一个中文
}
// ASSERT( g_szText = "中" );

2.5. Hook文本数据补充 - Ctrl + V处理
PMSG p = (PMSG)lParam;

if( p->wParam == 22 )
{
TCHAR tchar[64] = "/0";
if( OpenClipboard( NULL ) )
{
 HGLOBAL hData = GetClipboardData( CF_TEXT );
 if( hData )
 {
  LPCSTR lpcszData = (LPCSTR)GlobalLock(hData);
  GlobalUnlock( hData );
  lstrcpy( tchar, lpcszData );
 }
 CloseClipboard();
}
}


3. 木马的自启动
4. 木马安装脚本
请关注第二部分.


同时欢迎VC爱好者加入QQ群, VC技术群-2: 30734090

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值