首页 > 编程知识 正文

cia最近解密一批文件,apk加密加壳工具安卓版

时间:2023-05-06 08:40:28 阅读:206143 作者:3618

问题

1、 什么是壳?它是干嘛的?
2、 有哪些壳类型?
3、 壳是怎么加载的?
4、 加壳软件有哪些?

什么是壳?

加壳的目的:为了隐藏程序真正的OEP(入口点),防止被破解。

加壳软件是一种在编译好可执行文件之后,为了一些特定的需求,而做的一些事情,常见需求有:

有一些版权信息需要保护起来,不想让别人随便改动为了让程序ysdjqm点,从而方便使用(把可执行文件进行压缩使用)在黑客界给木马等软件加壳以避免杀毒软件

软件的壳的分类:

加密壳压缩壳伪装壳多层壳… 壳的加载过程

加壳过的exe是可执行文件,它可以像正常的exe一样执行。

用户执行的实际上是外壳程序,外壳程序负责把用户原来的程序在内存中解压缩,并把控制权交还给解开后的真正程序,这一整个都是在内存中运行的,对于用户来说是透明的。

壳比原程序代码更早获得控制权。

壳的加载过程:
一般壳的装载过程:

获取壳所需要使用的API地址
加壳后的文件,比未加壳的文件的输入表所引入的API少(甚至只有Kernel32.dll以及GetProcAddress这个API函数);壳实际上还需要其他API函数来完成一些事情,它为了隐藏这些API,一般只在壳的代码中用显式链接的方式来动态加载这些API解密原程序的各个区块(Section)的数据
壳一般是按区块加密的,那么解密的时候也是按区块解密,并且把解密的区块数据按照区块的定义放在合适的内存位置;如果加壳时用到了压缩技术,那么在解密之前,需要用对应的解压缩技术。重定位HOOK-API
程序文件中国的输入表的作用:让Windows系统在程序运行时提供API的实际地址给程序使用,这个是在程序的第一行代码执行之前,由Windows系统完成的操作。
而壳一般是修改了原程序文件的输入表,然后仿照Windows系统的工作来填充输入表中的相关数据,在填充过程中,外壳就可填充HOOK-API的代码地址,从而可以间接获得程序的控制权。跳转到程序原入口点
这个时候,壳把控制权交还给原程序
常见的加壳软件

加壳软件按照其加壳目的,一般可分为两类:

压缩 ==》 减小程序体积【ASPacK、UPX、PECompack等】保护程序 ==》 用了各种反跟踪技术保护程序不被调试、脱壳等【ASProtect、Armadillo、EXECryptor等】 Shell

shell是操作系统与外部最主要的接口,是操作系统最外面的一层

shell提供了用户与操作系统之间通讯的方式【交互式:从键盘输入等;非交互式(shell script):放在文件中的一串shell和操作系统命令,它们可以被重复使用(本质上,shell script 是命令行的简单地组合到一个文件里面)】shell是一个命令解析器,它解释用户输入的命令并且把它们送到系统的内核去执行。
黑客入侵时要得到的是有admin权限的shell,才能完全的控制系统。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。