能力值:
( LV2,RANK:10 )
|
-
-
2 楼
有意思.什么都弹不出来.下了 N个断点都没有找到按钮事件.
希望能提示下.最好能给个教程分析下.
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
提示:
1.算法很简单,这要是锻炼大家跟踪技术。
2.如果注册成功会弹出对话框“祝贺你”。
3.CrackMe已开始就启动双线程,一个负责验证用户名及注册码,另一个负责显示 。
4.双线程间采用事件通讯。
|
能力值:
( LV5,RANK:60 )
|
-
-
4 楼
user:findlakes
code:sekaldnif
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我不行。连按钮事件都没找到,没发分析.
看来还的好好的在学几年在来分析他.
|
能力值:
(RANK:260 )
|
-
-
6 楼
哈哈,20分钟
|
能力值:
(RANK:260 )
|
-
-
7 楼
实际是三线程。
有一个是个幌子。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
你们都这么厉害啊. 太令人羡慕了.
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
三楼和五楼不错 ,希望能给出过程来大家学习 。
|
能力值:
(RANK:260 )
|
-
-
10 楼
具体过程先不发了,给还没找到思路的朋友一点提示。
CrackMe,关键在于自己动手。完全写出来意义不大。
程序使用了多个线程,那就下断CreateThread,F9运行,发现共中断两次。(对于多线程的程序,在CreateThread下断点是常识)
从函数参数里找到线程函数地址,共有两个,直接对线程函数的代码阅读分析即可。可以知道其中一个线程是掩人耳目的,没用,另一个正是验证过程。
函数并不长,分析起来并不难。如果静态分析不得要领,就在WaitForSingleObject后面下断点,然后输入名字和密码,确定后就会断下来,动态分析就可以了。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
什么跟什么嘛,人家什么都不会怎么给你分析过程呢.
|
能力值:
(RANK:260 )
|
-
-
12 楼
女人的口气。
哈哈哈,楼主,MM跟你撒娇
|
能力值:
( LV4,RANK:50 )
|
-
-
13 楼
难为人啊,呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
你这么有研究啊。.那你告诉我男人的口气是怎么样的.
|
能力值:
(RANK:260 )
|
-
-
15 楼
我突然发现飘渺MM。。。
一个版基本都是。
呀,我错了,怎么发水贴了。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
小声点。被大管版主听到不好。
汗。人家没技术刚过来灌点水也不行啊.
|
能力值:
( LV4,RANK:50 )
|
-
-
17 楼
有意思,猜对了SetEvent,关键点,算法就不逆了
003D12AA . 8D53 FF LEA EDX,DWORD PTR DS:[EBX-0x1] ; 校验过程开始 003D12AD . 8D7C1B FE LEA EDI,DWORD PTR DS:[EBX+EBX-0x2] 003D12B1 > 85C0 TEST EAX,EAX 003D12B3 . 7C 4F JL XCrackeMe.003D1304 003D12B5 . 8B75 00 MOV ESI,DWORD PTR SS:[EBP] 003D12B8 . 3B46 F4 CMP EAX,DWORD PTR DS:[ESI-0xC] 003D12BB . 7F 47 JG XCrackeMe.003D1304 003D12BD . 85D2 TEST EDX,EDX 003D12BF . 7C 43 JL XCrackeMe.003D1304 003D12C1 . 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+0x14] 003D12C5 . 83C1 7C ADD ECX,0x7C 003D12C8 . 8B09 MOV ECX,DWORD PTR DS:[ECX] 003D12CA . 3B51 F4 CMP EDX,DWORD PTR DS:[ECX-0xC] 003D12CD . 7F 35 JG XCrackeMe.003D1304 003D12CF . 66:8B3446 MOV SI,WORD PTR DS:[ESI+EAX*2] 003D12D3 . 66:3B340F CMP SI,WORD PTR DS:[EDI+ECX] 003D12D7 . 75 19 JNZ XCrackeMe.003D12F2 003D12D9 . 40 INC EAX 003D12DA . 83EF 02 SUB EDI,0x2 003D12DD . 4A DEC EDX 003D12DE . 3BC3 CMP EAX,EBX 003D12E0 .^ 7C CF JL XCrackeMe.003D12B1 ; 校验结尾 003D12E2 > A1 C0554100 MOV EAX,DWORD PTR DS:[0x4155C0] 003D12E7 . 85C0 TEST EAX,EAX 003D12E9 . 74 07 JE XCrackeMe.003D12F2 003D12EB . 50 PUSH EAX ; /hEvent => 000000F8 (window) 003D12EC . FF15 AC324000 CALL DWORD PTR DS:[<&KERNEL32.SetEvent>] ; \SetEvent 003D12F2 > 833D 642A4100>CMP DWORD PTR DS:[0x412A64],0x0
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
user name : username
code: emanresu
折腾了好久,其实密码就是在对输入用户名进行倒序.
一个线程对username跟code进行校验,若校验成功就对另外一个线程进行setevent。
|
能力值:
( LV2,RANK:15 )
|
-
-
19 楼
源码能不能康康
|
|
|