爆破EtherDetect V1.2
破解人:yym96
我是一只老菜鸟(年龄大、水平低,不谦虚),最近由于工作的需要,想找一个好的封包分析工具,用了几个后发现EtherDetect还是非常好,就是该软件需要注册,只能试用30天,就想找一个D版用用,也没找到,后来听人说可以到看雪学习,自己破破,于是这一个多月经常来看雪,学了不少东西,又得寸进尺想注册成会员,结果看雪老大需要“收礼”才行,无奈只好写下这篇烂文,算是拜山之礼,希望
看雪老大不要嫌弃。说了一堆废话(哎哟,谁在扔西红柿?站出来,我。。。,有人扔鸡蛋吗,晚上我准备西红柿炒鸡蛋,赫赫)。
【软件名称】:EtherDetect V1.2
【软件简介】:网络抓包分析工具
1) 抓取所有由 TCP 联机或 UDP 线程所组成的完整封包;
2) 秘密监控您的网络,并且无须在目标计算机安装任何软件;
3) 以 Hex 文字格式及语法高亮度显示的检视器来检视封包。在局
域网内捕获网络上的协议包。 快速,准确,高效,隐秘!
【官方网站】:www.etherdetect.com
【软件限制】:注册码+功能、时间限制
【破解声明】:初学Crack,只是感兴趣,没有其它目的。
【破解工具】:Olldbg1.10,peid0.92,W32asm
【初期目标】:去除开始的NAG,确保过了试用期也能使用
【破解过程】:
首先安装程序,运行,即进入注册对话框,此时,若不注册,则可点按Try it按钮进入试用,如果超过30天则Try it按钮变成Quit,点按则退出。
先拿peid0.92看看,无壳,是Microsoft Visual C++ 7.0做的程序。
用W32asm反一下试试,找字符串参考,好象没有线索。
只好直接调出Olldbg1.10,先下断bp MessageBoxA,转了一圈,毫无收获,再下断bp SetWindowTextA,又是白费蜡(学艺不精呀)。
想起某人的某篇破文中提到,对付NAG,可以采用OD的Ctrl+F8功能,等待NAG出现,找到停止点的Call XXXXX,设断,下次运行则跟进,再Ctrl+F8,再找到停止点的Call XXXXX,再设断,下次运行再跟进。。。循环试,直到最深层的Call,这时再找这个Call前面的比较,跳过,基本可以去掉这个NAG限制,好照此思路一试。
用OD调出EtherDetect,Ctrl+F8,来到:
0042CF9E > \50 PUSH EAX
0042CF9F . FF75 E0 PUSH DWORD PTR SS:[EBP-20]
0042CFA2 . 56 PUSH ESI
0042CFA3 . 56 PUSH ESI
0042CFA4 . FFD7 CALL EDI
0042CFA6 . 50 PUSH EAX
0042CFA7 . E8 E2BA0000 CALL EtherD.00438A8E
……
在0042CFA7设断,重新开始,到0042CFA7跟进,Ctrl+F8,来到:
00444428 > \8B06 MOV EAX,DWORD PTR DS:[ESI]
0044442A . 8BCE MOV ECX,ESI
0044442C . FF50 50 CALL DWORD PTR DS:[EAX+50]
……
设断0044442C,重新开始,到0044442C跟进,Ctrl+F8,来到:
0041A077 . 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
0041A07B . 51 PUSH ECX
0041A07C . 8BCE MOV ECX,ESI
0041A07E . E8 3FE40300 CALL EtherD.004584C2
……
设断0041A07E,重新开始,到0041A07E跟进,Ctrl+F8,来到:
0045860E |. 53 PUSH EBX
0045860F |. 53 PUSH EBX
00458610 |. 53 PUSH EBX
00458611 |. 68 00E10000 PUSH 0E100
00458616 |. 8BC8 MOV ECX,EAX
00458618 |. FF52 0C CALL DWORD PTR DS:[EDX+C]
……
设断00458618,重新开始,到000458618跟进,Ctrl+F8,来到:
0040DFD9 . B9 28B74700 MOV ECX,EtherD.0047B728
0040DFDE . 8935 18B74700 MOV DWORD PTR DS:[47B718],ESI
0040DFE4 . E8 F757FFFF CALL EtherD.004037E0
……
设断0040DFE4,重新开始,到0040DFE4跟进,Ctrl+F8,来到:
00403C6D . 8D8C24 340100>LEA ECX,DWORD PTR SS:[ESP+134]
00403C74 . C68424 D80300>MOV BYTE PTR SS:[ESP+3D8],8
00403C7C . E8 A0820300 CALL EtherD.0043BF21
……
设断00403C7C,重新开始,到00403C7C跟进,Ctrl+F8,来到:
0043C009 > 57 PUSH EDI
0043C00A . 8BCE MOV ECX,ESI
0043C00C . E8 58140000 CALL EtherD.0043D469
……
设断0043C00C,重新开始,到0043C00C跟进,Ctrl+F8,OD一直在做循环,可见0043C00C就是最后的Call。
我们来详细分析0043C00C以上的代码,找比较:
……
0043BFE3 . 53 PUSH EBX
0043BFE4 . 8BCE MOV ECX,ESI
0043BFE6 . E8 29FDFFFF CALL EtherD.0043BD14
0043BFEB . 33DB XOR EBX,EBX
0043BFED . 3BC3 CMP EAX,EBX
0043BFEF . 74 52 JE SHORT EtherD.0043C043 ;关注这个比较
0043BFF1 . F646 38 10 TEST BYTE PTR DS:[ESI+38],10
0043BFF5 74 1A JE SHORT EtherD.0043C011 ;还有这个比较
0043BFF7 . 6A 04 PUSH 4
0043BFF9 . 5F POP EDI
0043BFFA . 8BCE MOV ECX,ESI
0043BFFC . E8 403D0000 CALL EtherD.0043FD41
0043C001 . F6C4 01 TEST AH,1
0043C004 . 74 03 JE SHORT EtherD.0043C009
0043C006 . 6A 05 PUSH 5
0043C008 . 5F POP EDI
0043C009 > 57 PUSH EDI 0043C00A . 8BCE MOV ECX,ESI
0043C00C . E8 58140000 CALL EtherD.0043D469
0043C011 > 395E 1C CMP DWORD PTR DS:[ESI+1C],EBX
……
用OD跟到0043BFEF JE SHORT EtherD.0043C043这个比较发现,它如果相等则跳过0043C00C,将JE改成JMP,重新运行,呵呵,注册提示框没了,直接进入,试试程序功能,哈哈,和原来一样,将系统时间调到30天以后再重新运行试试,嘿嘿,一样可以运转正常。
后来发现将0043BFF5的JE改成JMP也可以达到爆破的目的。
终于,有人扔鸡蛋了,我要做西红柿炒鸡蛋去了…
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课