首页
社区
课程
招聘
用OD学习LoadPE内存转存方法
发表于: 2008-11-21 00:22 12321

用OD学习LoadPE内存转存方法

2008-11-21 00:22
12321
00402C2C |. E8 4B560100   call <jmp.&procs.GetProcessPath>
00402C31 |. EB 17         jmp short 00402C4A
00402C33 |> 8B4C24 18     mov ecx, dword ptr [esp+18]
00402C37 |. 8B5424 30     mov edx, dword ptr [esp+30]
00402C3B |. 8D8424 B40100>lea eax, dword ptr [esp+1B4]
00402C42 |. 50            push eax
00402C43 |. 51            push ecx
00402C44 |. 52            push edx
00402C45 |. E8 3E560100   call <jmp.&procs.GetModulePath>
|> push 0 ; /pOverlapped = NULL
|> push ecx ; |pBytesRead
|> lea edx,dword ptr [esp+1C] ; |
|> push 40 ; |BytesToRead = 40 (64.)
|> push edx ; |Buffer
|> push esi ; |hFile
|> call edi ; \ReadFile
|> test eax, eax
|> je 00406CFE
|> cmp word ptr [esp+14], 5A4D           ;比较MZ 
|> je short 00406C8C
]
|. 6A 00 push 0
|. 51 push ecx
|. 8D5424 5C lea edx, dword ptr [esp+5C]
|. 68 F8000000 push 0F8
|. 52 push edx
|. 56 push esi
|. FFD7 call edi ; ReadFile
|. 85C0 test eax, eax
|. 74 48 je short 00406CFE
|. 817C24 54 50450000 cmp dword ptr [esp+54], 4550    ; 比较PE标志
|. 75 3E jnz short 00406CFE

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

收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
鼓励原创,支持自己动手分析。

写得非常好,不要觉得技术含量低,总会对人有帮助的。
2008-11-21 00:24
0
雪    币: 47147
活跃值: (20405)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
能不能把图中的汇编代码再帖一份出来?这样整理到论坛精华集时,就收集文本了,精华集的何种会小些。
2008-11-21 09:09
0
雪    币: 236
活跃值: (16)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
谢谢老大的提醒 第一次写有点笨拙了  今天有时间整理一下
2008-11-21 23:21
0
雪    币: 236
活跃值: (16)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
谢谢! 我会努力的
2008-11-22 00:26
0
雪    币: 131
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
以下几处不懂
“往上分析,就看见了,LordPE通过”
都从00406c23到00402C2C了 ,还往上?翻多久才翻到啊.....
2008-11-22 13:38
0
雪    币: 236
活跃值: (16)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
前一个是堆栈
你返回之后可以分析程序的流程呀
2008-11-22 19:02
0
雪    币: 8159
活跃值: (3321)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习了,虽然看不懂,但是要收藏起来慢慢看
2008-11-22 19:12
0
雪    币: 236
活跃值: (16)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
其实没什么 就是又2个API :CreateFile 和ReadFile 知道了在两个函数 再对着PE结构就可以看懂了
2008-11-23 09:33
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
00406E22  |.  E8 55140100   call    <jmp.&procs.GetProcessPath>
00406E27  |.  85C0          test    eax, eax
00406E29  |.  74 30         je      short 00406E5B
00406E2B  |.  EB 17         jmp     short 00406E44
00406E2D  |>  8B8424 800100>mov     eax, dword ptr [esp+180]
00406E34  |.  8D5424 70     lea     edx, dword ptr [esp+70]
00406E38  |.  52            push    edx
00406E39  |.  50            push    eax
00406E3A  |.  53            push    ebx
00406E3B  |.  E8 48140100   call    <jmp.&procs.GetModulePath>

怎么分析到的是00406E22而不是00402C2C |. E8 4B560100   call <jmp.&procs.GetProcessPath>
虽然两处代码一样
2008-11-24 12:27
0
游客
登录 | 注册 方可回帖
返回
//