能力值:
( LV13,RANK:410 )
|
-
-
2 楼
.text:00401F57 push eax ; String
.text:00401F58 call __atoi64
.text:00401F5D add esp, 4
.text:00401F60 cmp eax, 417981B2h
.text:00401F65 jnz short loc_401F6C
.text:00401F67 cmp edx, 3
.text:00401F6A jz short loc_401F79
密码: 13983383986
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
能不能给下详细的分析过程呀?
|
能力值:
( LV13,RANK:410 )
|
-
-
4 楼
这就是过程.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
给ok按钮下个buttonup消息断点,输入些内容点击ok后断下,Alt+F9返回用户领空,走几步发现不是,内存中搜索你输入的内容,找到下硬件读取断点,F9,断下,就到了楼上给的那段代码里的函数了。那两个跳转就是爆破点。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
[QUOTE=无聊的菜鸟;1000205]
那个密码是怎么得出来的
|
能力值:
( LV13,RANK:410 )
|
-
-
7 楼
3417981B2h=13983383986
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
哦 多谢楼上的啦 还有第一位的3是怎么分析得出的
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
__atoi64
EDX是EAX的高位扩展
0040A757 |. 13F2 |ADC ESI,EDX ; 高位计算
0040A759 |. 8BD9 |MOV EBX,ECX
0040A75B |. 8BEE |MOV EBP,ESI ; 高位
0040A75D |. 0FB637 |MOVZX ESI,BYTE PTR DS:[EDI]
0040A760 |. 47 |INC EDI
0040A761 |.^ EB B3 \JMP SHORT CM.0040A716
0040A763 |> 837C24 10 2D CMP DWORD PTR SS:[ESP+10],2D
0040A768 |. 8BC3 MOV EAX,EBX
0040A76A |. 75 0B JNZ SHORT CM.0040A777
0040A76C |. F7D8 NEG EAX
0040A76E |. 8BD5 MOV EDX,EBP
0040A770 |. 83D2 00 ADC EDX,0
0040A773 |. F7DA NEG EDX
0040A775 |. EB 02 JMP SHORT CM.0040A779
0040A777 |> 8BD5 MOV EDX,EBP ; 最后的输出值
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
学习学习,ollydbg怎么没有解析出__atoi64
来呢
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
还是没明白为啥是3呢
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
call __atoi64
eax edx 分别存放低高32位吧
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
重点在这,呵呵
text:00401F60 cmp eax, 417981B2h
.text:00401F65 jnz short loc_401F6C
.text:00401F67 cmp edx, 3
你看下edx不等于3的流程
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
我想知道为什么edx的3就是第一位的3
|
能力值:
( LV13,RANK:388 )
|
-
-
15 楼
00000003417981B2h 是个64位数
eax edx 是32位寄存器
eax放这个数的低32位
edx放高32位
所以。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
学 习 下
|
|
|