jmp软件教程 jmp模型预测器
摘要:如何用OllyICE破解收费软件 首先你要学会脱各种壳,这不是说仅仅是知道壳的名字和作者就知道怎么脱,而是说你用OD单步的时候你知道那里能跳到OEP。其次是修复,修复IAT之类的。有了无壳的程序就随便...
发布日期:2020-09-09如何用OllyICE破解收费软件
首先你要学会脱各种壳,这不是说仅仅是知道壳的名字和作者就知道怎么脱,而是说你用OD单步的时候你知道那里能跳到OEP。
其次是修复,修复IAT之类的。
有了无壳的程序就随便邪恶了。
所以汇编是基础,要读懂汇编代码。
之后去了解每一种编程语言的入口点特征。
还要了解一些API函数的功能。
我看过一些视频教程,像小生的,黑鹰的等等。
但是都是教怎么做,理论知识很少。
现在只是知道那样做却不知道为什么。
所以建议看一些基础的书,比如汇编语言程序设计,windows程序开发,API编程,最后看些破解书籍,我们学校图书馆就有这些书,我看着枯燥。
但这不是急功近利的事,但是也不难。
我现在看到API编程了,刚看了不到一半都快疯了,有时候一页书能看几个小时。
现在的书本也奇怪,还没有写过就开始用,之后后面再将前面的怎么怎么回事。
如果只是想娱乐下,就去看视频。
我刚把盘分区了,很多教程都没有了,也不打算恢复。
楼主可以自己去吾爱破解之类的网站注册个会员。
那里教程很多。
学脱壳有个捷径,看查到壳的名称,之后弄个没有壳的程序查OEP。
然后用相应的加壳程序加壳,这样脱壳思路会多一点。
没有壳你就自己去改跳转吧。
OD载入,运行,点击登录,暂停程序,运行到返回,点确认钮,观察周围的跳转让程序跳到该去的地方
jmp指令?(无条件转移指令)(控制指令
级,修改程序,用ultraedit等工具修改exe文件,称暴力破解,简称爆破中级,追出软件的注册码高级,写出注册机先说这爆破。
所谓爆破,就是指通过修改可执行文件的源文件,来达到相应的目的。
你不明白?呵呵,举个例子好了,比如说某共享软件,它比较用户输入的注册码,如果用户输入的,跟它通过用户名(或其它)算出来的注册码相等的话(也就是说用户输入的注册码正确了),那么它就会跳到注册成功的地方去,否则就跳到出错的地方去。
明白过来了吧,我们只要找到这个跳转指令,把它修改为我们需要的"造型",这样,我们是不是就可以为所欲为了?(某软件双手放在胸口,你要干嘛?)常见的修改方法有两种,我给你举例说明:no.1在某软件中,这样来进行注册:00451239CALL00405E02(关键CALL,用来判断用户输入的注册码是否正确)0045123DJZ004572E6(!!!
(满意追加)免杀方法或者免杀教程,学习用,非常感谢
首先来简单了解一下杀毒软件查杀病毒的原理,当前杀毒软件对病毒的查杀主要有特征代码法和行为监测法。
其中前一个比较方法古老,又分为文件查杀和内存查杀,杀毒软件公司拿到病毒的样本以后,定义一段病毒特征码到病毒库中,然后与扫描的文件比对,如果一致则认为是病毒,内存查杀则是载入内存后再比对,第二个比较新,它利用的原理是某些特定的病毒会有某些特定的行为,来监测病毒。
免杀常用的工具: 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的使用视频教程.谢勒
自己学一下8088汇编手册 最少熟悉一下C语言和汇编语言 然后在学OD就好学了学习一下OD的八种跟踪法OD的单步断点法 内存镜像断点法 ESP定律法 模拟跟踪法等等在熟悉一下基本口令到复杂口令 比如EAX EBX ECX MOV JL JMP PUSHAD PUSHFD等等不懂的地方去8088汇编手册里看 最主要是实践 找点北斗壳 穿山甲壳 脱一脱 破一破慢慢的就会用了一般你有基础的话1年到2年就能学会C语言和汇编语言并且能OD反调试任意软件了可以看懂程序啦 你要笨这辈子都没希望了。
。
。
祝你好运
300英雄安装时有一个data.jmp文件复制失败怎么办
soft_reset(); 一般可实现软件复位。
办法3:用软件实现的硬复位。
需要牺牲一个单片机引脚,且增加了单片机外部电路构造的复杂性,很不可取,且增加了单片机外部电路构造的复杂性。
这用汇编是很简单的事,而C则比较难以实现。
但是;2;5,也基本上是唯一的一个办法。
但并不是所有单片机都具备看门狗的功能。
只有RETI指令可以使中断挂号寄存器清零。
51单片机有两级中断优先级,所以需要执行两次RETI指令、用单片机自带的软件复位指令或内狗指令;6、goto大法,同样需要牺牲一个单片机引脚,而且goto不能跑到函数外面去执行一个命令,因为复位是纯硬件过程,软件是不可控的.但是我们还是要讨论方法,一般流传的方法如下:1、放狗。
目前可能极少数单片机或者用户已经自行添加Boot load时用户程序的程序开始地址并不为0x0000,所以需要查找这些特定单片机的启动地址,然后goto命令。
但需要注意,如果是在中断例程里,那么中断挂号寄存器仍置位,在程序的唯一循环中设定一个条件,#00111100B!STC 51系列单片机Datasheet中指出:传统的8051 单片机由于硬件上未支持此功能;天堂雨林博客对以上方法的意见:方法1:“放狗”是单片机软复位的最好办法,内狗也是一条指令MOV WDT_CONTR。
如STC的单片机有软件复位指令,实现了此功能。
用户只需简单的控制ISP_CONTR 特殊功能寄存器的其中两位 SWBS / SWRST 就可以系统复位了。
办法6:程序从头(上电复位处)开始运行,且只有一个循环这种情况,当然可以用goto,如在main()的开头设一个start:单片机实现软件复位(软复位)的方法及讨论 单片机实现软件复位(软复位)的方法及讨论(天堂雨林博客blog,只是把程序转到地址0去执行,很不可取。
但不能把它单单地当成是复位,应该叫上电复位。
办法5:Atmel 89C不带内狗,S的有内狗,只是一条指令就行,实现起来较麻烦。
办法2。
在keil C51下面可以这样实现,goto命令尽量不要用,即ISP_CONTR,地址在0E7H 单元(即str ISP_CONTR=0xE7),MOV ISP_CONTR,#00100000B(C语言为ISP_CONTR=0x20):类似办法3,因为goto会到处乱窜,不如用一个JMP更直接;}在需要软件复位的地方使用语句。
办法4:这不是复位。
现STC 新推出的增强型8051 根据客户要求增加了ISP_CONTR 特殊功能寄存器、((void(code *)(void))0x0000)();3、用单片机一个引脚控制点一下RSTRST;4、用单片机一个引脚控制重新加电,同级中断不能执行。
所以必须先使中断挂号寄存器清零,EA = 0;acer收集整理)单片机软复位有什么好的方法?如从机收到复位命令(软件命令),程序怎么使机器复位?虽然要使软件始终处于可控状态.sina.com.cn/,最好不要用"复位",用户必须用软件模拟实现:void soft_reset(void){ ((void (code *) (void)) 0x0000) (),也不是一个万全之策