飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5381|回复: 9

[转贴] 关于双色球神手7.2~7。4破解

[复制链接]

该用户从未签到

发表于 2009-7-8 09:00:16 | 显示全部楼层 |阅读模式
昨天这个话题发表在一蓑烟雨论坛上的,但是看的人多,得到的提示少,今天拿来这里请大侠指点指点。
关于双色球7.2~7.4的破解
本人前段时间学习破解了双色球7.1版本,近段时间看了看后续版本。其实后续的这几个版本差不多都是一个模式,由于本人现在并没有作出完整的破解,因此也不便将半成品送上来献丑,而且发表本帖本身也是本着互相学习的态度来的,本人水平着实也很菜。

1、脱壳和以往的一样,没有什么说的。
2、这次的自校验作者采用了两种手段,其一就是检查程序的名称,如果程序被改名不是ssQss.exe则退出,不信你可以把下载的原版的未脱壳的程序改名试试,照退不误;其二当然还是使用了检测文件大小的自校验方式,不过这次的自校验放置的位置稍微有些变化,通过运行程序可以发现,程序是在显示完注册窗口以后才退出的,与7.1版的程序一运行就退出有些不同。详细的去除自校验的地方参见下面:

006D6058   .  B0 01         mov al,1
006D605A   .  E8 81BAFBFF   call ssQss.00691AE0                              ;这里还是以前说的需要F7跟进
006D605F   .  8B15 BC777100 mov edx,dword ptr ds:[7177BC]            ;  ssQss.0071A94C
006D6065   .  8B12          mov edx,dword ptr ds:[edx]
006D6067   .  8802          mov byte ptr ds:[edx],al
006D6069   .  A1 787C7100   mov eax,dword ptr ds:[717C78]
006D606E   .  8B00          mov eax,dword ptr ds:[eax]
006D6070   .  E8 3744DBFF   call ssQss.0048A4AC
006D6075   .  8BC3          mov eax,ebx
006D6077   .  E8 54170000   call ssQss.006D77D0
006D607C   .  8BD6          mov edx,esi
006D607E   .  8BC3          mov eax,ebx
006D6080   .  E8 93C80100   call ssQss.006F2918
006D6085   .  A1 307D7100   mov eax,dword ptr ds:[717D30]
006D608A   .  8B00          mov eax,dword ptr ds:[eax]
006D608C   .  8B00          mov eax,dword ptr ds:[eax]
006D608E   .  8B15 A0757100 mov edx,dword ptr ds:[7175A0]            ;  ssQss.0071A968
006D6094   .  8B12          mov edx,dword ptr ds:[edx]
006D6096   .  3B02          cmp eax,dword ptr ds:[edx]               ;  eax中为脱壳后文件的大小,ds:[edx]中为未脱壳文件大小
006D6098   .  0F95C0        setne al
006D609B   .  8883 8C2B0000 mov byte ptr ds:[ebx+2B8C],al
006D60A1   .  A1 A0757100   mov eax,dword ptr ds:[7175A0]
006D60A6   .  8B00          mov eax,dword ptr ds:[eax]
006D60A8   .  8B00          mov eax,dword ptr ds:[eax]
006D60AA   .  8B15 307D7100 mov edx,dword ptr ds:[717D30]            ;  ssQss.0071A964
006D60B0   .  8B12          mov edx,dword ptr ds:[edx]
006D60B2   .  3B02          cmp eax,dword ptr ds:[edx]
006D60B4   .  EB 0C         jmp short ssQss.006D60C2
006D60B6   .  A1 787C7100   mov eax,dword ptr ds:[717C78]
006D60BB   .  8B00          mov eax,dword ptr ds:[eax]
006D60BD   .  E8 9246DBFF   call ssQss.0048A754
006D60C2   >  A1 24767100   mov eax,dword ptr ds:[717624]
006D60C7   .  8B00          mov eax,dword ptr ds:[eax]
006D60C9   .  8B00          mov eax,dword ptr ds:[eax]
006D60CB   .  8B15 BC7D7100 mov edx,dword ptr ds:[717DBC]            ;  ssQss.0071A96C
006D60D1   .  8B12          mov edx,dword ptr ds:[edx]
006D60D3   .  3B02          cmp eax,dword ptr ds:[edx]
006D60D5   .  EB 0C         jmp short ssQss.006D60E3
006D60D7   .  A1 787C7100   mov eax,dword ptr ds:[717C78]
006D60DC   .  8B00          mov eax,dword ptr ds:[eax]
006D60DE   .  E8 7146DBFF   call ssQss.0048A754
006D60E3   >  8BD6          mov edx,esi
006D60E5   .  8BC3          mov eax,ebx
006D60E7   .  E8 FCD30100   call ssQss.006F34E8
006D60EC   .  A1 EC727100   mov eax,dword ptr ds:[7172EC]
006D60F1   .  8B00          mov eax,dword ptr ds:[eax]
006D60F3   .  C600 00       mov byte ptr ds:[eax],0
006D60F6   .  8BC3          mov eax,ebx
006D60F8   .  E8 AFEFFFFF   call ssQss.006D50AC


红色的部分是我修改过的地方,这几个地方修改以后就可以去除自校验了,关于文件改名自校验,个人感觉意义不大,没再仔细追。

蓝色的部分仍然是对注册文件进行处理的部分,需要F7进去仔细摸索,幸亏有好多地方与7.1很相似,这里就不重复了。(一蓑烟雨上的夜凉说我弄错了?)

3、破解

按照7.1的方法做过处理以后,会发现,软件的部分功能已经可以使用了,但是好像并没有显示注册成功。

经过仔细分析,发现,软件增加了这样几个毒瘤,


006D4F3C  /$  C3            retn
006D4F3D  |.  8BD8          mov ebx,eax
006D4F3F  |.  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D4F45  |.  E8 522DF1FF   call ssQss.005E7C9C
006D4F4A  |.  B9 A44F6D00   mov ecx,ssQss.006D4FA4                   ;  paxPascal
006D4F4F  |.  BA B84F6D00   mov edx,ssQss.006D4FB8
006D4F54  |.  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D4F5A  |.  E8 D919F1FF   call ssQss.005E6938
006D4F5F  |.  6A 00         push 0
006D4F61  |.  BA 584D6D00   mov edx,ssQss.006D4D58
006D4F66  |.  83C9 FF       or ecx,FFFFFFFF
006D4F69  |.  B8 C44F6D00   mov eax,ssQss.006D4FC4                   ;  procedure myfpjOne;
006D4F6E  |.  E8 2D11F1FF   call ssQss.005E60A0
006D4F73  |.  B9 E04F6D00   mov ecx,ssQss.006D4FE0                   ;  ASCII "myfpjOne;"
006D4F78  |.  BA B84F6D00   mov edx,ssQss.006D4FB8                   ;  1
006D4F7D  |.  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D4F83  |.  E8 8819F1FF   call ssQss.005E6910
006D4F88  |.  6A 00         push 0
006D4F8A  |.  33C9          xor ecx,ecx
006D4F8C  |.  33D2          xor edx,edx
006D4F8E  |.  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D4F94  |.  E8 0725F1FF   call ssQss.005E74A0
006D4F99  |.  5B            pop ebx
006D4F9A  \.  C3            retn
006D4F9B      00            db 00
006D4F9C   .  FFFFFFFF      dd FFFFFFFF
006D4FA0   .  09000000      dd 00000009
006D4FA4   .  70 61 78 50 6>ascii "paxPascal",0
006D4FAE      00            db 00
006D4FAF      00            db 00
006D4FB0   .  FFFFFFFF      dd FFFFFFFF
006D4FB4   .  01000000      dd 00000001
006D4FB8   .  31 00         ascii "1",0
006D4FBA      00            db 00
006D4FBB      00            db 00
006D4FBC   .  FFFFFFFF      dd FFFFFFFF
006D4FC0   .  13000000      dd 00000013
006D4FC4   .  70 72 6F 63 6>ascii "procedure myfpjO"
006D4FD4   .  6E 65 3B 00   ascii "ne;",0
006D4FD8   .  FFFFFFFF      dd FFFFFFFF
006D4FDC   .  09000000      dd 00000009
006D4FE0   .  6D 79 66 70 6>ascii "myfpjOne;",0
006D4FEA      00            db 00
006D4FEB      00            db 00
006D4FEC   $  C3            retn
006D4FED   .  8BD8          mov ebx,eax
006D4FEF   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D4FF5   .  E8 A22CF1FF   call ssQss.005E7C9C
006D4FFA   .  B9 54506D00   mov ecx,ssQss.006D5054                   ;  paxPascal
006D4FFF   .  BA 68506D00   mov edx,ssQss.006D5068                   ;  1
006D5004   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D500A   .  E8 2919F1FF   call ssQss.005E6938
006D500F   .  6A 00         push 0
006D5011   .  BA 788D5700   mov edx,ssQss.00578D78
006D5016   .  83C9 FF       or ecx,FFFFFFFF
006D5019   .  B8 74506D00   mov eax,ssQss.006D5074                   ;  ASCII "procedure myCheRckAppEOSg;"
006D501E   .  E8 7D10F1FF   call ssQss.005E60A0
006D5023   .  B9 98506D00   mov ecx,ssQss.006D5098                   ;  myCheRckAppEOSg;
006D5028   .  BA 68506D00   mov edx,ssQss.006D5068
006D502D   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D5033   .  E8 D818F1FF   call ssQss.005E6910
006D5038   .  6A 00         push 0
006D503A   .  33C9          xor ecx,ecx
006D503C   .  33D2          xor edx,edx
006D503E   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D5044   .  E8 5724F1FF   call ssQss.005E74A0
006D5049   .  5B            pop ebx
006D504A   .  C3            retn
006D504B      00            db 00
006D504C   .  FFFFFFFF      dd FFFFFFFF
006D5050   .  09000000      dd 00000009
006D5054   .  70 61 78 50 6>ascii "paxPascal",0
006D505E      00            db 00
006D505F      00            db 00
006D5060   .  FFFFFFFF      dd FFFFFFFF
006D5064   .  01000000      dd 00000001
006D5068   .  31 00         ascii "1",0
006D506A      00            db 00
006D506B      00            db 00
006D506C   .  FFFFFFFF      dd FFFFFFFF
006D5070   .  1A000000      dd 0000001A
006D5074   .  70 72 6F 63 6>ascii "procedure myCheR"
006D5084   .  63 6B 41 70 7>ascii "ckAppEOSg;",0
006D508F      00            db 00
006D5090   .  FFFFFFFF      dd FFFFFFFF
006D5094   .  10000000      dd 00000010
006D5098   .  6D 79 43 68 6>ascii "myCheRckAppEOSg;"
006D50A8   .  00            ascii 0
006D50A9      00            db 00
006D50AA      00            db 00
006D50AB      00            db 00
006D50AC   $  C3            retn
006D50AD   .  8BD8          mov ebx,eax
006D50AF   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D50B5   .  E8 E22BF1FF   call ssQss.005E7C9C
006D50BA   .  B9 28516D00   mov ecx,ssQss.006D5128                   ;  ASCII "paxPascal"
006D50BF   .  BA 3C516D00   mov edx,ssQss.006D513C
006D50C4   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D50CA   .  E8 6918F1FF   call ssQss.005E6938
006D50CF   .  6A 00         push 0
006D50D1   .  BA 54905700   mov edx,ssQss.00579054
006D50D6   .  83C9 FF       or ecx,FFFFFFFF
006D50D9   .  B8 48516D00   mov eax,ssQss.006D5148                   ;  1
006D50DE   .  E8 BD0FF1FF   call ssQss.005E60A0
006D50E3   .  B9 6C516D00   mov ecx,ssQss.006D516C                   ;  ASCII "myCheckAppError;"
006D50E8   .  BA 3C516D00   mov edx,ssQss.006D513C
006D50ED   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D50F3   .  E8 1818F1FF   call ssQss.005E6910
006D50F8   .  6A 00         push 0
006D50FA   .  33C9          xor ecx,ecx
006D50FC   .  33D2          xor edx,edx
006D50FE   .  8B83 34190000 mov eax,dword ptr ds:[ebx+1934]
006D5104   .  E8 9723F1FF   call ssQss.005E74A0
006D5109   .  A1 A4817100   mov eax,dword ptr ds:[7181A4]
006D510E   .  8B00          mov eax,dword ptr ds:[eax]
006D5110   .  8A10          mov dl,byte ptr ds:[eax]
006D5112   .  8B83 60190000 mov eax,dword ptr ds:[ebx+1960]
006D5118   .  E8 73A8D6FF   call ssQss.0043F990
006D511D   .  5B            pop ebx
006D511E   .  C3            retn


本人也正是被这几个毒瘤阻挠了好长时间,汗,现在还被挡着呢,发出来希望朋友们提个醒。红色的部分是俺修改过的地方,原来好像是
push ebx这个指令来吧。这样修改的后果是可以使用的功能增多,但是当你关闭这个功能以后,再次使用这个功能时,可能就不能用了。

还望高手指点。
PYG19周年生日快乐!
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 1654 天

    [LV.Master]伴坛终老

    发表于 2009-7-10 08:02:15 | 显示全部楼层
    高手啊!学习了。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-7-10 08:53:47 | 显示全部楼层
    点没找对,就这么多(作者写这个软件不容易啊,支持一下,呵呵)
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-7-10 11:31:47 | 显示全部楼层
    重新开工中。。。。。。。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-7-24 09:04:11 | 显示全部楼层
    大家的反应还真是不够热烈呀。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2017-7-28 16:14
  • 签到天数: 391 天

    [LV.9]以坛为家II

    发表于 2009-8-8 21:37:00 | 显示全部楼层
    你这样叫菜,我无语了/:010
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-8-11 11:17:33 | 显示全部楼层
    其实这个软件本人已经彻底的k掉了,看到大家都这样保护,本人也颇感动,所以决定不再出破文,不过总得说点什么,如果还有正在弄的朋友,请注意一下这两个地方
    006D6098   .  0F95C0        setne al
    006D609B   .  8883 8C2B0000 mov byte ptr ds:[ebx+2B8C],al
    006D60A1   .  A1 A0757100   mov eax,dword ptr ds:[7175A0]
    006D60A6   .  8B00          mov eax,dword ptr ds:[eax]
    006D60A8   .  8B00          mov eax,dword ptr ds:[eax]
    006D60AA   .  8B15 307D7100 mov edx,dword ptr ds:[717D30]            ;  ssQss.0071A964
    006D60B0   .  8B12          mov edx,dword ptr ds:[edx]
    006D60B2   .  3B02          cmp eax,dword ptr ds:[edx]  请仔细注意以下这里两个数值。
    006D60B4   .  EB 0C         jmp short ssQss.006D60C2
    006D60B6   .  A1 787C7100   mov eax,dword ptr ds:[717C78]
    006D60BB   .  8B00          mov eax,dword ptr ds:[eax]
    006D60BD   .  E8 9246DBFF   call ssQss.0048A754
    006D60C2   >  A1 24767100   mov eax,dword ptr ds:[717624]
    006D60C7   .  8B00          mov eax,dword ptr ds:[eax]
    006D60C9   .  8B00          mov eax,dword ptr ds:[eax]
    006D60CB   .  8B15 BC7D7100 mov edx,dword ptr ds:[717DBC]            ;  ssQss.0071A96C
    006D60D1   .  8B12          mov edx,dword ptr ds:[edx]
    006D60D3   .  3B02          cmp eax,dword ptr ds:[edx]  再就是这里的数值
    006D60D5   .  EB 0C         jmp short ssQss.006D60E3

    上面两个红色标记的地方请特别注意好了。看看到底是什么东西,怎么处理,办法很多。
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2015-10-9 11:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-8-15 22:38:08 | 显示全部楼层
    学习了,自己试试吧
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 619 天

    [LV.9]以坛为家II

    发表于 2009-8-17 10:18:37 | 显示全部楼层
    学习了,自己试试吧
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-18 10:24:14 | 显示全部楼层
    路过,学习!感谢分享
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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