首页
社区
课程
招聘
[旧帖] [求助]不知道这样的基址对不对 0.00雪花
发表于: 2013-7-14 01:57 1821

[旧帖] [求助]不知道这样的基址对不对 0.00雪花

2013-7-14 01:57
1821
0042A946   > /56            push    esi
0042A947   . |8D8C24 A00500>lea     ecx, dword ptr [esp+5A0]
0042A94E   . |E8 FD090100   call    0043B350
0042A953   . |8B4D 48       mov     ecx, dword ptr [ebp+48]          ;
0042A956   . |8B00          mov     eax, dword ptr [eax]
0042A958   . |56            push    esi
0042A959   . |8B89 C8020000 mov     ecx, dword ptr [ecx+2C8]
0042A95F   . |8D14C9        lea     edx, dword ptr [ecx+ecx*8]
0042A962   . |8B4D 4C       mov     ecx, dword ptr [ebp+4C]
0042A965   . |8B54D1 08     mov     edx, dword ptr [ecx+edx*8+8]
0042A969   . |8D8C24 A00500>lea     ecx, dword ptr [esp+5A0]
0042A970   . |8944B2 FC     mov     dword ptr [edx+esi*4-4], eax
0042A974   . |E8 D7090100   call    0043B350
0042A979   . |8B4D 48       mov     ecx, dword ptr [ebp+48]
0042A97C   . |8B00          mov     eax, dword ptr [eax]
0042A97E   . |46            inc     esi
0042A97F   . |8B89 C8020000 mov     ecx, dword ptr [ecx+2C8]
0042A985   . |8D14C9        lea     edx, dword ptr [ecx+ecx*8]
0042A988   . |8B4D 4C       mov     ecx, dword ptr [ebp+4C]
0042A98B   . |8B54D1 08     mov     edx, dword ptr [ecx+edx*8+8]
0042A98F   . |8D8C24 9C0500>lea     ecx, dword ptr [esp+59C]
0042A996   . |8944B2 2C     mov     dword ptr [edx+esi*4+2C], eax
0042A99A   . |E8 91090100   call    0043B330
0042A99F   . |3BF0          cmp     esi, eax
0042A9A1   .^\7C A3         jl      short 0042A946

我要找 红色指令中的 edx+esi*4+2C的来源,其中的esi是数组的循环变量 这个不用管他。 这是我找的 [[[ebp+4C]+[[[ebp+48]+2C8]+[[ebp+48]+2C8]*8]*8+8]+esi*4+2C]  
请问这样对吗,如果对 但是EBP的值上哪找啊

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
打断点往上查看走过了哪些代码,才能判断edx+esi*4+2C中edx的来源,我感觉你找的不是很对
2013-7-14 03:56
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
他的来源是eax,所以你应该寻找的是eax而不是修改以后的值!
2013-7-14 08:33
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
下断是断在 倒数第3行的 0042A99A   . |E8 91090100   call    0043B330
2013-7-14 10:56
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你的意思是这里的ebp=eax吗
2013-7-14 10:57
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
mov [xxxx],eax  你应该找eax的来源,不是前面的!
eax  副职给了他们,那么你修改eax的值即可咯!
2013-7-14 21:04
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=MarvelStu;1198867]mov [xxxx],eax  你应该找eax的来源,不是前面的!
eax  副职给了他们,那么你修改eax的值即可咯!...[/QUOTE]
0042A996   . |8944B2 2C     mov     dword ptr [edx+esi*4+2C], eax

这个地址 [edx+esi*4+2C] ,其实是一个数组地址,ESI是循环的变量 , eax是每次要写入数组的值。

我现在就是要找到这个 数组的地址。
2013-7-15 02:18
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
ebp可以看成是当前的栈底,内容是esp给予的,是当前过程操作栈来用的,第一变量是ebp - 4  第二是 ebp - 8   参数是  ebp + 8  ,这个ebp的内容呢是不固定的,只是临时使用的!
没看错的话,0042a98f  才是一个数组指针!

如果你只是要找他的地址的话,edx + esi * xxxxxxxx 的话,修改0042a996 为  push 需要跳转的地址 ret    然后在自己的过程中补一句   
int* p = 0x42a99f;
_asm {     
             mov     dword ptr [edx+esi*4+2C], eax
             mov    xxxxxxxcxxx
             call      address
             …
             jmp p
}

这样就可以得到他的地址
2013-7-15 08:48
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
再给回复一个吧,这个是一个数组的循环遍历,你要分析出它的数据结构才能写出表达式。我简单的分析一下:
0042A97E   . |46            inc     esi  //每次esi加1,说明esi是在变的
再看下面的语句:
0042A99F   . |3BF0          cmp     esi, eax   //这一句比较了esi与eax的,说明eax存的是数组最大范围
0042A9A1   .^\7C A3         jl      short 0042A946 //如果esi的值没有超过最大最则往上跳,继续循环
你要找的是红色指令中的 edx+esi*4+2C的来源,你只要找到edx就行了,看下面:
0042A979   . |8B4D 48       mov     ecx, dword ptr [ebp+48]
0042A97C   . |8B00          mov     eax, dword ptr [eax]
0042A97E   . |46            inc     esi
0042A97F   . |8B89 C8020000 mov     ecx, dword ptr [ecx+2C8]
0042A985   . |8D14C9        lea     edx, dword ptr [ecx+ecx*8]
0042A988   . |8B4D 4C       mov     ecx, dword ptr [ebp+4C]
0042A98B   . |8B54D1 08     mov     edx, dword ptr [ecx+edx*8+8]
可以得出edx=[[ebp+0x4c]+([[ebp+48] +2C8]+[[ebp+48] +2C8] *8)*8+8]
接着这里面只涉及到了[ebp+0x48]和[ebp+0x4c]的来源,这个需要返回上一层的代码进行查找它的来源,这个需要靠你自己去找了,找到它是值什么传进来就行,我推测这两个都是对象指针,具体你自己在分析一下吧
2013-7-27 04:54
0
游客
登录 | 注册 方可回帖
返回
//