好久没写博客了,今天终于搞出了第一个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. 详细解析 JavaScript 获取元素的坐标

    引言 最近突然看到了有关图片懒加载的问题,大致意思就是初始状态下页面只加载浏览器可视区域的图片,剩余图片在当浏览器可视区域滚动到其位置时才开始加载.貌似现在许多大型网站都有实现懒加载,所以我便就此问题 ...

  2. iOS内购(IAP)中的那些坑

    公司的公共库原来并没有这部分的代码,以前做内购是用两个比较有名的github上的第三方库.一个叫MKStoreKit,另一个叫IAPManager,我看了一下写的都很辣鸡,使用起来很不方便,而且写的还 ...

  3. “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛题解&&源码【A,水,B,水,C,水,D,快速幂,E,优先队列,F,暴力,G,贪心+排序,H,STL乱搞,I,尼姆博弈,J,差分dp,K,二分+排序,L,矩阵快速幂,M,线段树区间更新+Lazy思想,N,超级快速幂+扩展欧里几德,O,BFS】

    黑白图像直方图 发布时间: 2017年7月9日 18:30   最后更新: 2017年7月10日 21:08   时间限制: 1000ms   内存限制: 128M 描述 在一个矩形的灰度图像上,每个 ...

  4. Aspose.words 书签定位

    1. 简介 Aspose.words 可以在不使用 Microsoft.Word 的情况下生成.修改.转换.打印文档.不依赖office组件,这一点给我们提供了极大的便利性,可以简单的引入 DLL(D ...

  5. 狙杀ES6之开光篇

    前言 最近有很多小伙伴在后台留言说,闰土哥,是时候来一波干货了!(机智的你们似乎已经猜到我接下来要说什么了,哈哈-).没错,今天闰土为大家带来了久违的干货文章,而且是一个系列的哦!(文章系列较长,请自 ...

  6. 51nod_1384:全排列(STL)

    题目链接 记住next_permutation函数的用法,另外string在这里比char[]慢好多啊.. //#include<bits/stdc++.h> //using namesp ...

  7. 登录界面Demo

    今天记载一个Demo,这个是我练习项目中用到,供新手看看,界面图:

  8. 【NOIP2016】Day1 T3 换教室(期望DP)

    题目背景 NOIP2016 提高组 Day1 T3 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上. ...

  9. 机器学习 —— 类不平衡问题与SMOTE过采样算法

    在前段时间做本科毕业设计的时候,遇到了各个类别的样本量分布不均的问题——某些类别的样本数量极多,而有些类别的样本数量极少,也就是所谓的类不平衡(class-imbalance)问题. 本篇简述了以下内 ...

  10. (转)WebSphere MQ基础命令

    --查看MQ版本-- dspmqver --查看队列状态--dspmq --创建队列管理器--crtmqm -q ECIS_QM --删除队列管理器--dltmqm ECIS_QM --启动队列管理器 ...