####破解入门####
常见的修改方法有两种,我给你举例说明:
示例 1------注册代码:
00451239 CALL 00405E02 (关键CALL,用来判断用户输入的注册码是否正确)
0045123D JZ 004572E6 (!!!<--此为关键跳转,如果用户输入的注册码正确,就跳向成功处,即004572E6处)
0045XXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX 执行到此处,就提示用户注册失败
...提示用户注册码不正确等相关信息
...
004572E6 ... <--(注册成功处!!!)
...提示用户注册成功等相关信息
##示例 1破解方法##
1,只要把那个关键跳转JZ给改为JNZ(如果用户输入的注册码错误,就注册成功,输入正确则注册失败)。
2,当然你也可以将JNZ修改为Jmp,这样的话,你输入的注册码无论正确与否。都可以注册成功。
示例2 ------注册代码:
00451239 CALL 00405E02 (关键CALL,用来判断用户输入的注册码是否正确)
0045123D JNZ 004572E6 (!!!<--此为关键跳转,如果用户输入的注册码不正确,就跳向失败处,即004572E6处)
0045XXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX 执行到此处,就提示用户注册成功
...提示用户注册成功等相关信息
...
004572E6 ... <--(注册失败处!!!)
...提示用户注册码不正确等相关信息
##示例 2破解方法##
1,这种情况的修改,除了把JNZ改为JZ外,
2,还可以将其改为Nop,Nop这个指令没有任何意义,将该条指令修改为Nop后,便可随意输入注册码来进行注册了。
####破解入门 ------ 修改代码####
以下这几个是爆破时要用到的,其它的如果感兴趣,可自行查看相关资料:
JZ=74;JNZ=75;JMP=EB;Nop=90
爆破的时候,只要对以上机器码进行相应的修改就行了,比如第一种情况的时候,可以将74修改为EB,即将JZ修改为JMP。而第二种情况,责需将75修改为90,即将JNZ修改为Nop。
###注意###
请问如何让这里的jnz强跳,去不改变文件大小
答:
如果是 short 类条件转移指令的话,直接将机器码 75 改为 jmp short 的指令机器码 EB 就是了;
如果是 near 的,即机器码为 0F 85 这样的,可以补个 nop 指令码,即将其修改为 90 E9 即可。
####破解入门 -----软件####
IDA软件,网上有的是教程,不多说了。
IDA可以修改 86 64 的DLL。所以推荐用这个。至于用,OD,UE这个看个人喜好。OD只能打开86的DLL。
如何修改数据
在Hex View窗口下,[S1]双击要修改的地方[S2]使用[F2]捷方式修改当前字节[S3]再按下[F2]快捷方式应用修改。
参考:
http://www.52pojie.cn/thread-348567-1-1.html
http://www.cnblogs.com/xinyuyuanm/archive/2013/05/26/3100543.html
http://blog.sina.com.cn/s/blog_45e2b66c0101bsfb.html
http://blog.csdn.net/lee353086/article/details/46423737