首页
社区
课程
招聘
[原创]Dll 模块隐藏技术
发表于: 2010-11-6 15:30 59903

[原创]Dll 模块隐藏技术

2010-11-6 15:30
59903
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
DllEntry	proc	_hInstance,_dwReason,_dwReserved

		pushad
							

		mov	eax,_dwReason
		.if	eax == DLL_PROCESS_ATTACH			;Dll初始化时执行!
			push	_hInstance
			pop	hInstDll				;hInstDll保存本dll加载基址
			;------------------------------------------
			;定位eax指向首个LDR_DATA_TABLE_ENTRY结构
			;------------------------------------------
			assume	fs:nothing
			mov	eax,fs:[30h]				;eax-->PEB
			mov	eax,[eax + 0Ch]				;eax==Ldr-->PEB_LDR_DATA
			mov	eax,[eax + 0Ch]				;LoadOrderList.Flink-->LDR_DATA_TABLE_ENTRY
			;-----------------------------------------------------------
			;通过循环遍历LDR_DATA_TABLE_ENTRY结构,比较DllBase与hInstDll
			;找到描述本dll模块的LDR_DATA_TABLE_ENTRY结构
			;-----------------------------------------------------------
			@@:
			mov	ebx,[eax + 18h]				;[eax + 18h]为当前处理的模块的基址
			cmp	ebx,hInstDll				;找到本模块的LDR_DATA_TABLE_ENTRY
			jne	_No
			mov	ebx,[eax + 24h + 4]
			movzx	ecx,word ptr [eax + 24h]		;Unicode String length 获得子串长度
			mov	edi,ebx					;Unicode String Address 
			cld
			rep	stosb					;用Al的值填充
			mov	dword ptr [ebx],0			;(确保String首4个byte为0)
			jmp	@F
			_No:
			mov	eax,[eax]				;链表遍历
			jmp	@B
			@@:

		.elseif  -- - -- - - -- 
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::		

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 8
支持
分享
最新回复 (52)
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
写的 怎么没人来看呢~~~~
上传的附件:
2010-11-6 16:19
0
雪    币: 81
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
楼主我**。。
2010-11-6 17:19
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
lz忘记抹_LDR_DATA_TABLE_ENTRY中的HashLinks了...
2010-11-6 18:01
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
偶? 对这个 HashLink 成员不是很了解 ---

它指向什么呢 -- 、
2010-11-6 21:57
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6


这是什么意思呢???
2010-11-6 22:02
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
LZ抹自己信息的那段貌似可以直接改DLL实现,不需要在运行状态动态修改。
隐藏DLL还有一种方法就是把DLL直接FreeLibrary掉,呵呵。
呃,我不是在说笑话,我的意思是把DLL的内容复制下来,再把它FreeLibrary掉。
我在别人帖子里面发过,不过貌似没人看这个,可能大家都有自己觉得好用的方法吧。
http://bbs.pediy.com/showthread.php?t=59932&page=4的50L。
2010-11-7 01:21
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
嗯--直接抹掉真的可以呀~~~

那个 FreeLoadLibry 的我知道些 -
2010-11-7 01:51
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
HashLink跟LdrpHashTable有关,谷歌LdrpHashTable
2010-11-7 01:52
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
10
pe头抹掉才可以防止暴力搜索
2010-11-7 13:03
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
抹掉PE头 程序执行会出错的 ---

调用某些API的时候 ~~~

现在的这个 dll 就算搜索到了 我觉得也没事儿 --

因为 它还是不知道 我的 dll 的名字 ~~ 找不到 我的磁盘 文件 ~~~
2010-11-7 14:58
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
12
tag: HIDE DLL 隐藏 动态链接库
2010-11-7 15:08
0
雪    币: 306
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼主能共享下怎么把dll注入进去不被杀软发现的方法吗
2010-11-7 15:25
0
雪    币: 394
活跃值: (131)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
14
学习了,没看懂,标记下
2010-11-8 09:24
0
雪    币: 2323
活跃值: (4113)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
15
汇编,I like it~~
2010-11-8 09:43
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
学习........
2010-11-9 21:18
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
白旗~
2010-11-9 23:30
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我顶.....................

2010-11-10 00:06
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
19


隐藏dll模块过xuetr的路过。。。
2010-11-10 01:34
0
雪    币: 3226
活跃值: (2833)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
也做过类似的方法。。不过对于资源比较复杂的DLL不知道LZ的这个方法兼容好不。复杂点的似乎要先挂起全部线程才合适
2010-11-10 09:27
0
雪    币: 253
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
过不了 xuetr ,啥都能看见。。。。。
2010-11-21 01:10
0
雪    币: 207
活跃值: (3117)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
对文件proc函数还是不理解,,我用MSDN都查不到,网上都是Linux下说明,,咋整
2010-11-21 04:14
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
你是指 这个“DllEntry        proc        _hInstance,_dwReason,_dwReserved”
吗?

这是 dll 文件的 入口函数
2010-11-21 04:21
0
雪    币: 1140
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
暂时水平还不够,看不懂此文章,支持楼主,日后来学习!
2010-11-21 08:13
0
雪    币: 171
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
好像没隐藏成功 查的到
2010-11-22 03:45
0
游客
登录 | 注册 方可回帖
返回
//