对于我们新手来说,程序是什么语言编写的?程序到底有没有加壳?程序加了什么壳?一直在我们心中充满了疑惑,本文我将根据我的近期学习,总结一下常见的工具和壳的特征。

  一:程序是什么语言编译的
    从目前接触到程序看,比较流行的编译器有:VC系列、易语言、.NET、Delphi,Python,一些曾经用的很多但渐渐少了有:VB、ASM、BC++,还有一些用的比较少的有:AutoIt、PB、QT等,下面提供一些由论坛同学编译出来的试炼品,结合实例来看看“入口点代码”、“程序区段”和“加载模块”等特征。

  1、VC6编译无壳程序

    OllyDbg查看入口点代码如下:

PEID查看区段如下:

VC6特点:入口点代码是固定的代码,入口调用的API也是相同的,其中有的push地址不同程序可能不同;区段有四个也是固定的.text、.rdata、.data和.rsrc。

2.VS2008和VS2013编译无壳程序

OllyDbg查看入口点代码如下:

PEID查看区段如下:

VS特点:入口点只有两行代码,一个CALL后直接JMP,第一个CALL进去后调用的API也是相同的;区段相对于VC6多了一个.reloc。

3.2、易语言编译无壳程序(独立编译和非独立编译) (由于易语言独立编译是调用VC的链接程序编译的,所以从区段和入口代码特征和VC相同,下图为非独立编译带运行库)

OllyDbg查看入口点代码如下:

查看模块:

查看核心代码:

易语言特点:可以从程序里找一些call的调用最终都会走到上面核心代码图位置(文字不太好表达),这个方法可以区分和VC的区别,非独立编译比较容易识别,入口特征和模块特征都有krnln.fnr。

二:如何识别加壳

1、通过PEiD、Exeinfo PE等查壳工具内置各种壳的十六进制特征码进行对比查壳.

2、通过入口特征和区段特征来识别

                                                                          学习资料来源吾爱破解

最新文章

  1. jquery动态生成的元素添加事件的方法
  2. Flash Builder 4.7 注册机完美激活方法
  3. Python爬虫学习(4): python中re模块中的向后引用以及零宽断言
  4. JCrop+GraphicsMagick+Im4Java 实现图像裁减
  5. 【poj2478】 Farey Sequence
  6. Pyqt 音视频播放器
  7. Linux中ctrl-c, ctrl-z, ctrl-d 区别
  8. STL--queue
  9. npm ERR!无法安装任何包的解决办法
  10. Memcached使用
  11. 2个Web上传组件
  12. Linux鸟哥的私房菜(3)— 总体规划和磁盘分区 读书笔记
  13. ubuntu下pip install mysql-python 失败的解决方案
  14. MapControl Application 添加自定义的工具条
  15. java实现中文分词
  16. 使用keytool自建证书及应用
  17. 编译PHP扩展amqp & php消息队列 rabbitmq
  18. @1-2初识Python爬虫
  19. pandas入门——loc与iloc函数
  20. HDU 4638 树状数组 想法题

热门文章

  1. Ckrule业务规则管理系统简介
  2. 【转】python安装库
  3. C/C++:函数的调用约定(Calling Convention)和名称修饰(Decorated Name)以及两者不匹配引起的问题
  4. java面试题全集(上)--java基础
  5. Cloud Foundry和微服务Meetup重磅来袭
  6. MySQL的基础(优化)3
  7. Ant Design项目记录和CSS3的总结和Es6的基本总结
  8. 科技巨头之微软-Microsoft
  9. C++中临时对象的产生与优化
  10. hihocoder 后缀自动机四·重复旋律6