yuiop114 发表于 2008-12-21 04:35

手动脱掉ASProtect 1.23 RC1,小生进~~

这个是作业,在这里发出来,不知道有没有违规,如果违规了,小生麻烦你删了,我只想问问我这样脱壳正不正确。
如果不违规,就当分享。

00401000 > $68 01804600   push    00468001//OD载入
00401005   .E8 01000000   call    0040100B//忽略内存访问以外的所有异常
0040100A   .C3            retn            //运行程序第27次跑飞
0040100B   ?C3            retn            //因此重载后停留在第26次异常
0040100C   .E7 CC         out   0CC, eax
------------------------------------------------------------------

009B2CD1    3100            xor   dword ptr , eax //第26次异常停留在此处
009B2CD3    64:8F05 0000000>pop   dword ptr fs:
009B2CDA    58            pop   eax
009B2CDB    833D 7C6D9B00 0>cmp   dword ptr , 0
009B2CE2    74 14         je      short 009B2CF8
009B2CE4    6A 0C         push    0C
009B2CE6    B9 7C6D9B00   mov   ecx, 9B6D7C
009B2CEB    8D45 F8         lea   eax, dword ptr
009B2CEE    BA 04000000   mov   edx, 4
009B2CF3    E8 54E1FFFF   call    009B0E4C
009B2CF8    FF75 FC         push    dword ptr
009B2CFB    FF75 F8         push    dword ptr
009B2CFE    8B45 F4         mov   eax, dword ptr
009B2D01    8338 00         cmp   dword ptr , 0
009B2D04    74 02         je      short 009B2D08
009B2D06    FF30            push    dword ptr
009B2D08    FF75 F0         push    dword ptr
009B2D0B    FF75 EC         push    dword ptr
009B2D0E    C3            retn               //在此下断点F2 运行shift+F9到此
009B2D0F    5F            pop   edi      //然后取消断点

------------------------------------------------------------------

打开内存镜像,找到地址为00401000处,下断点,F9运行后,直接到OEP.

在此处有个小插曲,到OEP处,代码显示怪怪的

0045159C   .55            db      55       ;CHAR 'U' //在此处分析代码
0045159D      8B            db      8B
0045159E      EC            db      EC
0045159F      83            db      83
004515A0      C4            db      C4
004515A1      F0            db      F0
004515A2      B8            db      B8
004515A3   .BC 134500E8   mov   esp, E8004513
004515A8   .8846 FB       mov   byte ptr , al
004515AB   .FFA1 E02F4500 jmp   dword ptr

即:
选择你要分析的代码,
右健---分析-----下次分析时将选择部分视为-----command

然后再:
右健---分析-----分析代码

正常显示了

0045159C   .55            push    ebp      //在这里用loadpe dump这个进程
0045159D   .8BEC          mov   ebp, esp
0045159F   .83C4 F0       add   esp, -10
004515A2   .B8 BC134500   mov   eax, 004513BC
004515A7   .E8 8846FBFF   call    00405C34
004515AC   .A1 E02F4500   mov   eax, dword ptr
004515B1   .8B00          mov   eax, dword ptr
004515B3   .E8 F8E5FFFF   call    0044FBB0
004515B8   .A1 E02F4500   mov   eax, dword ptr
004515BD   .8B00          mov   eax, dword ptr
004515BF   .BA FC154500   mov   edx, 004515FC   ;ASCII "www.52pojie.cn"
---------------------------------------------------------------------

再右键---demp debugged process
在modify处复制地址:5159C

打开IMPORT 在OEP处填上5159C,获取输入表后,显示无效函数,右键选择用追踪级别1修复,然后用ASPROTECT1.22插件全部修复,修复保存文件,

搞定!!!

wgz001 发表于 2008-12-21 05:24

作业的关键是分析加密的IAT    插件修复就那个啥了   
还请手动分析IAT加密的过程   那样学到更多   个人想法而已

还有   以后请不要点将   俺们这些菜鸟觉得压力很大:handshake

鬼手 发表于 2008-12-21 05:54

“点将”,确实牛的淫啊
学习不了哈,纯路过,看看风景!
支持楼主,热爱学习!

zzage 发表于 2008-12-21 09:10

LZ.学习一下IAT的手动处理吧,你会发现能学到很多东西的~

小生我怕怕 发表于 2008-12-21 11:51

呵呵,哥们没有违规,但是主要是练习的目的是为了手动去查找IAT指针!

yuiop114 发表于 2008-12-21 11:52

多谢谢版主大哥和管理员的指导,我才是真正的菜鸟,你们都说得我不好意思了。

现在就用手动处理IAT,学习~~

yuiop114 发表于 2008-12-21 13:13

小弟太菜了,想问问各位大哥,如果是交作业,用ImportREC搜索IAT表的地址与大小算不算违规?
还是所有操作都只在OD里进行?

小生我怕怕 发表于 2008-12-21 16:30

不算违反规则,但是最好的是使用手动去寻找出IAT加密所在,因为是加密壳都有这样的现象的!

柯梦南 发表于 2008-12-22 09:58

不错的,学习了,我也去练习一下

fuma255 发表于 2009-6-9 18:03

支持楼主,热爱学习!
页: [1] 2
查看完整版本: 手动脱掉ASProtect 1.23 RC1,小生进~~