11. OD-Delphi程序暴力破解

版权声明:墨痕诉清风 https://blog.csdn.net/u012206617/article/details/88083491


查找关键字符串:Registration

可以看到没有任何函数跳转到此行验证成功的代码

最上面是retn返回上层函数

下面两个jmp跳转到了别处

jnz也是跳转到了别的地址

尝试jnz改为nop也没有用依然失败

右键此行命令,查看哪里还调用了此行指令

双击进入

我们看到又回到了以前的代码

这是Delphi的特性

如果看到push 004A5841

那么下面的retn其实就是jmp 004A5841等价的指令

往上翻页,看到很多注册验证时出现的错误字符串提示

我们在中间下断点

调试跟中

如果进入动态库领空直接将call改为nop

如果此跳转不改,会进入报错的字符串,所有这里我们改为jmp

继续调试。如果发现跳转到报错字符串我们就改指令

如果错过了注册正确的指令,那么往回翻修改跳转指令,看跳转红线如下图,改为不可以跳转

至此成功

总结:

Delphi有很多的call

push 后面经常是地址,后面跟一个retn,其用意其实就是jmp push后面的地址

F8逐步调试

发现进入错误字符串指令则修改前一个跳转指令

发现跳过正确字符串指令则修改前一封跳转指令

直至镇正确

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/88083491
今日推荐