过林黑马 发表于 2019-2-11 19:48

vip1教程第一课nop报错问题求解

楼主在学习VIP1教程第一课的过程中,遇到了一个奇怪的问题,希望有大神来帮忙解答一下。第一颗是恒大讲解nop法逆向的一个飞翔劳保发放管理软件的登陆。
我分别使用了虚拟机xp环境下逆向,还有电脑win7下逆向。都是按照教程一步步来找到跳转后nop掉的。
1.找到nop的代码位置如下图:
2.win7下第一次只用一个nop后登录提示以下报错:
3.win7下连用2个nop后程序正常打开运行,逆向ok。
4.有在虚拟机xp下逆向,使用一个nop可以逆向ok。不过xp下是需要点击登录2次,第一次报错,第二次成功。
我有把虚拟机下的逆向后程序拉到win7,发现程序不能使用,报错信息跟第一个win7下只用一个nop的报错是一样的。
请教大神们,到底用为何出现win7下用2个nop才能运行ok这个情况?我的电脑有问题还是什么情况
                  第二个问题是,xp虚拟机下逆向好的为何拉到win7下就不能用了

文件超过2m,故不上传了,2个文件分别是用一个nop,一个是用了2个nop,仅此而已。附上杀毒结果

黑刀 发表于 2019-2-11 19:48

一个NOP是一个字节,你需要NOP的代码占有两个字节,所以必须使用两个NOP。如果你是用一个NOP,那么另外一个没有被NOP的字节会与后面机器指令组合成另外一条新指令,所以会导致错误出现。嗯,就是这样的。所以必须两个NOP占用你需要修改的跳转指令。不只是恒大的教程中的软件是这样,其他任何软件都是如此。
页: [1]
查看完整版本: vip1教程第一课nop报错问题求解