c语言免杀程序源码,[原创]Window下基于C/C++源码免杀理论及思路(新手篇)

本文介绍了C/C++源码级别的免杀技术,包括理解PE结构、免杀原理、工具使用以及免杀步骤。作者通过实例展示了如何进行字符串、输入表函数和版权信息的免杀,并提出了编译技巧的免杀方法,如修改程序入口点、优化编译选项等。文章适合初学者学习源码免杀技巧。
摘要由CSDN通过智能技术生成

作者:冷锋(LengF) –[BHST]

博客:www.81sec.com      时间:2011-5-22

0x00 概述

最近搞一个国外的网站,对方是用的赛门铁克的诺顿杀毒软件,而内网又只对外开放了80端口,于是就想着传个端口转发或者端口复用的工具上去,可是一上传就没了。既然已经提权了,又不想轻易放弃这台服务器。于是就想着怎么办了。自己对非源码的免杀不熟悉,于是就想到自己手头有类似于LCX的工具c源码。对此,翻了以前学习源码免杀的笔记进行了一些总结。很少看到有朋友总结这方面的资料,我就以自己的一些经验总结一些关于源码免杀的一些技巧和方法,在文中我会以一些简单的例子来表达我的思路。为此,我分享我的经验的同时,也希望大家分享自己的免杀思路,毕竟一个人的力量有限,文章中难免有些错误,还望指出。

0x01 基于源码免杀原理

在学习源码免杀原理你要了解下PE结构,懂得如何去分析一个PE的各个部分。我们在源码免杀过程中可能涉及到下面一些情况:

[1]文件头的免杀(这种情况比较少,国外杀软杀的比较比较多);

[2]代码区的免杀(最常见);

[3]字符串的免杀(也很常见);

[4]输入表和输出表的免杀;

[5]版权信息的免杀;

[6]等待你的补充……

在测试免杀的过程中我们经常会用到一些工具,比如:

MyCCL…………..用于定位特征码,应用各种类型特征码定位

C32ASM…………16进制查看和字符串查找,字符串免杀和

Ollydbg…………..反汇编动态调试工具,代码区的免杀

LoadPE…………..查看PE结构信息,段区地址/输入表地址/输出表地址等查询

做好了工具准备,我们以一个测试的VC6.0编译出来为例来描述PE的各种结构,先给出代码:

#include "stdio.h"

void PrintMsg()

{

printf("Hello!LengF.\n");

}

int main()

{

PrintMsg();

getchar();

return 0;

}

我们以Release编译输出,我们先用LoadPE打开看看,如图01:

7f54513a62a6ce60608bb7b095b21365.png

查看下入口点地址,还有子系统类型,另外就是区段表地址和输入表地址信息,对于下面分析有帮助。在用C32ASM打开这个程序,我分离各个我们在本文要涉及的区域,如图02:

5bbcc3f507375a697069cc855141fe40.png

这是对于PE结构的信息一些基本信息,我们往往并不需要准确定位各个区段

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值