您的位置:首页 > 编程语言 > PHP开发

[哎]关于ftp扫描工具的破解问题

2011-08-08 09:36 471 查看
先前发布过一个工具,用于ftp弱口令扫描

文章地址:/article/1730308.html



当时为了吸引一些反汇编方面的高手交流,故意把DLL使用期限限制在2010年,可惜没人鸟我~~~~~~~~~

下面就自己破解吧,解解闷。



源代码:



其实把系统时间调到2010年,就不会出现下面的框框~



我们看下,上面的C语言代码编译后是什么样:



看下开头,一条入栈指令 push ebp,长期以来,指令指针寄存器sp(32位的esp)都被ebp代替了

到最后结束的时候必定有一条pop ebp 恢复ebp寄存器的值,破解时候基本可以用这个来确定函数的开头



我们对比下时间检测语句



cmp是比较语句,其中0x7DA(7DAh)的十进制值为2010,我们只需要把这段改掉,就可以任意使用这个DLL了

可能有的人会说:大侠,我如果有你的源代码,我哪里还要费事去看汇编呢?

不错,我们就丢弃源代码,看看没有源代码情况下找到代码的位置(跟踪我就不说了)



用WIN32DASM 可以看到DLL输出的函数以及函数的位置,显然InitModule函数是我们主要破解入口

因为VB的源代码就是运行到这里失败的



跳转到代码位置就可以看到跟刚才一样的汇编指令了



可以了,呵呵,我们主要用OD,或Olly Ice来搞……





好,我们用Olly打开这个DLL,然后直接跳转至0x100019d0







跳转指令就随便修改:



比如改为jg 就是大于ecx才跳转,也就是说大于2010年的都不跳转了~~~~



当然,还有无耻一些的就是修改2010这个常量!





淑女训练完毕,替换原来的,当然原来的最好封存起来,而不要直接杀掉,也就是备份嘛……





好了!就这么多,,,,,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: