简单加密:手工加密.pdfVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简单加密:手工加密

简单加密 :手工加密 1 自己写个程序 ,添加个区段。 2 在新添加的区段上 ,右键 ,编辑区段 ,我们自己加上 个区段的大小 个看你自己怎么定。但要记住你添加了多大的空间 , 里我们主要 要注意virtualSize是虚拟内存大小 ,涉及内存对齐 ,可以不考虑那么多 让它跟区段文件大小一样。 把下边那个RawSize添加了 , 是区段文件大小。 因为我们要在010里手动增加 块空间。 //修改完后 ,我们回到主界面 ,可以看到区段数量和镜像大小相应发生改变 3 接着我们要在修改整个PE文件的大小 ,用010打开 //用0填充新添加的区段 ,插入 最后别忘了保存 !!!!!!!! 4 填充后 ,我们为写入壳代码的基础就建立了 ! 接着我们简单的用异或的方式加密.text段的代码 获取到了位置从400h到E00h 样代码就选中了 , //记得保存下 5 加密后 ,下一步 ,我们先完成OEP的调整 就是设置OEP将源程序的OEP该为我们新加区段的起始地址 样代码就先执行我们写的代码区 ,当然 ,处理完我们自己的代码 也要讲跳回到原来的OEP中。 为了降低难度 ,我们再加一步操作 ,去除掉基址重定位(pe偏移146h两个字节)。关于重定位以后再讲。 节主要理解加壳思路。 修改OEP 原OEP=基址+偏移=400000+1289=401289 计算下新的OEP :基址+新OEP偏移=400000+6000=406000 下边我们用利用CAll指令的特殊隐含动作 ,保存下一条指令的地址来实现跳转 注意 :call指令占用5个字节 所以我们可以 样 址处 ,写入指令 call ; 样 ,在 条指令执行完后 ,堆栈中 栈。而指令执行到了下一条处。 下一指令我们用pop eax来获取刚才保存在堆栈的地址。 我们计算下原始OEP到pop eax 条指令的长度 6005h-1289h=4D7Ch 样 ,我们让eax-4d7c就到了我们原来的OEP出 具体如下 : 拖进OD ,看看 6 基本架子搭起来了 ,但还不够 ,下边我们要进入关键的解密环节。 将代码解密。 解密时 ,我们要对代码进行读写操作 ,因此我们拿lordPE来修改下属性。 本文演示只是最基本的 (较高级的 ,是在代码中通过修改内存保护属性来达到获 得读写权限的目的 ) 还记得我们是怎么加密的吗 ?对 ,我们只是将数值与15异或了一下。 而异或操作 ,我们只需要再异或一次就可以还原代码了 ! 比如 :00110^11101=11011(不同时为真是真) 上边结果再异或 :11011^11101=00110 ( 样就还原了 ) 理清下思路 :找到原始OEP的地方 ,从那地方开始与15h异或 ! 长度就是加密的长度。 修改我们写代码的地方。具体我直接在OD注释里写了 拿lordPE看下在内存中我们加密了多长的代码 2000-1000=1000h 同样 ,将修改后的dump下来看看 样就修改完了 ,跟原始文件比较下。哈哈成功。

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档