过狗菜刀的制作

  • A+
所属分类:安全文章

首先截下我的菜刀版本:

过狗菜刀的制作

先,要反汇编,我们要查壳,因为无壳,才好知道他是什么语言写的,程序也不会跑飞。

过狗菜刀的制作

查了下,发现时UPX的,这个网上脱壳机,一把大。。

也没什么技术含量。ESP定律我都忘记的差不多了。。

UPX壳主要是为了压缩软件的,是一款不错的压缩壳。

好了脱壳后我们看看。

过狗菜刀的制作

C++6.0好了,我们知道了程序。。
在制作的时候,我们还应该做点准备工作。。

因为数据讲究精确性,我们先截取他的封包看看

过狗菜刀的制作

过狗菜刀的制作

我们知道,能不能过狗的关键之处在于User-Agent: 的伪造。

于是我们发现了。。User-Agent: Mozilla/5.0 (Windows; Windows NT 5.1; en-US) Firefox/3.5.0。
好,先用本子记着。。我们接下来要用到。。

(在这里我要说一下,有个误区,有的童鞋喜欢去搜索User-Agent。

别的程序也许可行,这个程序,你搜索这个关键字就错了。

后面是以Firefox为关键字进行搜索。)


OK,把菜刀载入OD。。

过狗菜刀的制作

然后,接下来,我们搜索unicode的字符。

过狗菜刀的制作

然后我们就搜索关键字Firefox吧。

过狗菜刀的制作

OK.成功找到了。。。我们双击进去。。

过狗菜刀的制作

我们看到,他指向push chopper_.00487E20。
先记住这个地址00487E20。

这句话的意思,把这个地址压入堆栈,那么此地址就是记录着Mozilla/5.0 (Windows; Windows NT 5.1; en-US) Firefox/3.5.0的地址了。。

然后我们到内存地址搜索。

过狗菜刀的制作

OK,我们终于是找到了。我们来改改看。

然后把要改的,跟原先的对比。。
改前:Mozilla/5.0 (Windows; Windows NT 5.1; en-US) Firefox/3.5.0
改后:Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)


大家看到了神马。。改后的字数,跟以前的字数不对称。。明显长一大截。。

如果把这个数据覆盖的话,会覆盖掉程序其他的地方。。程序就运行不起来了。。

要是短的话还好说,把其他的清空就行。

长了就有些麻烦。

看来这过狗菜刀还真不好弄呢。。

不过这可难不倒我们小菜。。
我们先记住个地址,00442060=原来的User-Agent:的字符串地址。
我们用C32打开。。

过狗菜刀的制作

看到这里是程序的领空,就是一段空白代码,什么都没写,那么我们将我们要改的复制到这里。

过狗菜刀的制作

这个,复制的话,会改变格式,改出来就会乱码,

所以我们只能一个个的输入了。。蛋疼。


OK我们将他转换为,我们的内存地址,为00400A70。

记下这个地址。。然后我们保存。。
好,我们现在记下了两个个地址。。

1.00442060=原来的User-Agent:的字符串地址。
2.00400A70 = 现在的User-Agent:字符串地址。

现在我们的思路就来了:他在压入我们的00442060(原来的User-Agent:的字符串地址)的时候,我们可以让他直接传送00400A70(现在的User-Agent:字符串地址)。

这样我们就完成了,我们想要的。

OK,想到就来。。用OD载入。。跳到00442060(原来的User-Agent:的字符串地址)
原来的:

过狗菜刀的制作

改为push 00400A70:

过狗菜刀的制作

OK然后保存。。。

过狗菜刀的制作

保存好了,我们再来看看效果。。

过狗菜刀的制作

OK,我们可以看到 User-Agent: 已经改过来了。。所以,软件制作完成。。

过狗菜刀的制作

过狗菜刀的制作


后记:

其实,你每次改正后都需要确定你做的是不是正确的。。

软件是否能成功运行。。在这里我一次成功了。。

是因为,有些失败的地方我没写出来,要是你自己做的话,可得细心了喔~!

OK,到此,过狗菜刀就完成了。。

本文始发于微信公众号(T00ls):过狗菜刀的制作

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: