首页
社区
课程
招聘
ESP定律快速脱不知名壳。另:如何查找delphi程序中被加密的字符
发表于: 2005-9-5 09:39 5882

ESP定律快速脱不知名壳。另:如何查找delphi程序中被加密的字符

2005-9-5 09:39
5882
ESP定律快速脱不知名壳。另:如何查找delphi程序中被加密的字符串?! 2005-8-29 02:53 PM
【楼主】
软件下载:
http://baby.718000.net/baby/showdown.asp?soft_id=1

1.用PEID查壳Nothing found *,FI显示>>PE Win GUI,晕,不管它;
2.用OD载入:
0040101B >- E9 DBAB0E00     jmp jdbb_tj.004EBBFB       //停在这里,F8走一步
00401020    B4 09           mov ah,9
00401022    BA 0B01CD21     mov edx,21CD010B
00401027    B4 4C           mov ah,4C
00401029    CD 21           int 21
0040102B    70 61           jo short jdbb_tj.0040108E

004EBBFB    9C              pushfd                                       //到这里,F8走两步
004EBBFC    60              pushad
004EBBFD    E8 00000000     call jdbb_tj.004EBC02      //到这里,寄存器ESP突变,试试用
                                                           ESP定律脱壳,在ESP处下硬件
                                                           访问-Word断点,F9运行
004EBC02    5D              pop ebp   
004EBC03    B8 07000000     mov eax,7
004EBC08    2BE8            sub ebp,eax
004EBC0A    8DB5 41FBFFFF   lea esi,dword ptr ss:[ebp-4BF]
004EBC10    8B06            mov eax,dword ptr ds:[esi]
004EBC12    83F8 00         cmp eax,0
004EBC15    74 11           je short jdbb_tj.004EBC28
004EBC17    8DB5 69FBFFFF   lea esi,dword ptr ss:[ebp-497]
004EBE74    9D              popfd                       //到这里,下面很像出口,F8
                                                          两步看看
004EBE75  - E9 DABFFCFF     jmp jdbb_tj.004B7E54
004EBE7A    8BB5 F5FAFFFF   mov esi,dword ptr ss:[ebp-50B]
004EBE80    0BF6            or esi,esi
004EBE82    0F84 97000000   je jdbb_tj.004EBF1F
004EBE88    8B95 FDFAFFFF   mov edx,dword ptr ss:[ebp-503]
004EBE8E    03F2            add esi,edx
004EBE90    833E 00         cmp dword ptr ds:[esi],0
004EBE93    75 0E           jnz short jdbb_tj.004EBEA3
004EBE95    837E 04 00      cmp dword ptr ds:[esi+4],0
004EBE99    75 08           jnz short jdbb_tj.004EBEA3
004EBE9B    837E 08 00      cmp dword ptr ds:[esi+8],0
004EBE9F    75 02           jnz short jdbb_tj.004EBEA3
004EBEA1    EB 7A           jmp short jdbb_tj.004EBF1D

004B7E54    55              push ebp                        //哈哈,就是它了(OEP),在这里转存
004B7E55    8BEC            mov ebp,esp
004B7E57    83C4 F0         add esp,-10
004B7E5A    B8 3C7A4B00     mov eax,jdbb_tj.004B7A3C
004B7E5F    E8 C8E4F4FF     call jdbb_tj.0040632C
004B7E64    A1 809F4B00     mov eax,dword ptr ds:[4B9F80]
004B7E69    8B00            mov eax,dword ptr ds:[eax]
004B7E6B    E8 6C5AFCFF     call jdbb_tj.0047D8DC
004B7E70    A1 809F4B00     mov eax,dword ptr ds:[4B9F80]
004B7E75    8B00            mov eax,dword ptr ds:[eax]
004B7E77    BA B47E4B00     mov edx,jdbb_tj.004B7EB4

晕,发现程序不能运行,不要紧,请出ImportREC,选择jdbb_tj.exe,输入刚才的OEP,获得输入信息,ok,所有函数有效,修理抓取文件。
好,可以运行了。
再查壳:Borland Delphi 6.0 - 7.0

反汇编,准备爆破。问题出现了:
这个简单宝贝1.25以前的版本都能找到出错的字符串(“登陆错误”),但从1.26开始却怎么也找不到了(w32dasm,od,dede都试过了)。哪位高手指点一下迷津,小弟多谢了!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个程序现在能下载到的是1.28版,字符串还是加密的,有人叫它作“动态生成”,不过还没有发现有人能爆破,请各位高手大大指点一下。
2005-9-5 09:43
0
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
3
为什么非要查找字符串,用API下断,或者DEDE对付
2005-9-5 11:08
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
嘻嘻,小弟是新手,还不太会下断,不知道下什么断点。
2005-9-5 12:32
0
雪    币: 212
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
1.修复资源试试!
2.用dede得到相关事件的地址,然后用od在其地址下断!
2005-9-5 16:45
0
游客
登录 | 注册 方可回帖
返回
//