壳的编写(1)-- 简介与搭建框架

最近学习了壳,自己手动编写了简单的壳,功能比较简单,现在简单整理成笔记,供大家参考。个人能力有限,如有谬误,请不吝赐教,万分感谢。

参考资料:《黑客免杀攻防》,看雪论坛等

简介

       “壳”是一种现实比较常见的东西,比如:花生壳、瓜子壳等等。这些壳主要是用来保护其自身的果实的,要想吃到这些果实,我们就需要将其剥掉。在我们的软件行业也存在这样类似的东西,这种东西我们也称之为“壳”,我们自身的软件就类似于花生仁,而“壳”用来保护我们自身的软件,避免被其他人窥探。

壳根据作用,一般分为两种:压缩壳、加密壳。无论哪种他们的原理大致是相同的。我们给自身软件加壳后就会产生新的软件,新的软件是由壳和原软件组成,在执行的时候,先执行壳,由壳对原程序进行解密并还原到内存中去,接着执行原来的程序。如下图:

当我们将带壳的程序运行后,壳就会加载自己的API函数,然后对已知的加密区进行解密,对压缩进行解压,并按照PE结构将其释放到正确的内存位置上,并进行重定位,然后跳转到原程序的入口点(OEP),运行原程序。如图:

搭建环境

开发环境

Win7x64 旗舰版
vs2013
010Edit6.03
OD1.1(吾爱破解版)
PEid0.94
LordPE


说明:

 我们想程序的界面与逻辑进行分开,这样可以使两者互不干扰。


创建三个项目

a、创建一个名称为PackBase的mfc项目,用于界面操作
b、创建一个名称为Pack_Base的dll项目,编写加壳逻辑
c、创建一个名称为Stub的dll项目,编写壳的信息

a、创建一个名称为Pack Base的mfc项目

界面如下:
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我们来一步步搭建一个基于vue-admin-template的后台管理系统。 ## 1. 准备工作 首先需要安装好node.js和npm,并确保版本符合要求。然后我们需要安装vue-cli脚手架工具,通过以下命令安装: ``` npm install -g vue-cli ``` 安装完成后,我们就可以使用vue-cli来创建一个基于vue-admin-template的项目了。 ## 2. 创建项目 使用以下命令创建一个vue-admin-template项目: ``` vue init vuejs-templates/admin vue-admin-demo ``` 其中,vue-admin-demo为项目名称,根据自己的需要修改即可。 创建完成后,进入项目目录并安装依赖: ``` cd vue-admin-demo npm install ``` 安装完成后,我们可以启动项目并查看效果: ``` npm run dev ``` 打开浏览器,访问http://localhost:9528,就可以看到一个基于vue-admin-template的后台管理系统了。 ## 3. 配置路由 在src/router/index.js文件中,我们可以看到已经定义了一个路由: ```javascript import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld } ] }) ``` 我们可以根据自己的需要修改这个路由,添加更多的路由信息。比如,我们可以添加一个Dashboard页面的路由: ```javascript import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' import Dashboard from '@/views/dashboard/index' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld }, { path: '/dashboard', name: 'Dashboard', component: Dashboard } ] }) ``` ## 4. 配置菜单 在src/layout/components/Sidebar/index.vue文件中,我们可以看到已经定义了一个菜单: ```javascript <el-submenu index="1"> <template slot="title"> <i class="el-icon-location"></i> <span>Dashboard</span> </template> <el-menu-item index="1-1">Dashboard 1</el-menu-item> <el-menu-item index="1-2">Dashboard 2</el-menu-item> <el-menu-item index="1-3">Dashboard 3</el-menu-item> </el-submenu> ``` 我们可以根据自己的需要修改这个菜单,添加更多的菜单项。比如,我们可以添加一个Dashboard页面的菜单项: ```javascript <el-submenu index="1"> <template slot="title"> <i class="el-icon-location"></i> <span>Dashboard</span> </template> <el-menu-item index="/dashboard">Dashboard</el-menu-item> </el-submenu> ``` ## 5. 配置页面 我们可以在src/views目录下添加自己的页面,比如Dashboard页面。创建一个dashboard目录,并在其中添加一个index.vue文件。 在index.vue文件中,我们可以像普通的vue组件一样编写代码,比如: ```vue <template> <div> <h1>Dashboard</h1> </div> </template> <script> export default { name: 'Dashboard' } </script> ``` ## 6. 打包部署 当我们完成了开发工作后,就可以将项目打包部署到生产环境中了。使用以下命令进行打包: ``` npm run build ``` 打包完成后,会在项目根目录下生成一个dist目录,里面包含了打包后的文件。 我们可以将dist目录中的文件上传到服务器,并配置好Web服务器,以便访问我们的后台管理系统。 至此,我们就完成了基于vue-admin-template的后台管理系统的搭建

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值