有vmp壳的软件怎么在win7下用od调试
我一般就在Jl那段段首retn的,然后在jl那段的段首retn,如果是易语言的话可能会发现是一个jl跳到这那段的,有的忘了关机下ExitWindowsEx断点,关机我只处理过易语言的,然后来到在返回的上一层的段首。
jl那段里面的代码好像有重启什么的功能,当程序断下后从堆栈中返回上一层
脱壳软件是不是就可以看到源代码了
理论上是完全可以把源代码逆向分析出来的,也有人搞过,不过反汇编出来的代码不堪入目,效果没有反汇编成汇编语言的好,反汇编成汇编代码所有编程语言通用当然也可以反汇编成机器码(谁去学~)。
像VB编程一样你输入源代码通过VB编译器编译成EXE(DLL)可执行文件,源代码已经编译成PE文件结构,所以你不可能再看到源代码。
OD只是把程序反汇编成汇编代码并不是源代码。
反汇编出的代码和系统跟硬件执行代码相同。
这样修改OD中的反汇编的代码相当修改了在内存执行的代码。
反汇编具体原理可以看PE文件结构。
逆向工程不仅想要汇编 还要PE文件结构 理解系统运行原理 逆向方法等等世上无那事 ,只怕有心人。
免杀有什么用,什么情况下的软件要进行免杀
一.关于免杀的来源 为了让我们的木马在各种杀毒软件的威胁下活的更久. 二.什么叫免杀和查杀 可分为二类: 1.文件免杀和查杀:不运行程序用杀毒软件进行对该程序的扫描,所得结果。
2.内存的免杀和查杀:判断的方法1>运行后,用杀毒软件的内存查杀功能. 2>用OD载入,用杀毒软件的内存查杀功能. 三.什么叫特征码 1.含意:能识别一个程序是一个病毒的一段不大于64字节的特征串. 2.为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到 免杀效果,当然有些杀毒软件要同时改几处才能免杀.(这些方法以后详细介绍) 3.下面用一个示意图来具体来了解一下特征码的具体概念 四.特征码的定位与原理 1.特征码的查找方法:文件中的特征码被我们填入的数据(比如0)替换了,那杀毒软 件就不会报警,以此确定特征码的位置 2.特征码定位器的工作原理:原文件中部分字节替换为0,然后生成新文件,再根据杀 毒软件来检测这些文件的结果判断特征码的位置 五.认识特征码定位与修改的工具 1.CCL(特征码定位器) 2.OOydbg (特征码的修改) 3.OC用于计算从文件地址到内存地址的小工具. 4.UltaEdit-32(十六进制编辑器,用于特征码的手工准确定位或修改) 六.特征码修改方法 特征码修改包括文件特征码修改和内存特征码修改,因为这二种特征码的修改方法 是通用的。
所以就对目前流行的特征码修改方法作个总节。
方法一:直接修改特征码的十六进制法 1.修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制. 2.适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能 否正常使用. 方法二:修改字符串大小写法 1.修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了. 2.适用范围:特征码所对应的内容必需是字符串,否则不能成功. 方法三:等价替换法 1.修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令. 2.适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等. 如果和我一样对汇编不懂的可以去查查8080汇编手册. 方法四:指令顺序调换法 1.修改方法:把具有特征码的代码顺序互换一下. 2.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行 方法五:通用跳转法 1.修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行. 2.适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法. 七.木马免杀的综合修改方法 文件免杀方法: 1.加冷门壳 2.加花指令 3.改程序入口点 4.改木马文件特征码的5种常用方法 5.还有其它的几种免杀修改技巧 内存免杀方法: 修改内存特征码: 方法1>直接修改特征码的十六进制法 方法2>修改字符串大小写法 方法3>等价替换法 方法4>指令顺序调换法 方法5>通用跳转法 方法6>利用免疫工具阻止内存查杀
(满意追加)免杀方法或者免杀教程,学习用,非常感谢
首先来简单了解一下杀毒软件查杀病毒的原理,当前杀毒软件对病毒的查杀主要有特征代码法和行为监测法。
其中前一个比较方法古老,又分为文件查杀和内存查杀,杀毒软件公司拿到病毒的样本以后,定义一段病毒特征码到病毒库中,然后与扫描的文件比对,如果一致则认为是病毒,内存查杀则是载入内存后再比对,第二个比较新,它利用的原理是某些特定的病毒会有某些特定的行为,来监测病毒。
免杀常用的工具: Ollydbg 调试器简称OD,动态追踪工具 peid 查壳工具 PEditor PE文件头编辑工具 CCL,伯乐,MYCCL 特征码定位器 oc 地址转换器 reloc 修改EP段地址工具 zeroadd 加区工具 Uedit32 十六进制编辑器 免杀方法 一.文件免杀 1.加花 2.修改文件特征码 3.加壳 4.修改加壳后的文件 二.内存免杀 修改特征码 三.行为免杀 加花 加花是文件免 杀的常用手段,加花原理就是通过添加花指令(一些垃圾指令,类似加1减1之类废话)让杀毒软件检测不到特征码。
加花可以分为加区加花和去头加花。
一般加花 工具使用加区加花,当然也是可以手工加的,就是先用zeroadd添加一个区段,然后在新加区段里写入花指令,然后跳转到原入口;去头加花,是先NOP (汇编里的空操作)掉程序的入口几行,然后找到下方0000区,写入NOP掉的代码和一些花指令,再通过JMP(汇编里的无条件跳转)跳到原入口。
加花以后一些杀毒软件就认不出了,但有些比较强悍的杀毒,比如司机大叔(卡巴斯基)可能还是能查出来,这时就要定位特征码然后修改了,要修改首先必须知道特征码在哪里,所以需要先定位特征码,这是个难点,特别是复合特征码的定位。
特征码定位 特征码定位主要有两种方法:第一 直接替换法;第二 二叉数法; 直接替换法是最早开始出现的一种特征码定位方法,按一定的字节数逐个替换原代码并保存,比如木马总共100字节,可以先把0-10个字节用0替换,保存, 然后用杀毒软件扫描,不被查杀说明特征码已经被覆盖掉了,如果还被查杀则替换10-20字节,再保存,扫描……直到找出特征码。
替换法的优点是容易理解, 速度快(对文件特征码而言),特征码定位工具伯乐以及CCL的手动方式就是利用的替换法原理,文件特征码定位经常使用的就是这种方法。
但是对于内存特征码的定位这种方法就不太实用了,每次替换以后都要载入内存再扫描,如果木马较大,替换生成的文件会 非常多,每个都要载入内存花费太多时间,除此之外它还有一个非常大的局限性,就是只能确定只有一处特征码的情况(某种特定情况下的多特征码也是适用的,下 面的第3种情况将有讲述),杀毒软件还有别的定位特征码的机制,比如有的杀毒的定义了a,b两处特征码(三处或者更多原理是一样的,为了讲解方便,以下均 以两处为例),只要a,b有一个存在便报毒,只有加大替换范围直到两处同时被替换才不报毒,如果两处距离比较远,定义出的范围将非常粗糙,很明显直接替换 法将不再合适,这时第二种方法就有用武之地了。
二叉数法使用的原理是一半一半定位,CCL的自动方式就是运用的这个原理。
将待检测段一分为二,分别替换并生成两个文件A和B,其中A是原文件后半部分被0替换后生成的,B是前半部分被0替换的,杀毒开始查杀生成文件(如果是内存特征码定位则先载入内存再扫描内存),有4种情况 (1)A存在,B被删:这种情况说明A文件中特征码已经被替换掉,因此将A的被替换部分一分为二,起始偏移为A的偏移,再进行检测; (2)A被删,B存在:这种情况说明B文件中特征码已经被替换掉,因此将B的被替换部分一分为二,起始偏移为B的偏移,再进行检测; (3)A存在,B存在:这种情况说明没法定位A和B中有没有特征码,因此分别对A和B再一分为二进行检测; (4)A被删,B被删:这种情况说明两个区段都存在特征码,因此分别对A和B再一分为二进行检测。
对A再分时会将原来的B区段填充为0,相当于去除B区段的影响,只考虑A;同理对B再分时会将原来的A区段内容填0,相当于去除A区段的影响,只考虑B。
第(1)(2)对应的是只有一处特征码的情况,比较容易理解; 第(3)对应的是定义了a,b两处特征码的情况,但是和前面提到的那种不同,杀毒软件为避免误判,定义了a,b两处特征码,要ab同时存在时才报毒,假设a,b分别存在于A,B中,a,b不同时存在,杀毒对A,B均不报警,接下来该如何判断呢?举个例子说明一下 木 马原来是…a……b…,第一次替换以后A:…a…000000,B:000000…b…,现在ab不同时存在,A,B都不被杀,则分别对A,B再次一分为 二,…a……b000,…a…000…,000……b…,…a000…b…,再次扫描就可以找到两处特征码的位置,如果还是不行,再继续分……直到全部找 到;其实这种类型的多特征码直接替换也是可以定位的,甚至效果更好,按一定位数替换,然后扫描,只要替换了一个特征码就不再报毒,所以不报毒的便是特征码 被覆盖的,不管有几处都可以定位出,而且修改时也只要修改任意一处就可以了。
第(4)种对应的情况也是杀毒定义了多处特征码,就是上面提到的那种情况,只要有一处符合就认定是病毒。
...
OD手动脱壳的一般步骤是那些?
1.首先用查壳软件,查软件是什么壳。
查明后,把要脱壳的软件放入OD中,以压缩壳为例,F8单步走,只能让程序往前跳,不能让程序往后跳,用F2或F4下断点就可以。
当达到OEP后,就可以用PE工具脱壳了。
建议看看三人行以前做的脱壳初中高教程。
以前爱国者安全网。
我用peid 查看一个软件的壳,如何脱壳?详情见内
看来文件加的是UPX壳,这个壳是最好脱的啦对于这种壳最傻瓜的脱壳方法就是利用现成的软件脱壳,建议你先下载一个叫“upx压缩和解压器”的程序,打开,把你要脱壳的文件托进去,然后点击“执行”就行啦,再用PEID查时就脱去了壳~~~关于手工脱壳方面的知识,有的比较复杂,建议可以积累积累,看看这方面的技术文章,像常挂在嘴边的“ESP定律法”等等,都可以去学学~~~
求win7系统破解SE壳过OD的办法
win7下是可以使用OD的。
1、打开百度搜索win7 od软件。
2、根据需要点击相应的页面下载即可。
OD,软件名称,反汇编工具OD=OllyDebug,一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3 级的调试器,己代替SoftICE成为当今最为流行的调试解密工具了。
同时还支持插件扩展功能,是目前最强大的调试工具。
基本上,调试自己的程序因为有源码,一般用vc,破解别人的程序用OllyDebug。
OBM的那个啥