- UID
- 12741
注册时间2006-5-10
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
【破文标题】天涯连连看外挂的爆破
【破文作者】尐男寧
【作者邮箱】[email protected]
【作者主页】
【破解工具】PEID,OD,LoadPE,ImportREC
【破解平台】Windows XP
【软件名称】天涯QQ连连看助手 V6.5
【软件大小】784 KB
【原版下载】http://www.skycn.com/soft/4507.html
【保护方式】FSG2.0
【软件简介】本软件是一款针对QQ连连看的游戏辅助软件,可以帮助用户从机械的游戏动作中解放出来,轻松战胜对手,以获得更加刺激的游戏体验。本软件具有在连连看中消除一对和瞬间消除全部(秒杀)的功能,由于本软件秒杀速度过快,请勿频繁使用。
新版本主要更新如下:
★光速秒杀,智能挂机
★独创游击战打法,可以打一枪换一个地方。
★增加超击防踢功能,再也不怕被踢了。
使用方法:
启动本软件,进入QQ连连看游戏画面后,本软件标题栏显示 "连连看已启动",等待所有玩家开始后:
按"消除/F10" 将消除一对方块。
按"秒杀/F11" 将瞬间消除所有方块。
本软件支持最新的 0.10 Alpha 4 Build 10 版的QQ连连看
------------------------------------------------------------------------
一:PEID查壳,是FSG 2.0 -> bart/xt加的壳,首先要脱壳,OD载入
00400154 tyl> 8725 A8855A00 xchg dword ptr ds:[5A85A8],esp
0040015A 61 popad
0040015B 94 xchg eax,esp ------F8单步到这里,看堆栈窗口
0040015C 55 push ebp
0040015D A4 movs byte ptr es:[edi],byte ptr ds:[>
0040015E B6 80 mov dh,80
00400160 FF13 call dword ptr ds:[ebx]
00400162 ^ 73 F9 jnb short tyllk.0040015D
00400164 33C9 xor ecx,ecx
00400166 FF13 call dword ptr ds:[ebx]
*************************************************************************
005A85AC 004001E8 tyllk.004001E8
005A85B0 004001DC tyllk.004001DC
005A85B4 004001DE tyllk.004001DE
005A85B8 004107BE tyllk.004107BE -------这里就是程序的OEP,右键在反汇编窗口跟随
005A85BC > 7C882FC4 kernel32.LoadLibraryA
005A85C0 > 7C80AC28 kernel32.GetProcAddress
**************************************************************************
004107BE 0000 add byte ptr ds:[eax],al --------F4(断点,运行到所选)
004107C0 0000 add byte ptr ds:[eax],al
004107C2 0000 add byte ptr ds:[eax],al
004107C4 0000 add byte ptr ds:[eax],al
004107C6 0000 add byte ptr ds:[eax],al
004107C8 0000 add byte ptr ds:[eax],al
004107CA 0000 add byte ptr ds:[eax],al
**********************************************************
004107BE 55 push ebp ----------OEP
004107BF 8BEC mov ebp,esp
004107C1 6A FF push -1
004107C3 68 98F24200 push tyllk.0042F298
004107C8 68 78044100 push tyllk.00410478
004107CD 64:A1 00000000 mov eax,dword ptr fs:[0]
004107D3 50 push eax
004107D4 64:8925 00000000 mov dword ptr fs:[0],esp
用LoardPE脱壳,记住OEP地址:107BE,然后修复下
打开ImportREC,获取外挂的进程,OEP填上刚刚记下的地址:107BE,自动搜索IAT。
这里的RAV其实是不对的,RAV的起始地址是2C000,大小5A8
获取输入表后显示无效函数,把无效的函数CUT掉,修复抓取文件
运行修复好的文件,可以正常运行,PEID查无壳,软件是Microsoft Visual C++ 6.0编写的
二:运行软件,弹出消息框“未注册用户只能使用60次”,去定后,输入注册码12345,按确定软件重启验证,
在当面文件夹创建reg.txt,注册信息就保存在这里
三:动态跟踪,OD载入,下断点bp MseeageBoxA,运行程序
77D504EA USE> 8BFF mov edi,edi ---------断在这里
77D504EC 55 push ebp
77D504ED 8BEC mov ebp,esp
77D504EF 833D BC04D777 00 cmp dword ptr ds:[77D704BC],0
77D504F6 74 24 je short USER32.77D5051C
77D504F8 64:A1 18000000 mov eax,dword ptr fs:[18]
77D504FE 6A 00 push 0
观察堆栈窗口
0012F2F8 00420929 /CALL 到 MessageBoxA 来自 dumped_.00420923 ------右键在反汇编窗口跟随
0012F2FC 000A0134 |hOwner = 000A0134 ('请启动连连看',class='#32770')
0012F300 00437B14 |Text = "未注册版只能试用60次!"
0012F304 00EB3848 |Title = "天涯QQ连连看助手6.5"
0012F308 00000040 \Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
***************************************************
004208FA C3 retn
004208FB 8B4424 08 mov eax,dword ptr ss:[esp+8] -----F2下断点
004208FF 56 push esi
00420900 85C0 test eax,eax
00420902 8BF1 mov esi,ecx
00420904 75 08 jnz short dumped_.0042090E
00420906 E8 40640000 call dumped_.00426D4B
0042090B 8B40 10 mov eax,dword ptr ds:[eax+10]
0042090E 85F6 test esi,esi
00420910 75 04 jnz short dumped_.00420916
00420912 33C9 xor ecx,ecx
00420914 EB 03 jmp short dumped_.00420919
00420916 8B4E 1C mov ecx,dword ptr ds:[esi+1C]
00420919 FF7424 10 push dword ptr ss:[esp+10]
0042091D 50 push eax
0042091E FF7424 10 push dword ptr ss:[esp+10]
00420922 51 push ecx
00420923 FF15 98C44200 call dword ptr ds:[<&user32.MessageB>; USER32.MessageBoxA
00420929 5E pop esi
0042092A C2 0C00 retn 0C
重新载入程序后运行,看堆栈窗口
0012F310 00405DD2 返回到 dumped_.00405DD2 来自 dumped_.004208FB ------右键在反汇编窗口跟随
0012F314 00437B14 dumped_.00437B14
0012F318 00EB3848
0012F31C 00000040
0012F320 00000000
0012F324 0041E5B6 dumped_.0041E5B6
*************************************************
00405D66 55 push ebp ----------F2下断点,重新载入程序后F8单步
00405D67 52 push edx
00405D68 C78424 4C02000> mov dword ptr ss:[esp+24C],-1
00405D73 E8 D3C90100 call dumped_.0042274B
00405D78 8B00 mov eax,dword ptr ds:[eax]
00405D7A 8BCF mov ecx,edi
00405D7C 50 push eax
00405D7D C78424 4402000> mov dword ptr ss:[esp+244],2
00405D88 E8 53F2FFFF call dumped_.00404FE0 -----------关键CALL,F7步入
00405D8D DC0D 70CE4200 fmul qword ptr ds:[42CE70]
00405D93 DC1D 68CE4200 fcomp qword ptr ds:[42CE68]
00405D99 DFE0 fstsw ax
00405D9B F6C4 01 test ah,1
00405D9E 74 04 je short dumped_.00405DA4
00405DA0 B3 01 mov bl,1
00405DA2 EB 02 jmp short dumped_.00405DA6
00405DA4 32DB xor bl,bl
00405DA6 8D4C24 14 lea ecx,dword ptr ss:[esp+14]
00405DAA C78424 4002000> mov dword ptr ss:[esp+240],-1
00405DB5 E8 62C70100 call dumped_.0042251C
00405DBA 84DB test bl,bl
00405DBC 74 14 je short dumped_.00405DD2
00405DBE A1 48C34300 mov eax,dword ptr ds:[43C348]
00405DC3 6A 40 push 40
00405DC5 50 push eax
00405DC6 68 147B4300 push dumped_.00437B14
00405DCB 8BCE mov ecx,esi
00405DCD E8 29AB0100 call dumped_.004208FB ------------ 弹出注册信息
00405DD2 85FF test edi,edi
00405DD4 74 08 je short dumped_.00405DDE
*******************************************************
00404FE0 64:A1 00000000 mov eax,dword ptr fs:[0]
00404FE6 6A FF push -1
00404FE8 68 56A74200 push dumped_.0042A756
00404FED 50 push eax
00404FEE B8 78100000 mov eax,1078
00404FF3 64:8925 000000> mov dword ptr fs:[0],esp
00404FFA E8 A1B50000 call dumped_.004105A0
00404FFF 55 push ebp
00405000 56 push esi
00405001 8D4424 20 lea eax,dword ptr ss:[esp+20]
00405005 57 push edi
00405006 8BF1 mov esi,ecx
00405008 50 push eax
00405009 E8 92ECFFFF call dumped_.00403CA0
0040500E 83C4 04 add esp,4
00405011 8D4C24 7C lea ecx,dword ptr ss:[esp+7C]
00405015 E8 36E2FFFF call dumped_.00403250
0040501A 8D4C24 7C lea ecx,dword ptr ss:[esp+7C]
0040501E C78424 8C10000> mov dword ptr ss:[esp+108C],0
00405029 E8 82E7FFFF call dumped_.004037B0
0040502E 8D4C24 10 lea ecx,dword ptr ss:[esp+10]
00405032 51 push ecx
00405033 8D8C24 8000000> lea ecx,dword ptr ss:[esp+80]
0040503A E8 51E7FFFF call dumped_.00403790
0040503F 8B5424 10 mov edx,dword ptr ss:[esp+10]
00405043 83C9 FF or ecx,FFFFFFFF
00405046 8BFA mov edi,edx
00405048 33C0 xor eax,eax
0040504A F2:AE repne scas byte ptr es:[edi]
0040504C F7D1 not ecx
0040504E 49 dec ecx
0040504F 51 push ecx
00405050 52 push edx
00405051 8D5424 2C lea edx,dword ptr ss:[esp+2C]
00405055 52 push edx
00405056 E8 75ECFFFF call dumped_.00403CD0
0040505B 8B46 08 mov eax,dword ptr ds:[esi+8]
0040505E 8B48 F8 mov ecx,dword ptr ds:[eax-8]
00405061 51 push ecx
00405062 50 push eax
00405063 8D4424 38 lea eax,dword ptr ss:[esp+38]
00405067 50 push eax
00405068 E8 63ECFFFF call dumped_.00403CD0
0040506D 8D4C24 3C lea ecx,dword ptr ss:[esp+3C]
00405071 8D5424 2C lea edx,dword ptr ss:[esp+2C]
00405075 51 push ecx
00405076 52 push edx
00405077 E8 04EDFFFF call dumped_.00403D80
0040507C 8D4424 44 lea eax,dword ptr ss:[esp+44]
00405080 50 push eax
00405081 E8 1AECFFFF call dumped_.00403CA0
00405086 8D4C24 38 lea ecx,dword ptr ss:[esp+38]
0040508A 6A 10 push 10
0040508C 8D5424 4C lea edx,dword ptr ss:[esp+4C]
00405090 51 push ecx
00405091 52 push edx
00405092 E8 39ECFFFF call dumped_.00403CD0
00405097 8B46 08 mov eax,dword ptr ds:[esi+8]
0040509A 8B48 F8 mov ecx,dword ptr ds:[eax-8]
0040509D 51 push ecx
0040509E 50 push eax
0040509F 8D4424 5C lea eax,dword ptr ss:[esp+5C]
004050A3 50 push eax
004050A4 E8 27ECFFFF call dumped_.00403CD0
004050A9 8D4C24 60 lea ecx,dword ptr ss:[esp+60]
004050AD 8D5424 50 lea edx,dword ptr ss:[esp+50]
004050B1 51 push ecx
004050B2 52 push edx
004050B3 E8 C8ECFFFF call dumped_.00403D80
004050B8 8B76 0C mov esi,dword ptr ds:[esi+C]
004050BB 83C4 44 add esp,44
004050BE 83C6 10 add esi,10
004050C1 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
004050C5 56 push esi
004050C6 E8 BFD40100 call dumped_.0042258A
004050CB 8BBC24 9410000> mov edi,dword ptr ss:[esp+1094]
004050D2 C68424 8C10000> mov byte ptr ss:[esp+108C],1
004050DA 33F6 xor esi,esi
004050DC 8A47 01 mov al,byte ptr ds:[edi+1]
004050DF 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
004050E3 50 push eax
004050E4 E8 7FD80100 call dumped_.00422968
004050E9 8A0F mov cl,byte ptr ds:[edi]
004050EB 8BE8 mov ebp,eax
004050ED 51 push ecx
004050EE 8D4C24 10 lea ecx,dword ptr ss:[esp+10]
004050F2 C1E5 04 shl ebp,4
004050F5 E8 6ED80100 call dumped_.00422968
004050FA 33D2 xor edx,edx
004050FC 03E8 add ebp,eax
004050FE 8A5434 14 mov dl,byte ptr ss:[esp+esi+14]
00405102 3BD5 cmp edx,ebp --------------关键比较
00405104 75 4E jnz short dumped_.00405154 -----------关键跳转,把这里NOP掉
00405106 46 inc esi
00405107 83C7 02 add edi,2
0040510A 83FE 10 cmp esi,10
0040510D ^ 7C CD jl short dumped_.004050DC
0040510F 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
00405113 C68424 8C10000> mov byte ptr ss:[esp+108C],0
0040511B E8 FCD30100 call dumped_.0042251C
00405120 8D4C24 7C lea ecx,dword ptr ss:[esp+7C]
00405124 C78424 8C10000> mov dword ptr ss:[esp+108C],-1
0040512F E8 5CE1FFFF call dumped_.00403290
00405134 D905 ECCA4200 fld dword ptr ds:[42CAEC]
0040513A 8B8C24 8410000> mov ecx,dword ptr ss:[esp+1084]
00405141 5F pop edi
00405142 5E pop esi
00405143 5D pop ebp
00405144 64:890D 000000> mov dword ptr fs:[0],ecx
0040514B 81C4 84100000 add esp,1084
00405151 C2 0400 retn 4
保存修改后的文件运行,程序已经注册!
+++++++++++++++++++++++++++++++++++++
本篇及shuaig81兄弟的毕业破文,语音演示已经完成,经验通过!
恭喜兄弟顺利毕业!
希望以后以高涨的热情再接再励,多出好品及帮助基础相对好的朋友。
这是猫的期望,谢谢! ---by WildCatIII
[ 本帖最后由 野猫III 于 2006-5-30 22:51 编辑 ] |
|