本类共有 70 篇文章,今日更新 0

抛砖引玉之自己动手学写脚本

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-18 18:31:42 | 浏览: 人次 ]


OllyScript 是 OllyDbg调试器的一个插件。我个人认为,OllyDbg是目前最好的程序级调试器。

这个调试器的最大的特色之一就是她的插件体系,这是使得用户能够更为有效的扩展她的功能。

OllyScript 是一种通过类汇编语言的脚本,来控制OllyDbg自动运行的插件。

在调试程序时,常常都是仅仅为了要找到某几个关键点,而不得不做大量的重复工作。

而通过使用我的脚本,您就可以做到"写一次脚本,无限使用" [write a script once and for all]。

具备这么多好处,你是否心动。

另外脚本运行可以绕过部分变态壳的时间差反跟踪。

国产脚本大量都是loveboom写的,垄断! 这可不行,^-^

一起来学写吧,需要工具,知识。

知识  Ollydbg 操作等级3级以上,各种断点,按键知识。

      初级汇编,初级高级语言编程经验

      首先写脚本自己得会手动脱这个壳

工具  Ollydbg1.10,OllyScript 0.92  Oscedit -> Loveboom的作品,Dfcg高级脱壳区下载

本动画以北斗程序压缩1.3脱壳-简单 作例子。

北斗程序压缩1.3脱壳-简单

【破解作者】 №微笑一刀

【作者邮箱】 保密

【作者主页】 保密

【使用工具】 OD,IMPR

【破解平台】 XP SP2

【软件名称】 北斗程序压缩1.3

【下载地址】 _blank>http://www.onlinedown.com/soft/36182.htm

【软件简介】 首款国产Win32(Windows95/98/2000/NT/XP/2003)EXE、DLL、OCX等PE文件压缩工具,通过压缩代码、数据、相关资源使压缩能达到60-70%。特点:(1)、本软件采用当前世界顶级的压缩算法,其极高的压缩率和极快的解压速度,极大减少可执行文件大小(压缩比通常高于Aspack、UPX等同类软件). 压缩/加密后的程序无性能损失, 经压缩/加密的程序可以用其它第三方压缩/加密工具再加密/压缩. 在内存中解压/解密,提高了程序的安全性,本程序支持用其它第三方软件压缩/加密后的继续压缩/加密。(2)、能够正确处理PE文件中的共享数据、WindowsXP下的向量化异常(Vectored Exception Handling,VEH).(3)、界面简洁易用,支持中英文切换、右键功能、命令行。

【软件大小】 173KB

【加壳方式】 nSpack 1.3

【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)

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

【破解内容】

载入目标以后停在这里
00484375 >  9C              PUSHFD <-这里
00484376    60              PUSHAD
00484377    E8 00000000     CALL nSpack.0048437C <-走到这里以后查看ESP.可以用ESP定律,
在命令行下HR ESP,来到
00484599    9D              POPFD <-这里.
0048459A  - E9 8002FAFF     JMP nSpack.0042481F <-走过去看看^_^

0042481F      55            DB 55                                    ;  CHAR 'U'
00424820      8B            DB 8B
00424821      EC            DB EC
00424822      6A            DB 6A                                    ;  CHAR 'j'
00424823      FF            DB FF
00424824      68            DB 68                                    ;  CHAR 'h'
00424825      C8            DB C8
00424826      67            DB 67                                    ;  CHAR 'g'
00424827      44            DB 44                                    ;  CHAR 'D'
00424828      00            DB 00
00424829      68            DB 68                                    ;  CHAR 'h'
0042482A      CC            DB CC
0042482B      3C            DB 3C                                    ;  CHAR '<'
0042482C      42            DB 42                                    ;  CHAR 'B'
0042482D      00            DB 00
0042482E      64            DB 64                                    ;  CHAR 'd'
0042482F      A1            DB A1

怎么是这些东东,呵呵,CTRL+A分析一下

0042481F  /.  55            PUSH EBP <-在此DUMP
00424820  |.  8BEC          MOV EBP,ESP
00424822  |.  6A FF         PUSH -1
00424824  |.  68 C8674400   PUSH nSpack.004467C8
00424829  |.  68 CC3C4200   PUSH nSpack.00423CCC                     ;  SE handler installation
0042482E  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00424834  |.  50            PUSH EAX
00424835  |.  64:8925 00000>MOV DWORD PTR FS:[0],ESP
0042483C  |.  83EC 58       SUB ESP,58
0042483F  |.  53            PUSH EBX
00424840  |.  56            PUSH ESI
00424841  |.  57            PUSH EDI
00424842  |.  8965 E8       MOV DWORD PTR SS:[EBP-18],ESP
00424845  |.  FF15 A0224400 CALL DWORD PTR DS:[4422A0]               ;  kernel32.GetVersion

出现了吧.嘿嘿.在0042481F 处DUMP.然后使用IMPR修复,在偶机器上有一个无效的.剪切掉就OK了.
主程序VC编译.这个壳是二哥推荐的.压缩能力据说超过UPX和ASPACK哦

--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

Btw: 写动画前,我也不会做脚本,但有前辈们无私的经验和工具,怒力就可以实现任何梦想。

第一次要熟读

OllyScript0.92.txt  //已经汉化

快速入手就是用别人写好的脚本用OSEditor.exe逐句分析每句的意思,从而可以自己写脚本。

脱壳脚本

开始

// NSpack 1.3 OEP Finder v0.1
// by ★LOCKLOSE★            * //是脚本注释,这些行不会执行
// _blank>http://bbs.pediy.com

  var addr   * VAR 在脚本中,声明一个变量,必须在变量使用先声明。这句什么用途呢,看第四行
               由于不同系统用Esp定律,Esp值不同,为了使脚本通用,就得用变量保存Esp值。

  sto        *  相当于在OllyDbg中按 F8,单步过
                                                 '我们看手动脱壳不也是F8两次后利用Esp定律的
                                                  是同样

[1] [2] 下一页

>> 相关文章

广告位