好久没写博客了,今天终于搞出了第一个shellcode,以此mark一下。

#include "stdafx.h"
#include <Windows.h>
#include <tchar.h> int _tmain(int argc, _TCHAR* argv[]) {
HMODULE hm = LoadLibrary(_T("kernel32.dll"));
int addr = (int)GetProcAddress(hm, "WinExec");
int exitaddr = (int)GetProcAddress(hm, "ExitProcess");
printf("the address is %2x\r\nthe exitaddris %2x", addr, exitaddr); char buf[] = {
"\x33\xc0" //xor eax,eax
"\x50" //push eax
"\xb8\x2e\x65\x78\x65" //mov eax,0x6578652e
"\x50" //push eax
"\xb8\x63\x61\x6c\x63" //mov eax,0x636c6163
"\x50" //push eax
"\x89\xe0" //mov eax,esp
"\x6a\x05" //push 0x5
"\x50" //push eax
"\xb8\xa0\xf8\x0a\x77" //mov eax,770af8a0
"\xff\xd0" //call eax
"\x33\xc0" // xor eax, eax
"\x50" //push eax
"\xb8\xb0\xad\x07\x77" //mov eax,7707adb0
"\xff\xd0" //call eax
};
/*
char buf[] = {
0x33, 0xc0, //xor eax,eax
0x50 , //push eax
0xb8, 0x2e, 0x65, 0x78, 0x65, //mov eax,0x6578652e
0x50, //push eax
0xb8, 0x63, 0x61, 0x6c, 0x63, //mov eax,0x636c6163
0x50, //push eax
0x89, 0xe0, //mov eax,esp
0x6a, 0x05, //push 0x5
0x50, //push eax
0xb8, 0xa0, 0xf8, 0x0a, 0x77, //mov eax,770af8a0
0xff, 0xd0, //call eax
0x33, 0xc0, // xor eax, eax
0x50, //push eax
0xb8, 0xb0, 0xad, 0x07, 0x77, //mov eax,7707adb0
0xff, 0xd0 //call eax
};
*/
__asm{
lea ecx, buf
call ecx
} /* __asm{
xor eax, eax
push eax
mov eax, 0x6578652E
push eax
mov eax, 0x636C6163
push eax
mov eax, esp
push 5
push eax
mov eax, 0x770af8a0
call eax
}
*/
//WinExec("calc.exe", SW_SHOW);
ExitProcess(0);
return 0; }

[mark] first shellcode的更多相关文章

  1. java.io.IOException: mark/reset not supported

    java.io.IOException: mark/reset not supported at java.io.InputStream.reset(InputStream.java:348) at ...

  2. 逆向工程学习第二天--动手开发自己的第一个shellcode

    一个简单的c语言添加windows管理员账号的小程序,之前在渗透的时候经常用到,现在拿它来做自己的第一个shellcode. C代码: #pragma comment(lib, "netap ...

  3. [mark] 使用Sublime Text 2时如何将Tab配置为4个空格

    在Mac OS X系统下,Sublime Text是一款比较赞的编辑器. 作为空格党的自觉,今天mark一下使用Sublime Text 2时如何将Tab配置为4个空格: 方法来自以下两个链接: ht ...

  4. 【原创】内核ShellCode注入的一种方法

    标 题: [原创]内核ShellCode注入的一种方法 作 者: organic 时 间: 2013-05-04,04:34:08 链 接: http://bbs.pediy.com/showthre ...

  5. 【逆向篇】分析一段简单的ShellCode——从TEB到函数地址获取

    其实分在逆向篇不太合适,因为并没有逆向什么程序. 在http://www.exploit-db.com/exploits/28996/上看到这么一段最简单的ShellCode,其中的技术也是比较常见的 ...

  6. 特邀美国EMC实战专家Mark来华授课

    “轻松搞定EMC-PCB和系统设计”课程介绍 本次课程特邀美国EMC领域权威专家Mark Montrose主讲,将涵盖满足产品电磁兼容性和信号完整性的基本原理.课程涉及多个领域,不仅仅针对PCB设计, ...

  7. 逆向工程学习第三天--另外一个ShellCode

    上周自己打造的添加用户的shellcode太长,不过当时主要目的是为了锻炼手动asm,熟悉一些复杂的参数类型如何手动进行构造,然后通过堆栈传递. 接下来就打造一个弹计算器的shellcode来进行接下 ...

  8. 如何撤销 PhpStorm/Clion 等 JetBrains 产品的 “Mark as Plain Text” 操作 ?

    当把某个文件“Mark as Plain Text”时,该文件被当做普通文本,就不会有“代码自动完成提示”功能,如下图所示: 但是呢,右键菜单中貌似没有 相应的撤销 操作, 即使是把它删除,再新建一个 ...

  9. vim - mark

    Using markshttp://vim.wikia.com/wiki/Using_marks1. There is no visible indication of where marks are ...

随机推荐

  1. es6的一些个人总结

    es6的一些知识点 前言:es6(ECMAscript2015)标准 let.const.var的一些区别 let.const 块级作用域.全局作用域.函数作用域 var 全局作用域.函数作用域 变量 ...

  2. Oracle两张表关联批量更新其中一张表的数据

    Oracle两张表关联批量更新其中一张表的数据 方法一(推荐): UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXI ...

  3. (Android)Wifi-Direct直连

    因项目需要Pad端和手机端交互,采用wifi直连.查阅资料,大概写下一些资料和收获吧.注:大公司的代码带不出来,我也比较懒不想再认真去写一遍了,所以大概这个意思哦. wifi直连也叫做wifi设备点对 ...

  4. 《javascript设计模式与开发实践》读书笔记之函数,this,闭包

    一.函数基本理论 function compare(val1,val2){ return val1 - val2; }var result = compare(5,10); 1,函数的定义没什么意义, ...

  5. Java面向对象之抽象类,接口

    抽象类: 含有抽象方法的类被声明为抽象类 抽象方法由子类去实现 含有抽象方法的类必须被声明为抽象类 抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法 抽象方法: 声明而未被实现的 ...

  6. JAVA入门[22]—thymeleaf

    一.thymeleaf官网 官网:https://www.thymeleaf.org/index.html doc:https://www.thymeleaf.org/documentation.ht ...

  7. 【css】盒子模型 之 弹性盒模型

    参考: http://caibaojian.com/flexbox-guide.html 待补充啊

  8. 内核对象kobject和sysfs(1)——概述

    内核对象kobject和sysfs(1)--概述 问题: 在走读驱动代码时,经常看见kref,kobj,sysfs这些结构,这些结构到底有什么作用?如何理解并使用这些结构呢?这将在接下来的这一系列文章 ...

  9. cin问题 分类: c++ 2014-08-02 21:13 38人阅读 评论(0) 收藏

    string s: while(cin>>s){ cout<<s<endl; } 当输入ss w    ww   w   w 按enter时 输出为 ss w ww w ...

  10. angularjs2 ng2 密码隐藏显示

    代码结合ionic2开发移动端项目,注册页的密码的input一般用password, 但是用户输入密码时可能会输入错误,需要显示成text. 如图: 首先,输入框的类型判断: <ion-inpu ...