飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5370|回复: 11

脱FSG2.0加的98记事本

[复制链接]

该用户从未签到

发表于 2006-6-25 19:27:58 | 显示全部楼层 |阅读模式
【文章标题】: 脱FSG2.0加的98记事本
【文章作者】: 微微虫[S.T.C]
【作者邮箱】:nuxgod@163.com
【作者主页】: wwcgodsoft.ys168.com
【作者QQ号】: 86742748
【软件名称】: 加FSG2.0的记事本
【软件大小】: 29.1K
【下载地址】: 附件
【加壳方式】: FSG 2.0 -> bart/xt
【使用工具】: OllySTC、PEiD0.94、ImportREC
【操作平台】: WinXP SP2
【作者声明】: 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【详细过程】
  一、用PEiD先查一下程序有无加壳,得到有加了壳:FSG 2.0 -> bart/xt
   
  二、用OllySTC载入程序,如下:
  
  00400154 >  8725 74A24100   XCHG DWORD PTR DS:[41A274],ESP   -->载入后到这里
                                                                  F8单步进入,
  0040015A    61              POPAD                           
  0040015B    94              XCHG EAX,ESP
  0040015C    55              PUSH EBP
  0040015D    A4              MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
  0040015E    B6 80           MOV DH,80
  00400160    FF13            CALL DWORD PTR DS:[EBX]
  00400162  ^ 73 F9           JNB SHORT FSG2_0.0040015D       -->没有回跳,按F8
  00400164    33C9            XOR ECX,ECX
  00400166    FF13            CALL DWORD PTR DS:[EBX]
  00400168    73 16           JNB SHORT FSG2_0.00400180      -->没有回跳,按F8
  0040016A    33C0            XOR EAX,EAX
  0040016C    FF13            CALL DWORD PTR DS:[EBX]
  0040016E    73 1F           JNB SHORT FSG2_0.0040018F      -->跳到0040018F
  F8来到了0040018F处:
  0040018F    AC              LODS BYTE PTR DS:[ESI]
  00400190    D1E8            SHR EAX,1
  00400192    74 2D           JE SHORT FSG2_0.004001C1       -->没有回跳,按F8
  00400194    13C9            ADC ECX,ECX
  00400196    EB 18           JMP SHORT FSG2_0.004001B0      -->跳到004001B0处
  00400198    91              XCHG EAX,ECX
  00400199    48              DEC EAX
  0040019A    C1E0 08         SHL EAX,8
  0040019D    AC              LODS BYTE PTR DS:[ESI]
  0040019E    FF53 04         CALL DWORD PTR DS:[EBX+4]
  004001A1    3B43 F8         CMP EAX,DWORD PTR DS:[EBX-8]
  004001A4    73 0A           JNB SHORT FSG2_0.004001B0
  004001A6    80FC 05         CMP AH,5
  004001A9    73 06           JNB SHORT FSG2_0.004001B1
  004001AB    83F8 7F         CMP EAX,7F
  004001AE    77 02           JA SHORT FSG2_0.004001B2
  004001B0    41              INC ECX                         -->到这里了
  004001B1    41              INC ECX
  004001B2    95              XCHG EAX,EBP
  004001B3    8BC5            MOV EAX,EBP
  004001B5    B6 00           MOV DH,0
  004001B7    56              PUSH ESI                                 ; FSG2_0.00416393
  004001B8    8BF7            MOV ESI,EDI
  004001BA    2BF0            SUB ESI,EAX
  004001BC    F3:A4           REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
  004001BE    5E              POP ESI
  004001BF  ^ EB 9F           JMP SHORT FSG2_0.00400160          -->回跳到00400160处,用F4跳试到下一行
  004001C1    5E              POP ESI                             -->F8继续
  004001C2    AD              LODS DWORD PTR DS:[ESI]     
  004001C3    97              XCHG EAX,EDI
  004001C4    AD              LODS DWORD PTR DS:[ESI]
  004001C5    50              PUSH EAX
  004001C6    FF53 10         CALL DWORD PTR DS:[EBX+10]
  004001C9    95              XCHG EAX,EBP
  004001CA    8B07            MOV EAX,DWORD PTR DS:[EDI]
  004001CC    40              INC EAX
  004001CD  ^ 78 F3           JS SHORT FSG2_0.004001C2          -->没有回跳,按F8
  004001CF    75 03           JNZ SHORT FSG2_0.004001D4         -->这里千万不要再F8了,不信自己试一下。用F4跳试到下一行
  004001D1  - FF63 0C         JMP DWORD PTR DS:[EBX+C]                 ; FSG2_0.004010CC这是Win98记事本程序的入口点F8进入
  004001D4    50              PUSH EAX
  
  到这里来了:
  004010CC      55            DB 55                                    ;  CHAR 'U'
  004010CD      8B            DB 8B
  004010CE      EC            DB EC
  004010CF      83            DB 83
  
  窗口中右击“Analysis”-->“Analysis Code”或者Ctrl+A,分析代码:
  004010CC  /.  55            PUSH EBP                -->就是OEP,好了,转存一下,就OK了
  004010CD  |.  8BEC          MOV EBP,ESP
  004010CF  |.  83EC 44       SUB ESP,44
  004010D2  |.  56            PUSH ESI
  004010D3  |.  FF15 E4634000 CALL DWORD PTR DS:[4063E4]               ; [GetCommandLineA
  004010D9  |.  8BF0          MOV ESI,EAX
  004010DB  |.  8A00          MOV AL,BYTE PTR DS:[EAX]
  004010DD  |.  3C 22         CMP AL,22
  004010DF  |.  75 1B         JNZ SHORT FSG2_0.004010FC
  
  三、现在不要关闭OD,接着修复一下,因为脱壳后我发现不能运行它:
   
  选中004010D3这一行,右击“Follow in Dump”-->“Memory address”或者Ctrl+A:
  004010D3  |.  FF15 E4634000 CALL DWORD PTR DS:[4063E4]               ; [GetCommandLineA
  
  注意数据窗口中变化:(忘了说了数据窗口中要处于反汇编状态)
  004062E4   .  8378DA77      DD ADVAPI32.RegQueryValueExA
  004062E8   .  F06BDA77      DD ADVAPI32.RegCloseKey
  004062EC   .  E7EBDA77      DD ADVAPI32.RegSetValueExA
  004062F0   .  1BC4DC77      DD ADVAPI32.RegOpenKeyA
             .
             .
             .
  004064F8   .  27BED177      DD USER32.IsIconic
  004064FC   .  1112D277      DD USER32.PostQuitMessage
  00406500   .  9CFAD277      DD USER32.TranslateAcceleratorA
  00406504      FF            DB FF

  修复时填:
  OEP=004010CC
  RVA=62E4
  SIZE=00406504-004062E4=220
  用ImportREC修复函数就可以了。
   
  搞定!
--------------------------------------------------------------------------------
【版权声明】: 如有什么问题发E-mail给我,我的QQ不经常上。本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

[ 本帖最后由 微微虫 于 2006-6-25 19:45 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-6-25 22:35:19 | 显示全部楼层
    支持兄弟,呵呵!

    这个壳脱它不难,关键在于修复.
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-6-25 22:41:26 | 显示全部楼层
    试了下,很不错,明白了不少

    [ 本帖最后由 30903861 于 2006-6-26 17:48 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-10-9 13:37:09 | 显示全部楼层
    呵呵,不知道为什么加了FSG壳的程序在我电脑里运行不起来,跑到看雪下了个主程序也同样运行不起来,但是楼上脱后的就可以,不知那位有没有脱壳后的FSG主程序,可否给小弟发一份??
    邮箱:913221@163.com

    已经收到了,可以运行,不过试着加了一个记事本,弹出一个错误窗口:

    可以是兼容性的问题吧,2.0版的都不行,我的系统是:
    系统:
    Microsoft Windows Server 2003
    Enterprise Edition
    Service Pack 2

    计算机:
       Intel(R) Core(TM)2 CPU   
        T5500  @ 1.66GHz
       1.67 GHz, 2.00 GB 的内存
       物理地址扩展

    [ 本帖最后由 iawen 于 2007-10-11 10:06 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-2-10 13:56:58 | 显示全部楼层
    注意数据窗口中变化:(忘了说了数据窗口中要处于反汇编状态)
      004062E4   .  8378DA77      DD ADVAPI32.RegQueryValueExA
      004062E8   .  F06BDA77      DD ADVAPI32.RegCloseKey
      004062EC   .  E7EBDA77      DD ADVAPI32.RegSetValueExA
      004062F0   .  1BC4DC77      DD ADVAPI32.RegOpenKeyA
                 .
                 .
                 .
      004064F8   .  27BED177      DD USER32.IsIconic
      004064FC   .  1112D277      DD USER32.PostQuitMessage
      00406500   .  9CFAD277      DD USER32.TranslateAcceleratorA
      00406504      FF            DB FF

      修复时填:
      OEP=004010CC
      RVA=62E4
      SIZE=00406504-004062E4=220

    /:L 这里看不懂,我的OD怎么没怎么变来着.....
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-5-6 17:13:47 | 显示全部楼层
    我又找到这里了  温习/:014
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-8-7 17:07
  • 签到天数: 88 天

    [LV.6]常住居民II

    发表于 2009-5-15 09:55:55 | 显示全部楼层
    4楼的情况,我的也常出现呀
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-10 18:18:17 | 显示全部楼层
    好贴!学习学习了!顶一下/:013
    PYG19周年生日快乐!
  • TA的每日心情

    2021-3-15 02:34
  • 签到天数: 347 天

    [LV.8]以坛为家I

    发表于 2010-2-19 22:04:03 | 显示全部楼层
    支持下,学习了。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-2-24 08:45:39 | 显示全部楼层
    好贴!学习学习了!顶一下
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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