首页
社区
课程
招聘
[求助]还是那个壳还是弄不出来
发表于: 2009-12-7 22:37 2980

[求助]还是那个壳还是弄不出来

2009-12-7 22:37
2980
00B34988    55              push    ebp                              ; HexCmp.005D9432
00B34989    8BEC            mov     ebp, esp
00B3498B    83C4 B4         add     esp, -4C
00B3498E    B8 5848B300     mov     eax, 0B34858
00B34993    E8 8006FFFF     call    00B25018
00B34998    E8 73E9FEFF     call    00B23310
00B3499D    8D40 00         lea     eax, dword ptr [eax]
00B349A0    0000            add     byte ptr [eax], al

用peid看到是这个ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov
dump出来修复不了
import的OEP设置成00734988,ITA autosearch显示 invalid OEP!it does not match in the process memory
哪里出问题了

============================================================
新问题:
还是这个呀,又遇到一个同样类似壳的软件,那个被人脱掉了呀,但是没有说怎么脱掉的……
现在拿出来继续弄
现在我才知道是那些异常被strongod给忽略了……
但是最后一次的异常是这样的
0012FF60   0012FFE0  指向下一个 SEH 记录的指针
0012FF64   00B22D21  SE处理程序

在地址00B22D21下断点F2,Shift+F9断下来了,可是问题又出来了
就这么几行
00B22D21    8B4424 0C       mov     eax, dword ptr [esp+C]
00B22D25    8380 B8000000 0>add     dword ptr [eax+B8], 2
00B22D2C    C740 18 0000000>mov     dword ptr [eax+18], 0
00B22D33    31C0            xor     eax, eax
00B22D35    C3              retn

这样是不是不处理异常?retn后就回到ntdll了然后直接几个指令之后就sysenter了
上次异常时候seh链是这样的
0012FF60   0012FFE0  指向下一个 SEH 记录的指针
0012FF64   00B22D21  SE处理程序
……
……
0012FFE0   FFFFFFFF  SEH 链尾部
0012FFE4   7C839AD8  SE处理程序
7C839AD8 在kernel32里,F2下断也不会停在这儿

还有呀,那个od怎么就不能用那个执行到用户代码了?有时候能用,有时候不能用

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
最后好附件发上来看看。。。
2009-12-8 00:45
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还有啊,我继续往下找的时候,到这个代码
00B333D5    64:8920         mov     dword ptr fs:[eax], esp
00B333D8    3100            xor     dword ptr [eax], eax
00B333DA   /EB 01           jmp     short 00B333DD

到第二行(就是那个xor命令那里)再单步就进ntdll的代码了,这个是怎么进去的???
进去之后是这个
7C92E480    8B1C24          mov     ebx, dword ptr [esp]
7C92E483    51              push    ecx
7C92E484    53              push    ebx
7C92E485    E8 E6C40100     call    7C94A970
2009-12-8 10:08
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
1楼的问题
aspr会偷OEP开始的大段代码到动态内存区间,  dump下来要补oep区段和sdk区段(如果有)的

3楼的问题.
到   xor     dword ptr [eax], eax 时, 你看下eax的值, 应该是0了,  那里发生异常, 要进seh了.
2009-12-8 10:22
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
哦,那个是0了,我刚想明白,后面还有好多这个异常,好像还没脱掉呢,那些系统函数的调用都是jmp过去的,应该还是壳的代码吧,继续单步跟踪
这个壳对新手是不是太难了点?
2009-12-8 10:46
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
asp壳好像不难吧。。。
2009-12-8 10:56
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
帮我弄一下??
2009-12-8 11:02
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
单步一个 sysenter命令的时候飞了,为什么呀,前几个这个命令单步还能回到程序代码,为什么这次飞了呢?
2009-12-8 11:20
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
网上有绿色破解版。
2009-12-8 13:13
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我知道呀,不会是让我看破解版的代码吧……
2009-12-8 16:43
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
拿去用就好了,不用破了,如果想学习,找几个网上还没有破解的才有成就感
2009-12-8 16:46
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
看来是没人帮我了,现在想单步走都没办法了,哎~
2009-12-8 18:19
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
好像就是那个飞了的sysenter把代码释放的,怎么也停不下来呢,哎,试一下硬件断点去
2009-12-8 22:43
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
试了一下,硬件断点断不下来……(下断点的地方的内存确实被修改了呀)
这是什么原因?那个执行到用户代码也试过了,跟踪步入试过了,单步最先试的,都不行,这个命令是干什么用的啊,怎么就飞了呢???
2009-12-8 22:57
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
刚用GetModuleHandleA断下来了,本来想可以断到释放的代码的开始几行,但是却停到了解码部分,然后又是不断地循环解码……
今天睡,明天继续跟下去
2009-12-8 23:28
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
sysenter进内核了
2009-12-14 10:19
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
还是这个呀,又遇到一个同样类似壳的软件,那个被人脱掉了呀,但是没有说怎么脱掉的……
现在拿出来继续弄
现在我才知道是那些异常被strongod给忽略了……
但是最后一次的异常是这样的
0012FF60   0012FFE0  指向下一个 SEH 记录的指针
0012FF64   00B22D21  SE处理程序

在地址00B22D21下断点F2,Shift+F9断下来了,可是问题又出来了
就这么几行
00B22D21    8B4424 0C       mov     eax, dword ptr [esp+C]
00B22D25    8380 B8000000 0>add     dword ptr [eax+B8], 2
00B22D2C    C740 18 0000000>mov     dword ptr [eax+18], 0
00B22D33    31C0            xor     eax, eax
00B22D35    C3              retn

这样是不是不处理异常?retn后就回到ntdll了然后直接几个指令之后就sysenter了
上次异常时候seh链是这样的
0012FF60   0012FFE0  指向下一个 SEH 记录的指针
0012FF64   00B22D21  SE处理程序
……
……
0012FFE0   FFFFFFFF  SEH 链尾部
0012FFE4   7C839AD8  SE处理程序
7C839AD8 在kernel32里,F2下断也不会停在这儿

还有呀,那个od怎么就不能用那个执行到用户代码了?有时候能用,有时候不能用
2010-2-12 15:30
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
说一下进展吧,最后一次异常在代码段下断点,结果断下来了,然后dump,然后用Inport REC弄了一下(我也不知道怎么弄的,反正都是yes了)只有kernel里的函数,修复dump还是运行不了,用peid和fi查壳是Borland C++ 1999
这个是c++的,用fastscanner居然是PELock 1.0x >> *$igBy Ahmed18,晕死
今晚不玩了,明天还要继续找原因

问一下呀,那个pe文件加载的时候各个寄存器的值是固定的吗?好像dump修复后载入,这些寄存器的值不一样,不知道怎么办了
2010-2-12 18:09
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
今天弄了一天了,特郁闷,不知道为什么有时候能断下来有时候就断不下来还是找不到oep……
2010-2-13 16:52
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
晕~刚搜了一下boland才知道od就是这个的,载入一看,断下来的就是oep,看来这个壳子的问题是没有被修复,接着弄……
2010-2-13 17:55
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
首先你这个东西是ASprotect ver 2.1的 不是1.X的 我看了下 你上传的是你脱坏了的 如果有原文件的话我可以帮你脱下
2010-2-16 04:52
0
游客
登录 | 注册 方可回帖
返回
//