把梦想放飞在蓝色的天空里...

看似寻常最奇崛,成如容易却艰辛--王安石

shellocde调试方法

我知道主要有两种:

1. 用VC6建一个小工程,进入汇编模式,跳转到shellcode,调试分析。

如:

#include <stdio.h>

char ShellCode[] = "\xEB...";

int main()
{

  printf("Shellcode length: %d\n", strlen(ShellCode));//shellcode长度
          __asm
          {
                lea eax,ShellCode;
                jmp eax; //跳到Shellcode开始处,从这里开始单步调试
          }
  return 0;
}

2. 调试器里调试,如OD等,修改从EIP开始处的机器码,OD可以通过快捷键"CTRL+E",复制要调试的SHELLCODE,每次只能复制0x100个字节。因为很多shellocde一开始都要解码,如果EIP所在的数据段有DEP保护,或者是只读属性,调试shellocde时就会引发访问异常。故我们先打开OD的内存窗口,设置EIP所在内存段的访问属性为“所有访问”,再开始调试。

阅读更多
文章标签: 汇编
个人分类: 漏洞安全
上一篇汇编语言
下一篇一个shellcode的细致分析
想对作者说点什么? 我来说一句

Eclipse调试方法及log4j调试方法

2011年10月28日 1.37MB 下载

基于MATLAB的DSP调试方法

2017年12月13日 77KB 下载

vc++6[1].0调试方法

2011年05月03日 69KB 下载

ADS实验调试方法.pdf

2009年03月28日 5.77MB 下载

Struts2调试方法

2011年11月29日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭