首页
社区
课程
招聘
[原创]金山2007第2阶段第一题
发表于: 2011-7-31 21:11 1762

[原创]金山2007第2阶段第一题

2011-7-31 21:11
1762
没完成需要修改一处,复制长度问题求大牛指教一下,下面是需要修改的地方。
004002DC  |.  2BC8          SUB ECX,EAX                              ;  EAX应该为CB4483A8
004002DE  |.  0FAFC8        IMUL ECX,EAX
004002E1  |.  81E9 9C000000 SUB ECX,9C
004002E7  |.  85C9          TEST ECX,ECX
运行到这里的时候就把eax改为CB4483A8,这个值是暴利枚举来的,
#include<stdio.h>
//暴力枚举复制的文本的长度,对应的反汇编代码如下
//004002D9  |.  6A 1A         PUSH 1A
//004002DB  |.  59            POP ECX
//004002DC  |.  2BC8          SUB ECX,EAX \\ 这里EAX可以是0xCB4483A8
//004002DE  |.  0FAFC8        IMUL ECX,EAX  
//004002E1  |.  81E9 9C000000 SUB ECX,9C
//004002E7  |.  85C9          TEST ECX,ECX
//004002E9  |.  7E 05         JLE SHORT ExploitM.004002F0
//004002EB  |.  8D7D D4       LEA EDI,DWORD PTR SS:[EBP-2C]
//004002EE  |.  F3:A5         REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
//004002F0  |>  5F            POP EDI
//004002F1  |.  33C0          XOR EAX,EAX
//004002F3  |.  5E            POP ESI
//004002F4  |.  C9            LEAVE
//004002F5  \.  C3            RETN

int main(void)
{
        int i=0x1A;
        int a=1;
        while(((i-a)*a)!=0xD0)
        {
                --a;
                //printf("%d\n",a);
        }
        printf("结果是:%X\n",a);
        return 0;
}
这是文件内容的汇编代码:
0012FAB6    1C 1C           SBB AL,1C
0012FAB8    1C 1C           SBB AL,1C
0012FABA    1C 1C           SBB AL,1C
0012FABC    C705 68024000 4>MOV DWORD PTR DS:[400268],214B4F
0012FAC6    C705 60024000 4>MOV DWORD PTR DS:[400260],214B4F
0012FAD0    BE 83034000     MOV ESI,400383
0012FAD5  - FFE6            JMP ESI                                  ; ExploitM.00400383


文件内容是:
        ?h@ OK! ?`@ OK! 緝@ 鎼悙悙悙悙悙悙代 

求大牛指点完成逆推这个活啊!

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回