SMC补丁破解
搜索了一下论坛,还没有讲SMC的,今天我闲着无事做就来写个简单的SMC逆向首先借用别人的文章科普下SMC
一、什么是SMC?
SMC(Self Modifying Code):自修改代码,应用于不脱壳逆向。二、什么情况下使用SMC?
有壳。一般情况下程序执行过程中代码无法修改(取决于程序编译过程的选项)。三、SMC实现过程?
原来:壳--->程序
现在:壳--->SMC--->程序
为了不破坏壳的代码,都在壳代码执行完后执行SMC
SMC中修改的是程序中注册机制的关键点。四、关键代码
mov byte/word/dword ptr ,某值
jmp
OEP是Orignal Entry Point的缩写,这里指地址。加过壳的程序载入时停的位置叫EP。
byte/word/dword分别对应字节、字、双字,分别为8Bit,16Bit,32Bit。后面的“某值”长度和前面对应。**** Hidden Message *****
感谢分享,楼主辛苦了
mm475 发表于 2014-12-7 20:32
辛苦写了2小时,没人看!好悲催!沙发自己坐吧!
{:6_215:}那是我还没看到,否则一定顶
辛苦写了2小时,没人看!好悲催!沙发自己坐吧!{:6_221:}
楼主辛苦了,写的很详细,谢谢!学习了!
说得好牛逼学习了
仔细研究学习了下你“启动到注册框后回溯,找段首再回溯,再到段首再回溯……”似乎没说清楚,怎么到关键代码的
叶落 发表于 2014-12-7 21:01
仔细研究学习了下你“启动到注册框后回溯,找段首再回溯,再到段首再回溯……”似乎没说清楚,怎么到关键代 ...
大概4次把!然后单步F8,直到有个小循环,F4就会打开registered window!下面代码下断,点注册就会断下来
mm475 发表于 2014-12-7 21:04
大概4次把!然后单步F8,直到有个小循环,F4就会打开registered window!下面代码下断,点注册就会断下来 ...
{:6_224:}我是新手菜鸟,大大说的我听不懂。。。
叶落 发表于 2014-12-7 21:11
我是新手菜鸟,大大说的我听不懂。。。
上面找不到就直接按下面的思路注册,其实那段代码就是个写注册表的过程,自己在注册表里的user项里增加自己的名字是一样的效果,我之所以弄那段代码是有个通用性!