自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 基于Protobuf和Libuv实现RPC

公司要把产品转架构,虽然和我们驱动开发没什么关系,但还是抱着看热闹的心态研究了下和架构相关的一些问题。这阶段主要研究了下RPC这个东西。 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络

2016-08-23 17:03:11 3793

原创 PE文件操作-简单的加壳实现

处于一些原因,需要对PE文件进行加壳。所谓加壳就是有某种编码算法对原始文件数据进行编码,并使原始文件内容成为数据部分,而嵌进文件的解密代码成为主体。在loader加载加壳文件后,会将控制权交给解码程序,解码程序在完成解码后,再把控制权交给原始代码。 这个加壳程序是学习之用,所以只实现了最简单的可逆变换-异或运算。对文件操作用了内存映射文件,所以直接操作内存即可。 先说一下思路:对原始PE文件编码

2016-08-14 16:34:54 3692

原创 PE文件操作-动态加载

有时会有这样的需求,要把一个dll加载到进程空间或者对付地址空间随机化技术,这就需要自己实现一个PELoader。在PE文件中,许多数据在内存中的位置已经以RVA的形式在链接时给出,我们只需要根据节表的描述准确的按位置加载,大部分程序就可以正确运行了,但有几个类型的数据还是需要loader来调整的:IAT 在PE文件中,调用静态链接的DLL例程一般都是以call ds:[xxxxxxxxh]的

2016-08-14 12:34:18 1883

原创 PE文件操作-末尾添加节

有时候为了某些原因,需要在PE末尾添加节,比如加壳,补丁等等,需要对PE文件进行扩展。 在末尾添加节是最简单的方式,只需要做如下修改:修改FILE_HEADER中的节数目字段修改OPTIONAL_HEADER中映像大小字段在节描述符数组中添加新描述符在文件末尾添加新节数据首先找到文件最后一个节并计算出PE范围内的文件结尾,这里的末尾是指PE描述范围内的文件结尾,即最后一个节的结束:

2016-08-08 20:30:55 3235 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除