shellcode基础

彼岸花 科技shellcode基础已关闭评论71字数 650阅读模式
摘要shellcode为16进制的机器码,下面我们通过一段打开计算器Calc.exe的简单的代码来进一步了解一下什么是shellcode。 34;stdafx.h& inclu...

大家好,今天小编来为大家解答以下的问题,关于01 shellcode基础这个很多人还不知道,现在让我们一起来看看吧!

shellcode为16进制的机器码,下面我们通过一段打开计算器Calc.exe的简单的代码来进一步了解一下什么是shellcode。文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html

34;stdafx.h& include int main(int argc, char* argv[]) { WinExec(& 34;,1); return 0; }shellcode笔记 一 环境的基础配置文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html

一句特别简单的代码,调用Windows API WinExec 打开计算器,接着我们在OD动态调试看看。文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html

push 0x1 ;在x86下,通过压栈来传参,将1压栈,WinExec(& 34;,1)里的参数1 push OpenCalc.00406030 ;将寄存calc字符串的地址压栈,也是传参 call dword ptr ds:[<&KERNEL32.WinExec>] ;调用KERNEL32下的WinExec文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html

引出问题文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html

我们将这三句话下划线标注部分的机器码,用C语言的方式表达就是& 34;,也就是我常见的shellcode字符串。如果我们把这串加载在内存,能不能成功运行起来,恐怕是不行的,由于我们不能保证每个程序的0x406030地址上都寄存了calc字符串,也不能保证导入表中0x405000就是WinExec地址。文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html

关于“01 shellcode基础”的内容,小编就分享到这里了,大家还有哪些需要补充的呢?无妨在评论区留言分享,让更多的朋友受益!您的每一个留言,和每一个赞,都是我前进的动力!喜欢的话记得收藏、分享给身旁的朋友。文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html 文章源自微观生活(93wg.com)微观生活-https://93wg.com/38622.html

 
彼岸花
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/38622.html