第二十八天:查壳

嗨大家好我是Andy,昨天和前天讲述过DLL的壳和脱壳的工具,那今天我们来看一下要怎麽实际用PEiD查壳,或是他有甚麽方便的功能让我们用呢?!今天就来探讨看看吧!废话不多说,我们直接进入主题。


该怎麽查壳

我们今天使用PEiD来做查询的动作,目前先选一个档案

在这个档案中可以发现他是使用Microsoft Visual C++6.0 DLL创建而成的,而我们可以在扩展讯息上面在点开

看起来是没有加壳的状态
接着我们可以点开
会看到一大长串的组合语言

多专案扫描

可以一次扫很多个档案方便找哪个有加壳哪个没有加壳


这边就有找到一个档案是常见的UPX加壳

找到是甚麽壳之後就可以利用现有的软件进行脱壳,当然如果是高手高手高高手可以用手动脱壳

EXE和DLL脱壳的区别

DLL

DLL中的OEP是DllMain原始函数的开始地址,加壳DLL列出的开始地址是脱壳中的一个地址。

OEP是调用GetModuleHandleA的GetVersion

EXE

exe的入口只会开始时执行一次,但DLL的入口在整个执行过程中至少会跑两次,一次是开始,另外一次是退出,就跟我们一开始说的那四个case一样都放在入口点,所以才会被调用两次。

结语

本来今天想说可以反组译一下DLL,但是由於智慧财产权的关系要自己去弄一个DLL加密,加密後脱壳再反组译,各位也不要去轻易尝试惹祸上身,好了今天的学习笔记就到这里了,目前只剩两天,一天看看明天有甚麽可以看的,最後一天是照常的完赛心得?!这必须的,感谢各位这一个月的观看,看一个菜鸡写文章哈哈哈,我们明天见。


<<:  拥抱「资料结构」的「演算法」(28) - 深度优先与广度优先搜寻法

>>:  从零开始-30日练习开发iOS APP-IQKeyboardManagerSwift Day-29

[Android Studio 30天自我挑战] CardView点击後显示Toast

很多时候我们会透过Button或是TextView等不同的原件, 都可以利用setOnClickLi...

[Day14] 学 Reactstrap 就离 React 不远了 ~ 用 Navbar 认识 useState

前言 今天真的要进入 useState 了!!!!! 进入今天文章前请看一下昨日文章, 里面有写到关...

Day 12 Self-attention(六) Multi-Head Self-attention

Multi-Head Self-attention 前面介绍的方法是one head的方法,这边要来...

Day29 - [Shioaji] 超入门!永丰证券程序交易API快速上手 (2)

今天来看一下如何使用Shioaji问回历史交易资料,不过在此先提醒一下,上一篇有讲到的永丰讲师的Yo...

DAY03 环境建构(Anaconda + Jupyter Notebook)及套件工具安装

所谓"工欲善其事,必先利其器",我们需要一个强大的工具来辅助我们进行资料分析,今...