首页
社区
课程
招聘
为什么这个程序的OD入口与其它加这个壳的程序不一样?
发表于: 2009-12-16 16:45 3118

为什么这个程序的OD入口与其它加这个壳的程序不一样?

2009-12-16 16:45
3118
附件里的程序加的是Enigma protector 1.xx的壳,为什么与加这个壳的其它程序OD入口处不一样呢?我在网上找脱壳的文章,入口处全部是pushad开始的,而这个程序是这样的:

0040BAC3 > /EB 10           JMP SHORT 文件生成.0040BAD5  //这个就是入口了
0040BAC5   |66:623A         BOUND DI,DWORD PTR DS:[EDX]
0040BAC8   |43              INC EBX
0040BAC9   |2B2B            SUB EBP,DWORD PTR DS:[EBX]
0040BACB   |48              DEC EAX
0040BACC   |4F              DEC EDI
0040BACD   |4F              DEC EDI
0040BACE   |4B              DEC EBX
0040BACF   |90              NOP

脱不了壳只能带壳分析了
下面是简单的分析:

1、运行程序,弹出注册对话框,只有注册才能进入主界面,下面是注册关键部分。

00456013    6A 00           PUSH 0
00456015    53              PUSH EBX
00456016    8BD8            MOV EBX,EAX
00456018    33C0            XOR EAX,EAX
0045601A    55              PUSH EBP
0045601B    68 7E604500     PUSH 文件生成.0045607E
00456020    64:FF30         PUSH DWORD PTR FS:[EAX]
00456023    64:8920         MOV DWORD PTR FS:[EAX],ESP
00456026    8D55 FC         LEA EDX,DWORD PTR SS:[EBP-4]
00456029    8B83 08030000   MOV EAX,DWORD PTR DS:[EBX+308]
0045602F    E8 4CF1FDFF     CALL 文件生成.00435180    //读取假注册码(我输入的注册码)
00456034    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
00456037    E8 D0E2FAFF     CALL 文件生成.0040430C
0045603C    50              PUSH EAX
0045603D    68 8C604500     PUSH 文件生成.0045608C                       ; ASCII "test"
00456042    E8 55FDFFFF     CALL 文件生成.00455D9C    //关键CALL,对比对比注册码是否正确,进入
00456047    84C0            TEST AL,AL
00456049    74 13           JE SHORT 文件生成.0045605E  //关键跳转,注册码错误则实现跳转
0045604B    B8 9C604500     MOV EAX,文件生成.0045609C
00456050    E8 BF26FDFF     CALL 文件生成.00428714  //弹出“注册成功“对话框
00456055    8BC3            MOV EAX,EBX
00456057    E8 60B1FFFF     CALL 文件生成.004511BC
0045605C    EB 0A           JMP SHORT 文件生成.00456068
0045605E    B8 C4604500     MOV EAX,文件生成.004560C4
00456063    E8 AC26FDFF     CALL 文件生成.00428714  //弹出“注册失败”对话框
00456068    33C0            XOR EAX,EAX
0045606A    5A              POP EDX
0045606B    59              POP ECX
0045606C    59              POP ECX
0045606D    64:8910         MOV DWORD PTR FS:[EAX],EDX
00456070    68 85604500     PUSH 文件生成.00456085
00456075    8D45 FC         LEA EAX,DWORD PTR SS:[EBP-4]
00456078    E8 CFDDFAFF     CALL 文件生成.00403E4C
0045607D    C3              RETN

2、进入上面的关键CALL后,来到这里

0052B8F4    55              PUSH EBP
0052B8F5    8BEC            MOV EBP,ESP
0052B8F7    53              PUSH EBX
0052B8F8    56              PUSH ESI
0052B8F9    57              PUSH EDI
0052B8FA    8B75 0C         MOV ESI,DWORD PTR SS:[EBP+C]
0052B8FD    8B5D 08         MOV EBX,DWORD PTR SS:[EBP+8]
0052B900    33FF            XOR EDI,EDI
0052B902    56              PUSH ESI
0052B903    53              PUSH EBX
0052B904    E8 5FEEFFFF     CALL 文件生成.0052A768   //关键,里面的第三个CALL就是算法分析
0052B909    83F8 01         CMP EAX,1
0052B90C    75 09           JNZ SHORT 文件生成.0052B917  //如果注册码不正确则实现跳转
0052B90E    56              PUSH ESI
0052B90F    53              PUSH EBX
0052B910    E8 0FF2FFFF     CALL 文件生成.0052AB24
0052B915    8BF8            MOV EDI,EAX
0052B917    8BC7            MOV EAX,EDI
0052B919    5F              POP EDI
0052B91A    5E              POP ESI
0052B91B    5B              POP EBX
0052B91C    5D              POP EBP
0052B91D    C2 0800         RETN 8

因本人太菜,没法搞清注册算法;软件是重启较验型,修改上而的关键跳转只提示注册成功,但无法进入程序界面,而且重启程序的时候还是会出现注册对话框。希望高手能看一下。谢谢!

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
pushad只有一部分,不信,你看穿山甲的壳看看,还有很多,
你只看到一部分

结贴率太低了
2009-12-16 18:32
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3


成功

利用内存补丁
上传的附件:
2009-12-16 21:31
0
雪    币: 51
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
孤独兄,能贴出破解过程或关键跳吗?
2009-12-16 21:55
0
游客
登录 | 注册 方可回帖
返回
//