能力值:
( LV15,RANK:520 )
|
-
-
2 楼
等待楼主的破文
查找未注册窗体数据资源:
00405F3C=<jmp.&kernel32.LoadResource>
已解码,可以打个补丁就是变成已注册的窗体了,未注册几个字被加密了,没看了。:
0040221D . 83C0 04 add eax, 4
00402220 . 8945 FC mov dword ptr [ebp-4], eax
00402223 . FF05 B0254500 inc dword ptr [4525B0]
00402229 . 83EB 04 sub ebx, 4
0040222C . 011D B4254500 add dword ptr [4525B4], ebx
00402232 . E8 C1160000 call 004038F8
已解码的数据:
00D63775 43 C
00D63785 72 61 63 6B 4D 65 20 2D 20 CE B4 D7 A2 B2 E1 20 rackMe - 未注册
00D63795 20 20 20 42 79 3A 20 BF A8 C7 EF C9 AF 20 00 2A By: 卡秋莎 .*
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
基本搞不懂你在说什么啊,新手,能将详细点么
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
http://bbs.pediy.com/showthread.php?t=40335
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
就是那篇帖子的 程序,求大神帮忙
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我不是大神,只是一个小菜,看了一下挺好玩的,第一次接触这东东。
功力不够,没看算法,仅仅是PATCH了一下,PATCH代码在0044F48D
在我电脑上显示成功了,不知道你们能不能显示
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
你好怎么弄的啊,折腾我半天了能教教我么
|
能力值:
( LV6,RANK:90 )
|
-
-
8 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
到底怎么弄的啊 不要发个程序就走了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
读取资源字符串(/!.NXX⑤棺?):
00407F00 push ebx
00407F01 push esi ; 请改窗口.00407F00
00407F02 add esp, -400
00407F08 mov esi, eax
00407F0A mov ebx, edx
00407F0C push 400 ; /Count = 400 (1024.)
00407F11 lea eax, dword ptr [esp+4] ; |
00407F15 push eax ; |Buffer
00407F16 mov eax, dword ptr [ebx] ; |
00407F18 push eax ; |RsrcID=1
00407F19 push esi ; |hInst
00407F1A call <jmp.&user32.LoadStringA> ; \LoadStringA
00407F1F mov ecx, eax
00407F21 mov edx, esp
00407F23 lea eax, dword ptr [ebx+4]
00407F26 call 00403F00
00407F2B cmp dword ptr [ebx+4], 0
00407F2F sete al
00407F32 add esp, 400
00407F38 pop esi
00407F39 pop ebx
00407F3A retn
0044F483 mov edx, 0044F4DC ; 传入密钥:linux
0044F488 call 0044F390 ; 解密字符串
{
0044F390 push ebp
0044F391 mov ebp, esp
0044F393 add esp, -10
0044F396 push ebx
0044F397 push esi
0044F398 push edi
0044F399 xor ebx, ebx
0044F39B mov dword ptr [ebp-10], ebx
0044F39E mov edi, ecx
0044F3A0 mov dword ptr [ebp-8], edx
0044F3A3 mov dword ptr [ebp-4], eax
0044F3A6 mov eax, dword ptr [ebp-4]
0044F3A9 call 004042C0
0044F3AE mov eax, dword ptr [ebp-8]
0044F3B1 call 004042C0
0044F3B6 xor eax, eax
0044F3B8 push ebp
0044F3B9 push 0044F44A
0044F3BE push dword ptr fs:[eax]
0044F3C1 mov dword ptr fs:[eax], esp
0044F3C4 mov ebx, 1
0044F3C9 mov eax, edi
0044F3CB call 00403E10
0044F3D0 mov eax, dword ptr [ebp-4]
0044F3D3 call 004040D0
0044F3D8 mov esi, eax
0044F3DA test esi, esi
0044F3DC jle short 0044F427
0044F3DE mov dword ptr [ebp-C], 1
0044F3E5 /lea eax, dword ptr [ebp-10]
0044F3E8 |mov edx, dword ptr [ebp-4]
0044F3EB |mov ecx, dword ptr [ebp-C]
0044F3EE |mov dl, byte ptr [edx+ecx-1] ; 逐位取出加密的字符
0044F3F2 |mov ecx, dword ptr [ebp-8]
0044F3F5 |mov cl, byte ptr [ecx+ebx-1] ; 逐位和密钥xor运算
0044F3F9 |xor dl, cl
0044F3FB |call 00403FF8
0044F400 |mov edx, dword ptr [ebp-10]
0044F403 |mov eax, edi
0044F405 |call 004040D8
0044F40A |mov eax, dword ptr [ebp-8]
0044F40D |call 004040D0
0044F412 |lea edx, dword ptr [ebx+1]
0044F415 |cmp eax, edx
0044F417 |jl short 0044F41C
0044F419 |inc ebx
0044F41A |jmp short 0044F421
0044F41C |mov ebx, 1
0044F421 |inc dword ptr [ebp-C]
0044F424 |dec esi
0044F425 \jnz short 0044F3E5
0044F427 xor eax, eax
0044F429 pop edx
0044F42A pop ecx
0044F42B pop ecx
0044F42C mov dword ptr fs:[eax], edx
0044F42F push 0044F451
0044F434 lea eax, dword ptr [ebp-10]
0044F437 call 00403E10
0044F43C lea eax, dword ptr [ebp-8]
0044F43F mov edx, 2
0044F444 call 00403E34
0044F449 retn
}
修改资源字符串为 /!.NXX靖棺? 即可!
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
还有个简单的方法 你把0044F3F9 这行nop掉 然后用资源工具改 字符串资源1 里的字符就行了
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
怎么跟踪到那个算法的啊,我实在loadString上下断,然后中间一堆函数,怎么才能跟踪到哪
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
知道了 抓到字符串以后设 内存访问断点
|