吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3200|回复: 16

[原创逆向图文] 修复LoadPe缓冲区溢出问题

[复制链接]
LYQingYe 发表于 2017-8-22 00:45 | 显示全部楼层 |阅读模式

打开LoadPe的时候发现闪退了
TIM截图20170821235605.png

//随手用VS附加下,查看调用堆栈 , 发现返回地址异常,说明堆栈溢出了,找到上层调用函数 0x4058af ,OD下断
2.png

//断下后进入 函数0x4058af

3.png

//发现执行执行完 GetNunberOfProcesses 程序 EIP就会错误 , 进入函数GetNunberOfProcesses
6.png


//程序会执行EnumProcesses EAX指向返回的进程PID数组, ECX指向返回的实际所用内存大小 ,在我的电脑上 [ECX]=0x2BC


7.png


//清楚的看到 执行完 函数 ,返回时,发现 返回地址 已经被PID数组覆盖 ,解决方法 , 修改堆栈大小,在函数分配堆栈和回收堆栈 时 修改 堆栈大小即可, 我系统开的进程比较多 ,这里 我给3000恒大小的堆栈,修改完 复制到可执行文件 ,替换原先的 pROCS.DLL即可


[Asm] 纯文本查看 复制代码
20001200 >/$  A1 FC240020   mov eax,dword ptr ds:[0x200024FC]
20001205      81EC 00300000 sub esp,0x3000
2000120B  |.  85C0          test eax,eax
2000120D  |.  56            push esi
2000120E  |.  75 7D         jnz XPROCS.2000128D
20001210  |.  6A 00         push 0x0
20001212  |.  6A 02         push 0x2
20001214  |.  FF15 E8240020 call dword ptr ds:[0x200024E8]
2000121A  |.  8BF0          mov esi,eax
2000121C  |.  83FE FF       cmp esi,-0x1
2000121F  |.  75 0A         jnz XPROCS.2000122B
20001221  |.  33C0          xor eax,eax
20001223  |.  5E            pop esi
20001224      81C4 00300000 add esp,0x3000
2000122A  |.  C3            retn
2000122B  |>  8D4424 08     lea eax,dword ptr ss:[esp+0x8]
2000122F  |.  C74424 08 280>mov dword ptr ss:[esp+0x8],0x128
20001237  |.  50            push eax
20001238  |.  56            push esi
20001239  |.  FF15 DC240020 call dword ptr ds:[0x200024DC]
2000123F  |.  85C0          test eax,eax
20001241  |.  75 11         jnz XPROCS.20001254
20001243  |.  56            push esi                                       ; /hObject
20001244  |.  FF15 08100020 call dword ptr ds:[<&KERNEL32.CloseHandle>]    ; \CloseHandle
2000124A  |.  33C0          xor eax,eax
2000124C  |.  5E            pop esi
2000124D      81C4 00300000 add esp,0x3000
20001253  |.  C3            retn
20001254  |>  8D4C24 08     lea ecx,dword ptr ss:[esp+0x8]
20001258  |.  57            push edi
20001259  |.  51            push ecx
2000125A  |.  56            push esi
2000125B  |.  BF 01000000   mov edi,0x1
20001260  |.  FF15 E4240020 call dword ptr ds:[0x200024E4]
20001266  |.  85C0          test eax,eax
20001268  |.  74 11         je XPROCS.2000127B
2000126A  |>  8D5424 0C     /lea edx,dword ptr ss:[esp+0xC]
2000126E  |.  47            |inc edi
2000126F  |.  52            |push edx
20001270  |.  56            |push esi
20001271  |.  FF15 E4240020 |call dword ptr ds:[0x200024E4]
20001277  |.  85C0          |test eax,eax
20001279  |.^ 75 EF         \jnz XPROCS.2000126A
2000127B  |>  56            push esi                                       ; /hObject
2000127C  |.  FF15 08100020 call dword ptr ds:[<&KERNEL32.CloseHandle>]    ; \CloseHandle
20001282  |.  8BC7          mov eax,edi
20001284  |.  5F            pop edi
20001285  |.  5E            pop esi
20001286      81C4 00300000 add esp,0x3000
2000128C  |.  C3            retn
2000128D  |>  8D4424 04     lea eax,dword ptr ss:[esp+0x4]
20001291  |.  8D8C24 300100>lea ecx,dword ptr ss:[esp+0x130]
20001298  |.  50            push eax
20001299  |.  68 00040000   push 0x400
2000129E  |.  51            push ecx
2000129F  |.  FF15 EC240020 call dword ptr ds:[0x200024EC]                 ;  psapi.EnumProcesses
200012A5  |.  85C0          test eax,eax
200012A7  |.  75 08         jnz XPROCS.200012B1
200012A9  |.  5E            pop esi
200012AA      81C4 00300000 add esp,0x3000
200012B0  |.  C3            retn
200012B1  |>  8B4424 04     mov eax,dword ptr ss:[esp+0x4]
200012B5  |.  5E            pop esi
200012B6  |.  C1E8 02       shr eax,0x2
200012B9      81C4 00300000 add esp,0x3000
200012BF  \.  C3            retn




//附一份 DLL
PROCS.zip (4.14 KB, 下载次数: 5)

评分

参与人数 16威望 +1 HB +31 THX +13 收起 理由
DDK4282 + 1 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
虚心学习 + 1
一路走来不容易 + 1
禽大师 + 1
消逝的过去 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
冷亦飞 + 1
fengyuan0128 + 1
清风而已 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
crosssss + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
lies + 1
商都赵永强 + 1 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
海天一色001 + 2 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
Jacky + 3 + 1 不错的“顺手”。确实会出现这个问题,评分送上!
Oneness神 + 1 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
Shark恒 + 1 + 20 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2017-8-22 00:54 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| LYQingYe 发表于 2017-8-22 02:17 | 显示全部楼层

Shark恒 发表于 2017-8-22 00:54
就是这么一个随手,造福大家~ 话说我怎么不报错?

惊现鲨鱼叔,这问题我以前也没出现,可能是是打开的进程多了,LOADPE枚举进程时,覆盖了缓冲区,函数ret地址错误

点评

Shark恒”点评说:
我擦,大家都管我叫叔啊。。我是有多老。。我才13岁。。  详情 回复 发表于 2017-8-22 11:33
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2017-8-22 11:33 | 显示全部楼层

LYQingYe 发表于 2017-8-22 02:17
惊现鲨鱼叔,这问题我以前也没出现,可能是是打开的进程多了,LOADPE枚举进程时,覆盖了缓冲区,函数ret ...

我擦,大家都管我叫叔啊。。我是有多老。。我才13岁。。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Oneness神 发表于 2017-8-22 12:49 | 显示全部楼层

Shark恒 发表于 2017-8-22 11:33
我擦,大家都管我叫叔啊。。我是有多老。。我才13岁。。

13岁是什么鬼,是要我回到娘胎么

点评

Shark恒”点评说:
擦,哈哈哈  详情 回复 发表于 2017-8-22 13:35
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2017-8-22 13:35 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Oneness神 发表于 2017-8-22 17:53 | 显示全部楼层


恒大,我只比你小5岁

点评

Shark恒”点评说:
厉害了,前途无量啊!  详情 回复 发表于 2017-8-22 21:49
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2017-8-22 21:49 | 显示全部楼层

Oneness神 发表于 2017-8-22 17:53
恒大,我只比你小5岁

厉害了,前途无量啊!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
商都赵永强 发表于 2017-9-8 10:30 | 显示全部楼层

英雄出少年
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jiaozihang5+98 发表于 2017-9-11 19:14 | 显示全部楼层

Shark恒 发表于 2017-8-22 21:49
厉害了,前途无量啊!

恒大我真的才1岁啊呵呵呵呵呵
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表