P4=Shrinker 3.3 P5=Wwpack32 I P6=Manolo P7=Petite<1.3 P8=Wwpack32 II P9=Vbox Dialog PA=Vbox Std PB=Petite 1.x PC=Shrinker 3.2 PD=PEPack
PE=UPX 修改为 PE=UPX<0.7X PF=Aspack<108 P10=SoftSentry P11=CodeSafe 3.X P12=Aspack108 P13=Neolite2 P14=Aspack108.2 P15=Petite 2.0 P16=Sentinel P17=PKLiTE P18=Petite 2.1 P19=PCShrink P1A=PCGUARD v2.10 P1B=Aspack108.3
P1C=Shrinker 3.4
P1D=UPX0.7X-0.8X 加入这句 然后找到:
[UPX] 修改为 [UPX<0.7X] 然后在文件最下面加入: [UPX0.7X-0.8X]
好了,准备功夫我们都做好了,现在可以写 UPX0.82 的脱壳扩展了,首先我们可以见到程序有两个跳动的地方,第一个是:
0137:0043D110 JMP 0043D122 跳到解压程序 所以我们马上把机器代码抄下来: EB,10 第二个是:
0137:0043D255 E9D6A1FDFF JMP 00417430 这就是程序的真正入口了 机器代码就是: E9,D6,A1,FD,FF
好了,所有的要找到东西我们都已经找到了,我们就开始编写 UPX0.82 的脱壳扩展了。 我编写的具体如下: [UPX0.7X-0.8X]
L1=OBJR ; 在扫描开始处设置初始的内存地址 L2=LOOK EB,10 ; 查找第一个 EB,10 程序代码 L3=BP ; 在当前内存位置设置断点
L4=WALK ; 交还控制权到 Procdump 并且执行下一个指令 L5=OBJR ; 在扫描开始处设置初始的内存地址 L6=LOOK 61,E9 ; 查找第一个 EB,10 程序代码
L7=BP ; 在当前内存位置设置断点 L8=STEP ; 一步一步地跟踪分析程式
好了,以上的解释都很清楚了,没有什么不明白了,我们把文件保存后,再次运行 Procdump1.50 , 在 Choose Unpacker 中可以见到多了一个 UPX0.7X-0.8X 项了,选择它,进行脱我们加了脱的程序, 哈哈,叫我们保存了,你可以不要高兴得太早了,你试一试运行 dump 程序,哦不能运行,非法操作。 不要心急,我们好象还有点东西要加上呢!那就是 dump 的可选参数了, Procdump1.50 一共给我们 提供了五组可选参数,如果你没有特别指出,就用默认值。好我们加上去试一试吧! OPTL1=00000000 OPTL2=01010001 OPTL3=01010001 OPTL4=00030000 OPTL5=00000000
以上这五参数是最常用的,你加参数时可要先试试,或者加了之后就可以用了,好我们加上,试一试。 以下文章所述,可能在有的机器上有不同的结果,请自行修正: 作者的机器是: 赛扬 300A (超 450 ) PC100-64M 内存
当我再次运行 Procdump1.50 来脱壳程序时,竟然程序一下子就运行了,根本不象上次那样提示要我保存 脱壳后的文件,所以我想,可能这些参数有些不合适我的机器,于是我认真分析了每一个参数的真正含义之后,就把参数作了如下的修改:
OPTL1=00000001 这是延迟时间,我设为 1ms OPTL2=01010101 采用了快速 dump 的工作方式 OPTL3=01010001 OPTL4=00030000 OPTL5=00000000
今次再运行 Procdump1.50 进行脱壳,哈哈!!!可以脱了,然后再双击脱壳后的文件,咦,可以执行了, 再用 Wdasm8.93 反汇编分析一下文件,发现基本和原文件相同,只是文件大小有点不同,大了一点,再用
了一下软件的各种功能,一切正常,所以应该说脱壳是成功的,到此,文章也该在此结束了,不过好象还漏了点事,就是用 MakePe1.27 帮助脱壳后的文件作进一步的优化,这就不一一描述了 ,自己看帮助进 行吧! 好了,最后总结一下吧! 完整地加入: [UPX0.7X-0.8X] L1=OBJR L2=LOOK EB,10 L3=BP L4=WALK L5=OBJR L6=LOOK 61,E9 L7=BP L8=STEP OPTL1=00000001 OPTL2=01010101 OPTL3=01010001 OPTL4=00030000 OPTL5=00000000 By The Way !
我发现对于使用 UPX0.7x 到 UPX0.8x 加壳的软件,用我的方法都可以成功脱壳。 作者: Ru Feng
信箱: ocq@163.net (未得作者允许,严禁 Email 任何软件到此信箱) 主页(一): http://ocq.163.net (枫林居)
主页(二): http://ocq.yeah.net (最 Cool 的 VB 控件天堂)
主页(三): http://ocqpat.163.net (我的作品,主要介绍“电子资料库”软件
4、Procdump中文说明书
大家好!早两天放上了提高篇( 10 )后,大家的反应还不错,不过对于一些朋友来说, 要想用好 Procdump1.50 ,可能还有点问题,因为它的 Script 的说明书是英文的,对于英文不是 太好的朋友,这就成为一个很大的问题了。昨晚,在白菜的聊天室内,我和 Ding Boy 等高手一 起聊天, Ding Boy 就建议我把 Procdump1.50 的说明书翻译成中文,方便广大的朋友学习和使用 Procdump1.50 ,本着我不入地狱,谁入地狱的决心,我就着手了翻译工作,由于本人的英文也 不是太好!所以在 Procdump1.50 的 Script 说明书的翻译过程中,难免会有一些错误的地方,同 时我的语文水平也不见得好到那里去,有时英文了解什么意思,中文也不知如何表达,所以也 难免有一些词不达意,还有一些地方,我只能根据意译的方法来完成了,因为如果一字一字的 合并起来,句子的意思可能不知它说什么。花了三个小时的时间,终于完成了,但为了有点记 念意义,就把译文放进了提高篇( 11 )当中了,希望大家喜欢! 读者要求:
你可以阅读和传播本文章,但不能对文章的内容作任何的修改,请尊重作者(译)的劳动。 ********************************* ProcDump32 的 Script 扩展: *********************************
A) 功能定义:
************************* 1) Look 功能:
这个 Look 功能是在被载入的程序中查找指定的 HEX 字串。它会把找到了的内存地址保存下来以便你可以方便在此内存地址设置断点。 例:
Look OF,85 将用于搜索一个 JNE 或一个长 jump 。你可以通过 BP 命令来设置断点。 2) ADD 功能:
允许你在当前内存地址上加一个变址值(例:出现于 look 命令或 POS 命令之后)。 3) DEC 功能: 猜测;) 4) REPL 功能
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库怎样使用脱壳软件(3)在线全文阅读。
相关推荐: