能力值:
( LV2,RANK:10 )
|
-
-
2 楼
然后呢?for what?要达到啥效果啊?
没money没动力..哇哈哈哈哈....随便看了一眼....只是觉得搞得比较麻烦了....
继续看电影..嘎嘎
|
能力值:
( LV5,RANK:60 )
|
-
-
3 楼
关注
|
能力值:
( LV7,RANK:100 )
|
-
-
4 楼
有问题吧,输什么都会弹 试用账号 那个提示框。
|
能力值:
( LV13,RANK:520 )
|
-
-
5 楼
提示的信息是从服务端返回的.返回的内容我也错了.
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
难道要给堆栈 DS:[0012FE78]=00000000赋值吗???
|
能力值:
( LV6,RANK:80 )
|
-
-
7 楼
key 和 加密后信息一起发给服务器。
服务器解密(xor),比较用户名,密码,
只有一组
账号:Admin
密码:半斤八兩
然后,同样设置key,标志位,加密信息返回。
最后客户端收到信息,解密检查标志位,弹出信息框
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
BYTE xorAl;
__asm{
pushad
rdtsc
mov ecx,eax
imul ecx,ecx,0x343FD
add ecx,0x269EC3
mov ebx,ecx
mov eax,ecx
shr eax,0x10
add eax,0x7FFF
cdq
mov ecx,0xFF
idiv ecx
mov eax,edx
inc eax
mov xorAl,al
popad
}
if (!xorAl)
{
return 0;
}
for (int i=0;i < 0x17C;i++)
{
g_szEncodeBuf[i]=g_szEncodeBuf[i] ^ xorAl;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
碉堡了...............
|
能力值:
( LV13,RANK:520 )
|
-
-
10 楼
更新2.0版本了.
|
能力值:
( LV7,RANK:100 )
|
-
-
11 楼
struct sendPackage{
char name[32]; //用户名
char passwd[32]; //密码
SYSTEMTIME time;//当前系统时间
char ver[4]; //版本?0.1
char unknow[28];
int smback;
int addr; //这个地址很重要
char unknow[4];
char key; //rand(),后用这对全部的0x17c个字节进行加密
char keys[125]; //rand(),先用这对前0x7d个字节加密
char unkonw[130];
};
struct recvPackage{
int ver;
char unknow[28];
SYSTEMTIME time;//当前系统时间
...
int addr; //验证成功会返回发送过去的地址,否则为0
int isright; //等于0x22验证失败..0x11
char text[254]; //欢迎使用半斤八两网络验证系统 v2.0版本
char key; //先进行全部异或解密
....
char key[70];//再用这个数组对前70个字节进行解密
};
分析了个大概,
发包中通过两次异或加密,其中有个地址很重要。
收包中也通过两次异或加密,验证成功isright为0x11,addr为发送过去的地址. isright失败为0x22,addr失败为0
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
用户名 密码都是Guest
|
能力值:
( LV13,RANK:520 )
|
-
-
13 楼
[QUOTE=飘雪超人;1136186] 用户名 密码都是Guest[/QUOTE]
这个是要爆破的,你这个不算的.
|
能力值:
( LV4,RANK:50 )
|
-
-
14 楼
呵呵,过年在家没事么?10号就回家了,放假真早啊
|
能力值:
( LV13,RANK:520 )
|
-
-
15 楼
票已经取消了.
不打算回家了,准备出去玩~
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
004019E3 |. 68 28F14400 PUSH Client.0044F128 ; ASCII ":)"
004019E8 |. 50 PUSH EAX
004019E9 |. 8BCE MOV ECX,ESI
004019EB |. E8 5B6C0200 CALL Client.0042864B
004019F0 |. 83BE D8010000>CMP DWORD PTR DS:[ESI+0x1D8],0x11
004019F7 |. 74 1A JE SHORT Client.00401A13 //这句话是判断是否验证通过,改成jne
004019F9 |. 6A 10 PUSH 0x10
004019FB |. 68 44F14400 PUSH Client.0044F144 ; ASCII ":("
00401A00 |. 68 1CF14400 PUSH Client.0044F11C
00401A05 |. 8BCE MOV ECX,ESI
00401A07 |. E8 3F6C0200 CALL Client.0042864B
00401A22 8BBE E0010000 MOV EDI,DWORD PTR DS:[ESI+0x1E0] //EDI,多加这句话,因为验证没通过,没有给函数地址,在前面函数地址是加过密的,传给服务端,服务端传回来再解密,如果验证错误,则此地址是0
00401A28 8B17 MOV EDX,DWORD PTR DS:[EDI]
00401A2A 8BCF MOV ECX,EDI
00401A2C FF92 B8000000 CALL DWORD PTR DS:[EDX+0xB8] ; Client33.00425B25
00401A32 5F POP EDI
00401A33 5E POP ESI
00401A34 33C0 XOR EAX,EAX
00401A36 5B POP EBX
00401A37 C3 RETN
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
看到半斤的帖子,果断跟进来,相信会有惊喜
|
|
|