首先截下我的菜刀版本:
首先,要反汇编,我们要查壳,因为无壳,才好知道他是什么语言写的,程序也不会跑飞。
查了下,发现时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):过狗菜刀的制作
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论