关于双色球神手7.2~7。4破解
昨天这个话题发表在一蓑烟雨论坛上的,但是看的人多,得到的提示少,今天拿来这里请大侠指点指点。关于双色球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: ;ssQss.0071A94C
006D6065 .8B12 mov edx,dword ptr ds:
006D6067 .8802 mov byte ptr ds:,al
006D6069 .A1 787C7100 mov eax,dword ptr ds:
006D606E .8B00 mov eax,dword ptr ds:
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:
006D608A .8B00 mov eax,dword ptr ds:
006D608C .8B00 mov eax,dword ptr ds:
006D608E .8B15 A0757100 mov edx,dword ptr ds: ;ssQss.0071A968
006D6094 .8B12 mov edx,dword ptr ds:
006D6096 .3B02 cmp eax,dword ptr ds: ;eax中为脱壳后文件的大小,ds:中为未脱壳文件大小
006D6098 .0F95C0 setne al
006D609B .8883 8C2B0000 mov byte ptr ds:,al
006D60A1 .A1 A0757100 mov eax,dword ptr ds:
006D60A6 .8B00 mov eax,dword ptr ds:
006D60A8 .8B00 mov eax,dword ptr ds:
006D60AA .8B15 307D7100 mov edx,dword ptr ds: ;ssQss.0071A964
006D60B0 .8B12 mov edx,dword ptr ds:
006D60B2 .3B02 cmp eax,dword ptr ds:
006D60B4 .EB 0C jmp short ssQss.006D60C2
006D60B6 .A1 787C7100 mov eax,dword ptr ds:
006D60BB .8B00 mov eax,dword ptr ds:
006D60BD .E8 9246DBFF call ssQss.0048A754
006D60C2 >A1 24767100 mov eax,dword ptr ds:
006D60C7 .8B00 mov eax,dword ptr ds:
006D60C9 .8B00 mov eax,dword ptr ds:
006D60CB .8B15 BC7D7100 mov edx,dword ptr ds: ;ssQss.0071A96C
006D60D1 .8B12 mov edx,dword ptr ds:
006D60D3 .3B02 cmp eax,dword ptr ds:
006D60D5 .EB 0C jmp short ssQss.006D60E3
006D60D7 .A1 787C7100 mov eax,dword ptr ds:
006D60DC .8B00 mov eax,dword ptr ds:
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:
006D60F1 .8B00 mov eax,dword ptr ds:
006D60F3 .C600 00 mov byte ptr ds:,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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
006D5104 .E8 9723F1FF call ssQss.005E74A0
006D5109 .A1 A4817100 mov eax,dword ptr ds:
006D510E .8B00 mov eax,dword ptr ds:
006D5110 .8A10 mov dl,byte ptr ds:
006D5112 .8B83 60190000 mov eax,dword ptr ds:
006D5118 .E8 73A8D6FF call ssQss.0043F990
006D511D .5B pop ebx
006D511E .C3 retn
本人也正是被这几个毒瘤阻挠了好长时间,汗,现在还被挡着呢,发出来希望朋友们提个醒。红色的部分是俺修改过的地方,原来好像是
push ebx这个指令来吧。这样修改的后果是可以使用的功能增多,但是当你关闭这个功能以后,再次使用这个功能时,可能就不能用了。
还望高手指点。 高手啊!学习了。。 点没找对,就这么多(作者写这个软件不容易啊,支持一下,呵呵) 重新开工中。。。。。。。 大家的反应还真是不够热烈呀。 你这样叫菜,我无语了/:010 其实这个软件本人已经彻底的k掉了,看到大家都这样保护,本人也颇感动,所以决定不再出破文,不过总得说点什么,如果还有正在弄的朋友,请注意一下这两个地方
006D6098 .0F95C0 setne al
006D609B .8883 8C2B0000 mov byte ptr ds:,al
006D60A1 .A1 A0757100 mov eax,dword ptr ds:
006D60A6 .8B00 mov eax,dword ptr ds:
006D60A8 .8B00 mov eax,dword ptr ds:
006D60AA .8B15 307D7100 mov edx,dword ptr ds: ;ssQss.0071A964
006D60B0 .8B12 mov edx,dword ptr ds:
006D60B2 .3B02 cmp eax,dword ptr ds:请仔细注意以下这里两个数值。
006D60B4 .EB 0C jmp short ssQss.006D60C2
006D60B6 .A1 787C7100 mov eax,dword ptr ds:
006D60BB .8B00 mov eax,dword ptr ds:
006D60BD .E8 9246DBFF call ssQss.0048A754
006D60C2 >A1 24767100 mov eax,dword ptr ds:
006D60C7 .8B00 mov eax,dword ptr ds:
006D60C9 .8B00 mov eax,dword ptr ds:
006D60CB .8B15 BC7D7100 mov edx,dword ptr ds: ;ssQss.0071A96C
006D60D1 .8B12 mov edx,dword ptr ds:
006D60D3 .3B02 cmp eax,dword ptr ds:再就是这里的数值
006D60D5 .EB 0C jmp short ssQss.006D60E3
上面两个红色标记的地方请特别注意好了。看看到底是什么东西,怎么处理,办法很多。 学习了,自己试试吧 学习了,自己试试吧 路过,学习!感谢分享
页:
[1]
2