虚竹 发表于 2015-5-24 13:10

SMC程序自修改CM爆破小记

本帖最后由 虚竹 于 2015-5-25 23:03 编辑

SMC的意思就是    Self-Modifying Code (程序自修改) 其实很多SMC时侯都要用到SMC 比如编程时
这里小菜 要感谢我们的 @Mrack 师傅 和 @神话师傅
以前一直以为SMC就是HOOK的意思 其实 也有这个意思 但是SMC是在OEP跳到空白的地方 然后修改后 在跳回到 OEP
SMC就是把code当Data来用 Mrack师傅的话                                                                下面进入正片
--------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- ---------------
教材是一个自己写的CM 大家可以自己试试才来看教程 CM下载地址:

第一步 载入OD 然后 搜索字符串



双击进入

因为我们重要讲的SMC 所以这里就简单分析一下


F7进入
验证CALL这个CM 重要就是 比较全局变量
直接nop掉 也可以完成爆破



我们可以看到他
在比较 0 和 1   这里把他内存数据 修改为 1 就可以完成爆破

我们把地址都记录起来
就可以开始 SMC了



这里我们搜索
000000000000000000
找到空白的地方然后记录起来这里就是SMC修改的地方



然后我们
重载 把OEP 和其他地址 全部记录起来




“这里我们还没运行程序"
这里是SMC
所以我们要在OEP的地方 JMP到空白地方 完成我们要修改的任务 在跳回来 (JMP是无条件跳的意思)


下面我们就可是写代码了
这里有详细的介绍    我们这里简单的介绍一下
CMP是比较的意思比如CMP
1,0那么现在比较的是 0和1
MOV是传递的意思比如MOV eax,0那么现在
EAX=0
byte 是单字节的意思 “00”
word是双字节的意思"00 00"
dword是4字节的意思“00 00 00 00”


那么现在我们就已经完成了SMC的自我修改

我们运行起来看看!

OK 已经完成了! 其实大家可以试试自己加UPX壳来试试效果!
教程的CM是没加过壳的!
下载的附加是 修改过后的 大家放入OD 搜索 000000000000 看看





学破解丶小甜橙 发表于 2015-5-24 13:18

支持大大             以后一定要多出教程哦

没钱买苹果 发表于 2015-5-24 13:19

支持大大             以后一定要多出教程{:5_116:}

阿卡林 发表于 2015-5-24 13:21

{:5_185:}羡慕温柔大大, 小菜表示这个词都没听说过..

xingfeng 发表于 2015-5-24 13:36

感觉好高端

ningzhonghui 发表于 2015-5-24 13:40

谢谢分享,这方面我要加强学习了.....

宁少 发表于 2015-5-24 13:50

感谢教程!!

by安然 发表于 2015-5-24 13:51

感谢分享,好人

antony 发表于 2015-5-24 13:56

先看教程再来评价

15844840065 发表于 2015-5-24 14:26


先看教程再来评价
页: [1] 2 3 4 5
查看完整版本: SMC程序自修改CM爆破小记