简易SMC编写

SMC是Self Modifying Code的简称,意义为在运行中进行自修改的代码(可以视作一种简化了的壳)
本文主要给出一个简单的SMC程序及其解释

由于需要对固定的地址进行读写操作,所以建立工程时需要注意关闭ASLR
文中是直接对代码段进行操作,所以需要借助工具修改text段的属性使其可写

LoadPE修改区段属性

下面给出具体做法

首先确定需要加密的代码部分:

VS反汇编

通过vs查看反汇编(或者OD、IDA等)可以确定对应部分的反汇编代码

然后将这段代码手工用16进制编辑器覆盖为加密后的数据

程序执行时则运行事先写好的代码先进行解密再运行

Github

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 本篇文章是个人对IDA逆向工程的研究,相关内容:逆向工程的简介、IDA基本使用和工作原理、反编译可执行文件部...
    朴下柔阅读 5,002评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,660评论 25 709
  • 晚饭后,经不起女儿儿子的一再要求,带他们去体育场去玩蹦蹦床。蹦蹦跳跳可能是孩子最大的乐趣了,只要有弹性的地方,就...
    刘秀霞阅读 3,081评论 0 0
  • 凉水 夜半独弦月,江河水自流。林中闻物语,风月离人愁。柳暗枝无静,花孤影且幽。夏虫忽静语,你我为何求?
    落草为马阅读 2,507评论 0 0
  • (补交12号作业) 我们不是缺少美,而是缺少发现。 我们所到之处,总能看到一些风景,无论是有心还是无心。我也喜欢所...
    Predestinate阅读 9,351评论 0 1