飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: CxLrb

[原创] 一个压缩壳偷OEP的脱壳与优化

[复制链接]

该用户从未签到

发表于 2009-1-20 21:39:54 | 显示全部楼层
楼主,你真的能探索啊!!佩服佩服
PYG19周年生日快乐!

该用户从未签到

发表于 2009-1-26 06:40:42 | 显示全部楼层
可能是个新壳吧
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-11-24 21:15
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2009-9-29 21:08:55 | 显示全部楼层
    看了楼主的文章就自己按楼主的方法脱了一下,我觉得也可以这样做:
    OD载入程序后直接下bp GetModuleHandleA断点,按F9运行,我的电脑上按了31次程序跑了起来,重新载入,下bp GetModuleHandleA,按F9,30次,然后Ctrl+B查找FF 25,找到很多下面的东西:
    ************************************************************
    ... ....
    004048B0   .- FF25 9C104000 jmp ds:[<&msvbvm60.__vbaVarCmpNe>]       ;  msvbvm60.__vbaVarCmpNe
    004048B6   .- FF25 74114000 jmp ds:[<&msvbvm60.__vbaGosubFree>]      ;  msvbvm60.__vbaGosubFree
    004048BC   .- FF25 48104000 jmp ds:[<&msvbvm60.__vbaGosubReturn>]    ;  msvbvm60.__vbaGosubReturn
    004048C2   .- FF25 2C124000 jmp ds:[<&msvbvm60.__vbaGosub>]          ;  msvbvm60.__vbaGosub
    004048C8   .- FF25 00104000 jmp ds:[<&kernel32.RtlMoveMemory>]       ;  ntdll.RtlMoveMemory
    004048CE   .- FF25 5C104000 jmp ds:[<&msvbvm60.__vbaPut3>]           ;  msvbvm60.__vbaPut3
    004048D4   .- FF25 A8114000 jmp ds:[<&msvbvm60.__vbaPutOwner4>]      ;  msvbvm60.__vbaPutOwner4
    004048DA   .- FF25 04104000 jmp ds:[<&kernel32.SetFileAttributesA>]  ;  kernel32.SetFileAttributesA
    004048E0   .- FF25 0C124000 jmp ds:[<&msvbvm60.EVENT_SINK_QueryInter>;  msvbvm60.EVENT_SINK_QueryInte**ce
    004048E6   .- FF25 84114000 jmp ds:[<&msvbvm60.EVENT_SINK_AddRef>]   ;  msvbvm60.EVENT_SINK_AddRef
    004048EC   .- FF25 F4114000 jmp ds:[<&msvbvm60.EVENT_SINK_Release>]  ;  msvbvm60.EVENT_SINK_Release
    004048F2   $- FF25 EC124000 jmp ds:[<&msvbvm60.ThunRTMain>]          ;  msvbvm60.ThunRTMain
    ****************************************************************
    在最后一个jmp(也就是004048F2处)下硬件执行断点,重新载入程序,F9运行,会断在下断点处,这时看堆栈:
    **************************************************************
    0012FF90   009AE8B7  TrashReg.009AE8B7
    0012FF94   00404C58  ASCII "VB5!6&*"
    0012FF98   0098C41D  返回到 TrashReg.0098C41D 来自 TrashReg.0098C7B2
    ********************************************************************
    在补上被偷的代码时,push 的地址就是00404C58,也就是在入口处补上以下代码
    push 00404c58
    call 004048F2
    然后脱壳,修复,程序正常运行.
    区段减肥,就按楼主的方法了,呵呵
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2023-11-16 16:09
  • 签到天数: 821 天

    [LV.10]以坛为家III

    发表于 2009-10-11 09:37:17 | 显示全部楼层
    谢谢楼主的分享,顶一个
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-10-22 09:33:56 | 显示全部楼层
    VB的程序偷代码,相当明显...
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-11-4 10:54:07 | 显示全部楼层
    楼主好有耐心哦  /:014
    PYG19周年生日快乐!
  • TA的每日心情

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

    [LV.8]以坛为家I

    发表于 2010-2-19 21:57:45 | 显示全部楼层
    支持下,学习了。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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