首页
社区
课程
招聘
[原创][小程序大名堂]--跨进程修改内存
发表于: 2015-12-15 13:01 7564

[原创][小程序大名堂]--跨进程修改内存

2015-12-15 13:01
7564

重要的事情说一遍:


[*]最近在15pb学习,感悟挺多,总结一下....(逃

                              
-------------------
在时间充裕的情况下还是建议尽量用OD去分析   这能在很大程度上提升自己的逆向功力  我自己深有体会   实在是没办法再用IDA  
比如说 “老板叫你在xxxx时间内搞定”  时间紧迫 你为了提升技术 就用OD去逆打死也不用ida 那这也没必要 饭碗要紧。。。

-------------------------------   

此程序是要修更为自己的姓名和年龄。


准备工具:pidiy 、 OD 、 ida 、 vs2012

拖入PEID :


查看区段表 发现很乱  猜测是加壳 而且是自己写的 


查看PE细节 发现tls函数 要警惕 先去复制回调表 :00416004


查看输入表 找到了我们的老朋友“SetUnhandledExceptionFilter”异常函数  :

-------------------------------------------

拖入OD  ctrl+g  -ctrl+v粘贴回调表地址 回车 :


数据窗口 右键-整数-地址 查看TLS回调函数做了些什么(PS: 我分析了 什么也没做 就不进去看了):


我们来整整我们的老朋友的小伙伴“IsDebuggerPresent”(在这里就不做重点讲 已经讲过很多次了 而且有插件)  
ctrl+g  查找函数“IsDebuggerPresent ” 通过栈回溯找到地址“004014AA”  修改并保存文件


我们知道这是一个控制台程序 那么它的输出方式肯定是printf相关!我们就 
ctrl+g  - printf - 回车  栈回溯来到地址“00401372” 

我们分析得到:
从地址“0040c000”处开始拷贝1A(25)个字符[edi]   edi来自edx  edx又为[ebp-32]的地址 即最终通过修改[ebp-32]来加密 [代码红色高亮]

00401372  /$  55            push ebp
00401373  |.  89E5          mov ebp,esp
00401375  |.  57            push edi
00401376  |.  56            push esi
00401377  |.  53            push ebx
00401378  |.  83EC 3C       sub esp,0x3C
0040137B  |.  8D55 CE       lea edx,dword ptr ss:[ebp-0x32]                     ;  将[ebp-32]处地址给edx 即EDX=0029FED6
0040137E  |.  BB 00C04000   mov ebx,task.0040C000
[COLOR="DarkRed"][B]00401383  |.  B8 1A000000   mov eax,0x1A
00401388  |.  89D7          mov edi,edx
0040138A  |.  89DE          mov esi,ebx
0040138C  |.  89C1          mov ecx,eax[/B][/COLOR]
0040138E  |.  F3:A4         rep movs byte ptr es:[edi],byte ptr ds:[esi]        ;  拷贝字符 将[esi]的内容给[edi]
00401390  |.  C74424 08 190>mov dword ptr ss:[esp+0x8],0x19                     ;  [ESP+0X8]=0X19
00401398  |.  C74424 04 D9F>mov dword ptr ss:[esp+0x4],-0x27                    ;  [ESP+0X4]=0XFFFFFFD9
004013A0  |.  8D45 CE       lea eax,dword ptr ss:[ebp-0x32]                     ;  把[esp-32]的地址给 eax EAX=0029FED6
004013A3  |.  890424        mov dword ptr ss:[esp],eax                          ;  [ESP]=0029FED6
004013A6  |.  E8 89FFFFFF   call task.00401334                                  ;  进行加密
004013AB  |.  8D45 CE       lea eax,dword ptr ss:[ebp-0x32]                     ; |
004013AE  |.  890424        mov dword ptr ss:[esp],eax                          ; |
004013B1  |.  E8 FEA70000   call <jmp.&msvcrt.printf>                           ; \printf
004013B6  |.  83C4 3C       add esp,0x3C
004013B9  |.  5B            pop ebx
004013BA  |.  5E            pop esi
004013BB  |.  5F            pop edi
004013BC  |.  5D            pop ebp
004013BD  \.  C3            retn
00401334  /$  55            push ebp

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

上传的附件:
收藏
免费 3
支持
分享
最新回复 (8)
雪    币: 133
活跃值: (233)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
强迫症看到工程及代码中的中文命名表示很抓狂,
2015-12-15 13:22
0
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
3
哈哈 表示习惯就好~
2015-12-15 13:27
0
雪    币: 334
活跃值: (924)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
我们公司新招了两个。。
就是15pb出来的。。 - -
2015-12-15 14:05
0
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
5
估计6、7期的喽...
2015-12-15 15:13
0
雪    币: 256
活跃值: (48)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
15pb好像不错啊
2015-12-16 06:59
0
雪    币: 2702
活跃值: (2092)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
很不错,学习了。
2015-12-16 13:55
0
雪    币: 9072
活跃值: (1615)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
8
请问,15pb是?
2019-9-8 16:30
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
学习了 thank you  
2019-9-8 19:44
0
游客
登录 | 注册 方可回帖
返回
//