shellcode 调试

252 篇文章 0 订阅
44 篇文章 1 订阅

shellcode 调试

from:http://blog.zndev.com/article.php?itemid=620&type=blog

如果有一段shellcode,怎么直待该shellcode干了些什么呢?调试它即可,如何调试呢。比如说有一段shellcode定义为:

unsigned char shellcode[]=

"/x/x/x/x//x/x/x/x/x/x/x//x/x/x/x/x"...

"/x/x/x/x//x/x/x/x/x/x/x/x/x/x/x//x/";

则在vc下直接可以利用以下的方法进行调式。在main函数里面直接调用以下的任何一种方式即可。

1、利用asm汇编直接获取字符串地址,然后jmp调用

_asm -QLX.klCj  
 { {O$m M  
  lea eax, shellcode; n/mQ@4Bi);  
  jmp eax +Y.JG [q  
 } ,Fl;nE?D#  
 

2、先把shellcode复制到一个buf里面,然后jmp调用 C}K=*`}|n  
  unsigned char* buf=new unsigned char[sizeof(shellcode)]; }BRU'  
  if(buf!=NULL) [=ATW_xG;  
  { {09=U{HH  
   for(int i=0;i<sizeof(shellcode);i++) ?U8U)L?  
    buf=shellcode; ]Y^i]/?[  
 } ;?2ZY60f  
  _asm =jxSA-,T  
  {  < &=!`/  
   jmp buf e-G,($  
  } HIp${O'v  
  delete buf;

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值