吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6897|回复: 9
收起左侧

[分享] 真正的菜鸟的第二脱——PSG 2.0 -bart/xt 出问题,经求助,已解决,好爽!哈哈

[复制链接]
realright 发表于 2010-3-13 21:47
本帖最后由 realright 于 2010-3-14 10:05 编辑

真正的菜鸟的第二脱——PSG 2.0 ->bart/xt 出现问题了,求助

闲话少扯,主题为要。

加壳软件:PSG 2.0 后面有附件
加壳文件:notepad.exe
文件名:PSG_Jsb

略去加壳过程
1. 查壳
peid查壳,如下:
1.jpg

2. 脱壳
od载入,入口代码如下:
01000154 >  8725 5CF40101   xchg    dword ptr [101F45C], esp        //停在这里,f8往下
0100015A    61              popad     //很奇怪,popad出现在这里了,壳下面没有跳转阿???莫名其妙,下吧
0100015B    94              xchg    eax, esp
0100015C    55              push    ebp
0100015D    A4              movs    byte ptr es:[edi], byte ptr [esi>
0100015E    B6 80           mov     dh, 80
01000160    FF13            call    dword ptr [ebx] //到这里call了,很近,那就跟吧,f7,会跳到010001e8处
                       //f8慢慢出来,要是嵌套call也进去,最后能出来就行
01000162  ^ 73 F9           jnb     short 0100015D   //出来后在这里,往上的跳,f4过掉它
01000164    33C9            xor     ecx, ecx
01000166    FF13            call    dword ptr [ebx]   //也是call同理处理,下面还有好几个,同理了
01000168    73 16           jnb     short 01000180
0100016A    33C0            xor     eax, eax
0100016C    FF13            call    dword ptr [ebx]  //call,进去
0100016E    73 1F           jnb     short 0100018F
01000170    B6 80           mov     dh, 80
01000172    41              inc     ecx
01000173    B0 10           mov     al, 10
01000175    FF13            call    dword ptr [ebx]  //进去
01000177    12C0            adc     al, al
01000179  ^ 73 FA           jnb     short 01000175
0100017B    75 3A           jnz     short 010001B7
0100017D    AA              stos    byte ptr es:[edi]
0100017E  ^ EB E0           jmp     short 01000160
01000180    FF53 08         call    dword ptr [ebx+8]  //进去
01000183    02F6            add     dh, dh
01000185    83D9 01         sbb     ecx, 1
01000188    75 0E           jnz     short 01000198
0100018A    FF53 04         call    dword ptr [ebx+4]  //进去
0100018D    EB 24           jmp     short 010001B3  //最后出来会在这里,是一个跳,往下
0100018F    AC              lods    byte ptr [esi]
01000190    D1E8            shr     eax, 1
01000192    74 2D           je      short 010001C1
01000194    13C9            adc     ecx, ecx
01000196    EB 18           jmp     short 010001B0
01000198    91              xchg    eax, ecx
01000199    48              dec     eax
0100019A    C1E0 08         shl     eax, 8
0100019D    AC              lods    byte ptr [esi]
0100019E    FF53 04         call    dword ptr [ebx+4]
010001A1    3B43 F8         cmp     eax, dword ptr [ebx-8]
010001A4    73 0A           jnb     short 010001B0
010001A6    80FC 05         cmp     ah, 5
010001A9    73 06           jnb     short 010001B1
010001AB    83F8 7F         cmp     eax, 7F
010001AE    77 02           ja      short 010001B2
010001B0    41              inc     ecx
010001B1    41              inc     ecx
010001B2    95              xchg    eax, ebp
010001B3    8BC5            mov     eax, ebp   //跳到这里了,往下
010001B5    B6 00           mov     dh, 0
010001B7    56              push    esi
010001B8    8BF7            mov     esi, edi
010001BA    2BF0            sub     esi, eax
010001BC    F3:A4           rep     movs byte ptr es:[edi], byte ptr>  //这里好像过不去,f4过了
010001BE    5E              pop     esi
010001BF  ^ EB 9F           jmp     short 01000160    //往上的跳,f4过了
010001C1    5E              pop     esi
010001C2    AD              lods    dword ptr [esi]
010001C3    97              xchg    eax, edi
010001C4    AD              lods    dword ptr [esi]
010001C5    50              push    eax
010001C6    FF53 10         call    dword ptr [ebx+10]  //又是call,这么远了,不进去了,f4过吧
010001C9    95              xchg    eax, ebp
010001CA    8B07            mov     eax, dword ptr [edi]
010001CC    40              inc     eax
010001CD  ^ 78 F3           js      short 010001C2   //跳转没有实现
010001CF    75 03           jnz     short 010001D4   //往下的,下好了,注意点1
010001D1    FF63 0C         jmp     dword ptr [ebx+C]
010001D4    50              push    eax    //跳到这,我觉得不大对劲,因为下面有push ebp了
                           //而且前面还有一个jmp直接过了,我重载了,再次走到注意点1
                           //这次我没有让它往下跳,f4过到jmp语句了,然后跟随进去,删掉分析
                           //发现代码如下:(把下面的代码翻到地吧)
010001D5    55              push    ebp
010001D6    FF53 14         call    dword ptr [ebx+14]
010001D9    AB              stos    dword ptr es:[edi]
010001DA  ^ EB EE           jmp     short 010001CA
010001DC    33C9            xor     ecx, ecx
010001DE    41              inc     ecx
010001DF    FF13            call    dword ptr [ebx]
010001E1    13C9            adc     ecx, ecx
010001E3    FF13            call    dword ptr [ebx]
010001E5  ^ 72 F8           jb      short 010001DF
010001E7    C3              retn
010001E8    02D2            add     dl, dl
010001EA    75 05           jnz     short 010001F1
010001EC    8A16            mov     dl, byte ptr [esi]
010001EE    46              inc     esi
010001EF    12D2            adc     dl, dl

第二次重载后,跟随jmp进去并删掉分析后的代码:
0100739D    6A 70           push    70             //貌似这个就是oep吗?试试吧,新建eip,dump,保存为1.exe
0100739F    68 98180001     push    01001898
010073A4    E8 BF010000     call    01007568
010073A9    33DB            xor     ebx, ebx
010073AB    53              push    ebx
010073AC    8B3D CC100001   mov     edi, dword ptr [10010CC]         ; kernel32.GetModuleHandleA
010073B2    FFD7            call    edi
010073B4    66:8138 4D5A    cmp     word ptr [eax], 5A4D
010073B9    75 1F           jnz     short 010073DA
010073BB    8B48 3C         mov     ecx, dword ptr [eax+3C]
010073BE    03C8            add     ecx, eax
010073C0    8139 50450000   cmp     dword ptr [ecx], 4550
010073C6    75 12           jnz     short 010073DA
010073C8    0FB741 18       movzx   eax, word ptr [ecx+18]
010073CC    3D 0B010000     cmp     eax, 10B
010073D1    74 1F           je      short 010073F2
010073D3    3D 0B020000     cmp     eax, 20B
010073D8    74 05           je      short 010073DF
010073DA    895D E4         mov     dword ptr [ebp-1C], ebx
010073DD    EB 27           jmp     short 01007406

双击桌面上的文件,错误:无法找到入口!
???
我又在dump里选了方法2,再次dump了一遍,运行时说:应用程序初始化失败
郁闷,问题出在哪了呢?用ImpREC修复了一下,双击没反应!!!!???
我查壳,发现又没事阿?
peid如图:
2.jpg

求侠们给个话,来点指导,我知道我菜,但我可以在有资料,有例子的前提下,自己学!!!

下面是加壳软件和加壳后的文件:
fsg.exe.rar (21.45 KB, 下载次数: 5)
FSG_jsb.exe.rar (45.65 KB, 下载次数: 2)

深情地求大侠们给点指导!谢谢了!谢谢……

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| realright 发表于 2010-3-13 22:11
本帖最后由 realright 于 2010-3-14 10:03 编辑

没人回答,哎,算了,下线了!
自己去研究了!郁闷……
新人成长真困难啊!

其实啥克都可以F7OEP


只是时间长短

或者OEP与你擦身而过

真爱也是这样。

没待眼镜,打字错误 ...
ps520 发表于 2010-3-13 23:02

哇,这么资深的牛人都来回复我,我深感荣幸啊!
谢谢指导,貌似f7吗?单步跟踪?那也可以?
但是要是代码多的话,要到什么时候才可以的,我们菜鸟分析不行,oep很可能擦身就过去了,这成功率会很低的!



其实你的oep是对的。
但是修复的时候弄错了。

按照这个图片修复就好了。我是用lordPe来dump的。
gxwtk 发表于 2010-3-14 00:01

哈哈,真的?真的?原来我的工作是对的啊!好爽!
oep没错!呵呵……我新手,能做到这就很不错了!
哎呀,很可惜啊,图片被字挡住了,最关键的字眼看不到,难道是346?
还有,我刚下的loadpe界面跟你的完全不同啊,没有什么那些类似ImpREC里的显示无效函数什么的!
你用的是什么版本的loadpe,能给个网址或者说的更明确一点吗?
microlab321 发表于 2010-3-13 22:50
ps520 发表于 2010-3-13 23:02
其实啥克都可以F7OEP


只是时间长短

或者OEP与你擦身而过

真爱也是这样。

没待眼镜,打字错误请见谅
czjh2008 发表于 2010-3-13 23:22
低手路过,顶上……
gxwtk 发表于 2010-3-14 00:01
其实你的oep是对的。
但是修复的时候弄错了。

按照这个图片修复就好了。我是用lordPe来dump的。

111.jpg
Hmily 发表于 2010-3-15 12:29
FSG的IAT需要自己是手工获取下,找下大小范围填写下就可以了.
zhanghuiaq 发表于 2010-3-16 08:50
新手学习中!!!
uo99 发表于 2010-3-26 23:21
来顶你一下
tysan 发表于 2010-7-17 22:15
fsg真的有点难脱呀,我都脱了好几次了。没结果  修复不成
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 06:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表