首页
社区
课程
招聘
KuNgBiM的一个破解有问题,请大家看看这个自校验应该怎么处理?
发表于: 2005-8-18 13:32 6695

KuNgBiM的一个破解有问题,请大家看看这个自校验应该怎么处理?

2005-8-18 13:32
6695
希望有高手能将这个自校验(问题应该是出在这里吧)讲一讲

KuNgBiM的“脱双层壳去自校验破解……一条龙”

http://bbs.pediy.com/showthread.php?s=&threadid=15444&highlight=%CD%D1%CB%AB%B2%E3%BF%C7%C8%A5%D7%D4%D0%A3%D1%E9%C6%C6%BD%E2

其中提及该软件调用十一次文件大小自校验,但按KuNgBiM的方法修改了文件大小值后,第一次运行正常,退出后再运行就会一闪而过,这个软件应该还有其他校验,但我实在是找不出来

对KuNgBiM绝没有不敬的意思,他破解后的程序第一次是可以运行的,但再次启动就会自动退出,也许KuNgBiM没注意到这一点(偶是菜鸟,想好好学习一下反倒发现了)

水平有限,花了一天多的时间也没解决,请高手们指点迷津

prince的偷天换日大法是不是也可以用在这里?可惜我还是不会,谁能不能帮忙讲讲,非常感谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
开两个OD运行脱壳后未作修改的程序和一个作了破解修改的程序进行比较,

00431418   |.  E8 AAEF0000         call dru.004403C7
0043141D   |.  8945 A0             mov dword ptr ss:[ebp-60],eax

到这里两个程序就不一样了,

0012DE20   702228BC  /CALL 到 CreateFileA 来自 wininet.702228B6
0012DE24   00169818  |FileName = "C:\Documents and Settings\ivorist\Local Settings\Temporary Internet Files\Content.IE5\index.dat"
0012DE28   C0000000  |Access = GENERIC_READ|GENERIC_WRITE
0012DE2C   00000003  |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
0012DE30   70C2A754  |pSecurity = SHLWAPI.70C2A754
0012DE34   00000004  |Mode = OPEN_ALWAYS
0012DE38   10000000  |Attributes = RANDOM_ACCESS
0012DE3C   00000000  \hTemplateFile = NULL
0012DE40   77E7278D  KERNEL32.GetLastError

用bpx CreateFileA也没得出什么结果,想用prince的方法但没找到应该在哪里改文件地址
2005-8-18 18:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个自校验不返回校验结果的

把自校验过程的第一行改成 RETN 就跳过了
2005-8-18 19:38
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
4
最初由 ivorist 发布
希望有高手能将这个自校验(问题应该是出在这里吧)讲一讲

KuNgBiM的“脱双层壳去自校验破解……一条龙”

http://bbs.pediy.com/showthread.php?s=&threadid=15444&highlight=%CD%D1%CB%AB%B2%E3%BF%C7%C8%A5%D7%D4%D0%A3%D1%E9%C6%C6%BD%E2
........


1.检查你的脱壳修复问题,我放出的程序在我机器上,朋友机器上共6台机器上运行均没出现你所提出的问题!

2.修改后程序一定不要再加壳,除非你计算出加壳后的程序大小代码再作修改!

再试试自己动手脱脱改改看看!破解的软件在DFCG官方论坛上有下载提供!
2005-8-18 21:27
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
5
CreateFile之前会用GetModuleName之类的函数得到自身的EXE文件名称,得到后记下buffer地址,在合适的地方修改...
另外,这个方法不是真正的去校验,因为要依赖原文件,所以用来分析算法比较合适,没法爆破发布,不过自己用还是可以的...
2005-8-19 08:47
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最初由 shooter 发布
这个自校验不返回校验结果的

把自校验过程的第一行改成 RETN 就跳过了


这个办法可以吗?
但问题是我不知道除了十一处比较文件大小,还有哪里用了校验?
2005-8-20 20:20
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 KuNgBiM 发布


1.检查你的脱壳修复问题,我放出的程序在我机器上,朋友机器上共6台机器上运行均没出现你所提出的问题!

2.修改后程序一定不要再加壳,除非你计算出加壳后的程序大小代码再作修改!
........


KuNgBiM,我又下了你作的那个补丁程序,其实打补丁后与你上次贴子中附的附件一样,结果也一样,运行后就会很快的自动退出。
其实我自己作的基本都是按照你的步骤下来的 不论我自己破解的还是你作的破解在我的机器上结果都一样,会自动退出!
我怀疑是不是与系统有关?你和你的朋友有用win2000的吗?我想可能与系统不同有关,我记得你用的是XP吧,我用的是2000,而我在一台win98的机器上就是不修改脱壳后的文件大小都可以正常运行,这个文件大小的校验好象在98中不起作用,我到现在也没想明白是怎么回事。

这里有用win2000的朋友请下载KuNgBiM发布的那个破解程序试试(KuNgBiM的贴子中有附件),应该不会是我的系统有问题吧 请说一下结果

为了这个程序花了几天时间了,真不甘心就这么放弃
2005-8-20 20:38
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 prince 发布
CreateFile之前会用GetModuleName之类的函数得到自身的EXE文件名称,得到后记下buffer地址,在合适的地方修改...
另外,这个方法不是真正的去校验,因为要依赖原文件,所以用来分析算法比较合适,没法爆破发布,不过自己用还是可以的...


这个方法我一定要好好研究一下,发现自校验真的很讨厌,这方面的教材太少了
哪天成功应用上prince的偷天换日一定第一时间向大家报告
2005-8-20 20:42
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
今天用同事的win2000的机子试了试,与我用的结果是一样的,不能运行。
KuNgBiM能不能再检查一下这个软件到底哪里还有自校验?而且竟然只对2000的系统起作用?!
其他高手如果有时间能不能也看看,帮我这个菜鸟讲讲,谢谢!
2005-8-22 09:05
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
又用另一同事的winXP试过,也是一运行就自动退出(用的是KuNgBiM的破解补丁)
坛子里就没有人试过吗?希望能有人说一下结果!
2005-8-22 15:26
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
11
可能是因为下面的代码

00430B0B   |.  5B           pop ebx
00430B0C   |.  74 07        je short cr.00430B15
00430B0E   |.  E8 1D000000  call cr.00430B30
00430B13   |.  5F           pop edi
00430B14   |.  C3           retn
00430B15   |>  FF7424 08    push dword ptr ss:[esp+8]              ; /ExitCode
00430B19   |.  893D C43A470>mov dword ptr ds:[473AC4],edi          ; |
00430B1F   \.  FF15 8071450>call dword ptr ds:[<&KERNEL32.ExitProc>; \ExitProcess
00430B25    .  5F           pop edi
00430B26    .  C3           retn
2005-8-22 16:40
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
12
win2003也退出,可能跟系统有关?
2005-8-22 16:42
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
13
程序有暗桩,启动的时候会联网验证注册码。

作者好坏!

00403B40    .  55               push ebp                                       ;  暗桩开始
00403B41    .  8BEC             mov ebp,esp
00403B43    .  6A FF            push -1
00403B45    .  68 680D4500      push cr.00450D68                               ;  SE handler installation
00403B4A    .  64:A1 00000000   mov eax,dword ptr fs:[0]
00403B50    .  50               push eax
00403B51    .  64:8925 00000000 mov dword ptr fs:[0],esp
00403B58    .  81EC 28010000    sub esp,128
00403B5E    .  53               push ebx
00403B5F    .  56               push esi
00403B60    .  57               push edi
00403B61    .  33DB             xor ebx,ebx
00403B63    .  8965 F0          mov dword ptr ss:[ebp-10],esp
00403B66    .  53               push ebx
00403B67    .  53               push ebx
00403B68    .  53               push ebx
00403B69    .  53               push ebx
00403B6A    .  53               push ebx
00403B6B    .  53               push ebx
00403B6C    .  8D4D D4          lea ecx,dword ptr ss:[ebp-2C]
00403B6F    .  E8 3D7C0400      call cr.0044B7B1
00403B74    .  A1 1CD64600      mov eax,dword ptr ds:[46D61C]
00403B79    .  895D FC          mov dword ptr ss:[ebp-4],ebx
00403B7C    .  8945 EC          mov dword ptr ss:[ebp-14],eax
00403B7F    .  8945 E8          mov dword ptr ss:[ebp-18],eax
00403B82    .  A1 C4194700      mov eax,dword ptr ds:[4719C4]
00403B87    .  8B0D C8194700    mov ecx,dword ptr ds:[4719C8]
00403B8D    .  8B15 CC194700    mov edx,dword ptr ds:[4719CC]
00403B93    .  50               push eax
00403B94    .  51               push ecx
00403B95    .  52               push edx
00403B96    .  8D45 E8          lea eax,dword ptr ss:[ebp-18]                  ;  联网验证
00403B99    .  68 B4814600      push cr.004681B4                               ;  ASCII "http://biodrug.51.net/drugdirreg.php?usename=%s&machinecode=%s®code=%s"
00403B9E    .  50               push eax
00403B9F    .  C645 FC 02       mov byte ptr ss:[ebp-4],2
00403BA3    .  881D D0194700    mov byte ptr ds:[4719D0],bl
00403BA9    .  E8 60CF0300      call cr.00440B0E
00403BAE    .  8B4D E8          mov ecx,dword ptr ss:[ebp-18]
00403BB1    .  83C4 14          add esp,14
00403BB4    .  C645 FC 03       mov byte ptr ss:[ebp-4],3
00403BB8    .  53               push ebx
00403BB9    .  53               push ebx
00403BBA    .  6A 01            push 1
00403BBC    .  6A 01            push 1
00403BBE    .  51               push ecx
00403BBF    .  8D4D D4          lea ecx,dword ptr ss:[ebp-2C]
00403BC2    .  E8 E57C0400      call cr.0044B8AC
00403BC7    .  8BF0             mov esi,eax
00403BC9    .  BF 02000000      mov edi,2
00403BCE    .  3BF3             cmp esi,ebx
00403BD0    .  8975 D0          mov dword ptr ss:[ebp-30],esi
00403BD3    .  897D FC          mov dword ptr ss:[ebp-4],edi
00403BD6    .  0F84 1A010000    je cr.00403CF6
00403BDC    .  8B16             mov edx,dword ptr ds:[esi]
00403BDE    .  8D45 EC          lea eax,dword ptr ss:[ebp-14]
00403BE1    .  50               push eax
00403BE2    .  8BCE             mov ecx,esi
00403BE4    .  C645 FC 05       mov byte ptr ss:[ebp-4],5
00403BE8    .  FF52 58          call dword ptr ds:[edx+58]
00403BEB    .  68 98814600      push cr.00468198                               ;  ASCII "sasoiprqwrwkrqrq;djfaske"
00403BF0    .  8D4D EC          lea ecx,dword ptr ss:[ebp-14]
00403BF3    .  897D FC          mov dword ptr ss:[ebp-4],edi
00403BF6    .  E8 8DCB0300      call cr.00440788
00403BFB    .  83CF FF          or edi,FFFFFFFF
00403BFE    .  3BC7             cmp eax,edi
00403C00    .  74 4F            je short cr.00403C51                           ;  死亡之跳
00403C02    .  8B16             mov edx,dword ptr ds:[esi]
00403C04    .  8BCE             mov ecx,esi
00403C06    .  FF52 4C          call dword ptr ds:[edx+4C]
00403C09    .  8D4D D4          lea ecx,dword ptr ss:[ebp-2C]
00403C0C    .  E8 457C0400      call cr.0044B856
00403C11    .  68 E8030000      push 3E8                                       ; /Timeout = 1000. ms
00403C16    .  FF15 E4724500    call dword ptr ds:[<&KERNEL32.Sleep>]          ; \Sleep
00403C1C    .  8D4D E8          lea ecx,dword ptr ss:[ebp-18]
00403C1F    .  C645 FC 01       mov byte ptr ss:[ebp-4],1
00403C23    .  E8 4B250400      call cr.00446173
00403C28    .  8D4D EC          lea ecx,dword ptr ss:[ebp-14]
00403C2B    .  885D FC          mov byte ptr ss:[ebp-4],bl
00403C2E    .  E8 40250400      call cr.00446173
00403C33    .  8D4D D4          lea ecx,dword ptr ss:[ebp-2C]
00403C36    .  897D FC          mov dword ptr ss:[ebp-4],edi
00403C39    .  E8 2E7B0400      call cr.0044B76C
00403C3E    .  33C0             xor eax,eax
00403C40    .  8B4D F4          mov ecx,dword ptr ss:[ebp-C]
00403C43    .  64:890D 00000000 mov dword ptr fs:[0],ecx
00403C4A    .  5F               pop edi
00403C4B    .  5E               pop esi
00403C4C    .  5B               pop ebx
00403C4D    .  8BE5             mov esp,ebp
00403C4F    .  5D               pop ebp
00403C50    .  C3               retn
00403C51    >  68 74814600      push cr.00468174                               ;  ASCII "please do not use unlock software"
00403C56    .  8D4D EC          lea ecx,dword ptr ss:[ebp-14]
00403C59    .  E8 2ACB0300      call cr.00440788
00403C5E    .  3BC7             cmp eax,edi
00403C60    .  74 16            je short cr.00403C78
00403C62    .  8B06             mov eax,dword ptr ds:[esi]
00403C64    .  8BCE             mov ecx,esi
00403C66    .  FF50 4C          call dword ptr ds:[eax+4C]
00403C69    .  8D4D D4          lea ecx,dword ptr ss:[ebp-2C]
00403C6C    .  E8 E57B0400      call cr.0044B856
00403C71    .  6A 01            push 1
00403C73    .  E8 E8CD0200      call cr.00430A60
00403C78    >  8B16             mov edx,dword ptr ds:[esi]
00403C7A    .  8BCE             mov ecx,esi
00403C7C    .  FF52 4C          call dword ptr ds:[edx+4C]
00403C7F    .  8D4D D4          lea ecx,dword ptr ss:[ebp-2C]
00403C82    .  E8 CF7B0400      call cr.0044B856
00403C87    .  68 10270000      push 2710                                      ; /Timeout = 10000. ms
00403C8C    .  FF15 E4724500    call dword ptr ds:[<&KERNEL32.Sleep>]          ; \Sleep
00403C92    .  8D4D E8          lea ecx,dword ptr ss:[ebp-18]
00403C95    .  C605 D0194700 01 mov byte ptr ds:[4719D0],1
00403C9C    .  C645 FC 01       mov byte ptr ss:[ebp-4],1
00403CA0    .  E8 CE240400      call cr.00446173
00403CA5    .  8D4D EC          lea ecx,dword ptr ss:[ebp-14]
00403CA8    .  885D FC          mov byte ptr ss:[ebp-4],bl
00403CAB    .  E8 C3240400      call cr.00446173
00403CB0    .  897D FC          mov dword ptr ss:[ebp-4],edi
00403CB3    .  E9 BD000000      jmp cr.00403D75                                ;  退出程序
2005-8-22 16:56
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
原来问题是出在这里啊!
kill好厉害,十几分钟就解决了!!真是高手!佩服佩服!!

找暗桩有什么技巧吗?
是不是只能用OD一步步跟进去看?看来我还是基本功太差

谢谢kill!终于把这个让我头疼了几天的难题解决了。非常感谢!
2005-8-22 18:18
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
OD有没有命令可以搜索注释?

想了一个偷懒的办法,是不是可以通过找exit找到入口?
2005-8-22 19:13
0
游客
登录 | 注册 方可回帖
返回
//