首页
社区
课程
招聘
[原创]跟着病毒学技术---学习WannaCry自己实现LoadLibrary
发表于: 2017-5-21 23:48 15786

[原创]跟着病毒学技术---学习WannaCry自己实现LoadLibrary

2017-5-21 23:48
15786

最近逆了一下搞得人心惶惶的比特币勒索病毒WannaCry,发现里边有个知识点我挺感兴趣的,于是记下来跟大家分享。WannaCry在加载加密函数动态库的时候,并没有调用LoadLibrary()函数,而是自己实现将其加载到指定内存,并自己实现GetProcAddress()从而实现函数的调用。这样有什么好处呢?这样我们便无法查到它的加载模块与函数地址。我这里也有一个自己写的Demo,实现了LoadLibrary、GetProcAddress和FreeLibrary函数。代码中有我写的注释,比较详细可以看看。

其实,动态库的加载需要对PE格式有个清楚的认识,这样PE加载其实并不难,这里我推荐看雪的《PE权威指南》。


[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费 9
支持
分享
赞赏记录
参与人
雪币
留言
时间
一路南寻
为你点赞!
2025-3-11 01:06
東陽不列山
感谢你的贡献,论坛因你而更加精彩!
2025-2-13 03:43
心游尘世外
为你点赞!
2024-9-24 06:15
QinBeast
为你点赞!
2024-9-23 02:20
飘零丶
感谢你的贡献,论坛因你而更加精彩!
2024-6-26 01:59
shinratensei
为你点赞!
2024-6-25 04:31
PLEBFE
为你点赞~
2023-2-15 01:04
covccc
为你点赞~
2022-12-8 10:37
mb_gpolcyxh
为你点赞~
2021-4-8 17:07
最新回复 (35)
雪    币: 11484
活跃值: (3425)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
2
感觉可以精华了。哈哈
2017-5-22 08:05
0
雪    币: 1988
活跃值: (1561)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
这个是老东西了,老技术了
2017-5-22 09:13
0
雪    币: 1380
活跃值: (116)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
basketwill 这个是老东西了,老技术了
的确,但是不是说老技术就没有利用价值了。这不是最近那个病毒还在用么?给不会的人分享一下么
2017-5-22 09:28
0
雪    币: 55923
活跃值: (21565)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
basketwill 这个是老东西了,老技术了
论坛欢迎基础的东西,这也是给新人一个学习的机会
2017-5-22 09:38
0
雪    币: 1112
活跃值: (184)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
支持
2017-5-22 09:40
0
雪    币: 55923
活跃值: (21565)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
joker陈 感觉可以精华了。哈哈
如果再加上一些文字解说,就可以精华了。
2017-5-22 09:40
0
雪    币: 573
活跃值: (267)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
basketwill 这个是老东西了,老技术了
问题是老技术  也没几个人  愿意分享出来啊。。。。论坛我搜过  没几个  相关话题。
2017-5-22 19:04
0
雪    币: 1042
活跃值: (630)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9

注释很完整~感觉可以得精华。

2017-5-22 23:39
0
雪    币: 1849
活跃值: (68)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
像这种,想搜的时候都找不到,感谢分享,减少学习时间成本。
2017-5-23 16:03
0
雪    币: 3917
活跃值: (2242)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
11
kanxue 如果再加上一些文字解说,就可以精华了。
用老外的代码却一点都不提出处,https://github.com/fancycode/MemoryModule
2017-5-23 16:21
0
雪    币: 55923
活跃值: (21565)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
12
lynnux 用老外的代码却一点都不提出处,https://github.com/fancycode/MemoryModule
这个观点同意,大家引用别人的资料,参考资料里提一下。
2017-5-23 16:24
0
雪    币: 1380
活跃值: (116)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
13
lynnux 用老外的代码却一点都不提出处,https://github.com/fancycode/MemoryModule
这个我忘了,的确是用的老外的资料,谢谢提醒
2017-5-23 18:32
0
雪    币: 26
活跃值: (79)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
注入弹个hello  world框,都算精华了。
2017-5-24 10:35
0
雪    币: 7
活跃值: (418)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
很好,拼最后,大家都是拼谁对基础理解更透,细节更清楚。
技术本身没有过时的。
2017-5-24 11:19
0
雪    币: 615
活跃值: (750)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
16
这样我们便无法查到它的加载模块与函数地址。    好处就是这个,学习下,不错,感谢楼主分享出来
2017-5-26 06:23
0
雪    币: 10090
活跃值: (2947)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
跟着病毒学技术---学习WannaCry自己实现LoadLibrary
2017-5-26 23:15
0
雪    币: 3609
活跃值: (3142)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
18
不错  鼓励一下
2017-9-1 20:52
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
不错!!!!!!!
2017-9-1 21:48
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
研究学习
2017-9-4 09:11
0
雪    币: 1486
活跃值: (1135)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
不错的东西。病毒代表技术的水平高低
2017-9-5 09:07
0
雪    币: 1790
活跃值: (4389)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
22
              MemoryModule的实现有些问题,在加载VMPROTECT3.0以前加壳的DLL(启用内存保护功能)会
报文件被修改从而DLLMAIN初始化失败。
2017-9-5 18:03
0
雪    币: 29
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
好东西,学到很多
2017-12-7 13:54
0
雪    币: 300
活跃值: (2697)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
mark
2017-12-7 17:29
0
雪    币: 965
活跃值: (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
支持
2017-12-9 11:33
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册