飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6110|回复: 8

[原创] 天涯连连看外挂爆破破文

[复制链接]

该用户从未签到

发表于 2006-5-30 04:25:03 | 显示全部楼层 |阅读模式
【破文标题】天涯连连看外挂的爆破
【破文作者】尐男寧
【作者邮箱】shuaig83@163.com
【作者主页】
破解工具】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 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2006-6-9 09:24:34 | 显示全部楼层
学习。。。。。。。。。
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-1-14 00:02
  • 签到天数: 138 天

    [LV.7]常住居民III

    发表于 2006-6-11 23:31:04 | 显示全部楼层
    不错.学习一下/
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2006-6-12 09:59:51 | 显示全部楼层
    谢谢猫猫,我会继续努力的!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-8-5 08:23
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2006-6-12 14:43:03 | 显示全部楼层
    顶你呢.





    .
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-6-19 11:56:21 | 显示全部楼层
    不错不错,值得学习!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-8-5 08:23
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2006-6-20 07:36:06 | 显示全部楼层
    晕.我怎么修复不了呢
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-6-20 08:01:03 | 显示全部楼层
    晕,我也是呀.
    怎么回事呀
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-8-4 23:10:21 | 显示全部楼层
    不错不错 欢迎楼主继续发帖
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表