此程序建立了一个TCP服务端,端口号为10010,之后accept等待连接,如果接受到连接,那么就发送一些欢迎信息,以及提示信息---发送quit退出.

之后不停地调用recv,如果接受到数据,那么判断是否为quit,是则退出,否则进入401e00对接收到的数据进行加密

,之后把加密后的数据发送回客户端:

之后跳回recv等待.

加密过程401e00抠出,如下:

;第一步 抠出加密函数
.
.model flat,stdcall option casemap:none include msvcrt.inc ;
include windows.inc ;
include kernel32.inc ;
;
includelib msvcrt.lib
includelib KERNEL32.LIB .data format db "%s",
string db "", ecode db 041h, 00eh, 097h, 0a3h, 02bh, 05ah, 0b7h, 06dh, 039h, 030h, 036h src db dup()
buf db dup() var_98C dd 000000000h
var_988 dd 000000000h
var_984 dd 000000002h var_980 dd 000802001h, 000002081h, 000002081h, 000000080h, 000802080h, 000800081h, 000800001h, 000002001h, 000000000h, 000802000h, 000802000h, 000802081h, 000000081h, 000000000h, 000800080h, 000800001h
dd 000000001h, 000002000h, 000800000h, 000802001h, 000000080h, 000800000h, 000002001h, 000002080h, 000800081h, 000000001h, 000002080h, 000800080h, 000002000h, 000802080h, 000802081h, 000000081h
dd 000800080h, 000800001h, 000802000h, 000802081h, 000000081h, 000000000h, 000000000h, 000802000h, 000002080h, 000800080h, 000800081h, 000000001h, 000802001h, 000002081h, 000002081h, 000000080h
dd 000802081h, 000000081h, 000000001h, 000002000h, 000800001h, 000002001h, 000802080h, 000800081h, 000002001h, 000002080h, 000800000h, 000802001h, 000000080h, 000800000h, 000002000h, 000802080h
var_880 dd 080108020h, 080008000h, 000008000h, 000108020h, 000100000h, 000000020h, 080100020h, 080008020h, 080000020h, 080108020h, 080108000h, 080000000h, 080008000h, 000100000h, 000000020h, 080100020h
dd 000108000h, 000100020h, 080008020h, 000000000h, 080000000h, 000008000h, 000108020h, 080100000h, 000100020h, 080000020h, 000000000h, 000108000h, 000008020h, 080108000h, 080100000h, 000008020h
dd 000000000h, 000108020h, 080100020h, 000100000h, 080008020h, 080100000h, 080108000h, 000008000h, 080100000h, 080008000h, 000000020h, 080108020h, 000108020h, 000000020h, 000008000h, 080000000h
dd 000008020h, 080108000h, 000100000h, 080000020h, 000100020h, 080008020h, 080000020h, 000100020h, 000108000h, 000000000h, 080008000h, 000008020h, 080000000h, 080100020h, 080108020h, 000108000h
var_780 dd 001010400h, 000000000h, 000010000h, 001010404h, 001010004h, 000010404h, 000000004h, 000010000h, 000000400h, 001010400h, 001010404h, 000000400h, 001000404h, 001010004h, 001000000h, 000000004h
dd 000000404h, 001000400h, 001000400h, 000010400h, 000010400h, 001010000h, 001010000h, 001000404h, 000010004h, 001000004h, 001000004h, 000010004h, 000000000h, 000000404h, 000010404h, 001000000h
dd 000010000h, 001010404h, 000000004h, 001010000h, 001010400h, 001000000h, 001000000h, 000000400h, 001010004h, 000010000h, 000010400h, 001000004h, 000000400h, 000000004h, 001000404h, 000010404h
dd 001010404h, 000010004h, 001010000h, 001000404h, 001000004h, 000000404h, 000010404h, 001010400h, 000000404h, 001000400h, 001000400h, 000000000h, 000010004h, 000010400h, 000000000h, 001010004h
var_680 dd 020000010h, 020400000h, 000004000h, 020404010h, 020400000h, 000000010h, 020404010h, 000400000h, 020004000h, 000404010h, 000400000h, 020000010h, 000400010h, 020004000h, 020000000h, 000004010h
dd 000000000h, 000400010h, 020004010h, 000004000h, 000404000h, 020004010h, 000000010h, 020400010h, 020400010h, 000000000h, 000404010h, 020404000h, 000004010h, 000404000h, 020404000h, 020000000h
dd 020004000h, 000000010h, 020400010h, 000404000h, 020404010h, 000400000h, 000004010h, 020000010h, 000400000h, 020004000h, 020000000h, 000004010h, 020000010h, 020404010h, 000404000h, 020400000h
dd 000404010h, 020404000h, 000000000h, 020400010h, 000000010h, 000004000h, 020400000h, 000404010h, 000004000h, 000400010h, 020004010h, 000000000h, 020404000h, 020000000h, 000400010h, 020004010h
var_580 dd 010001040h, 000001000h, 000040000h, 010041040h, 010000000h, 010001040h, 000000040h, 010000000h, 000040040h, 010040000h, 010041040h, 000041000h, 010041000h, 000041040h, 000001000h, 000000040h
dd 010040000h, 010000040h, 010001000h, 000001040h, 000041000h, 000040040h, 010040040h, 010041000h, 000001040h, 000000000h, 000000000h, 010040040h, 010000040h, 010001000h, 000041040h, 000040000h
dd 000041040h, 000040000h, 010041000h, 000001000h, 000000040h, 010040040h, 000001000h, 000041040h, 010001000h, 000000040h, 010000040h, 010040000h, 010040040h, 010000000h, 000040000h, 010001040h
dd 000000000h, 010041040h, 000040040h, 010000040h, 010040000h, 010001000h, 010001040h, 000000000h, 010041040h, 000041000h, 000041000h, 000001040h, 000001040h, 000040040h, 010000000h, 010041000h
var_480 dd 000000100h, 002080100h, 002080000h, 042000100h, 000080000h, 000000100h, 040000000h, 002080000h, 040080100h, 000080000h, 002000100h, 040080100h, 042000100h, 042080000h, 000080100h, 040000000h
dd 002000000h, 040080000h, 040080000h, 000000000h, 040000100h, 042080100h, 042080100h, 002000100h, 042080000h, 040000100h, 000000000h, 042000000h, 002080100h, 002000000h, 042000000h, 000080100h
dd 000080000h, 042000100h, 000000100h, 002000000h, 040000000h, 002080000h, 042000100h, 040080100h, 002000100h, 040000000h, 042080000h, 002080100h, 040080100h, 000000100h, 002000000h, 042080000h
dd 042080100h, 000080100h, 042000000h, 042080100h, 002080000h, 000000000h, 040080000h, 042000000h, 000080100h, 002000100h, 040000100h, 000080000h, 000000000h, 040080000h, 002080100h, 040000100h
var_380 dd 000200000h, 004200002h, 004000802h, 000000000h, 000000800h, 004000802h, 000200802h, 004200800h, 004200802h, 000200000h, 000000000h, 004000002h, 000000002h, 004000000h, 004200002h, 000000802h
dd 004000800h, 000200802h, 000200002h, 004000800h, 004000002h, 004200000h, 004200800h, 000200002h, 004200000h, 000000800h, 000000802h, 004200802h, 000200800h, 000000002h, 004000000h, 000200800h
dd 004000000h, 000200800h, 000200000h, 004000802h, 004000802h, 004200002h, 004200002h, 000000002h, 000200002h, 004000000h, 004000800h, 000200000h, 004200800h, 000000802h, 000200802h, 004200800h
dd 000000802h, 004000002h, 004200802h, 004200000h, 000200800h, 000000000h, 000000002h, 004200802h, 000000000h, 000200802h, 004200000h, 000000800h, 004000002h, 004000800h, 000000800h, 000200002h
var_280 dd 000000208h, 008020200h, 000000000h, 008020008h, 008000200h, 000000000h, 000020208h, 008000200h, 000020008h, 008000008h, 008000008h, 000020000h, 008020208h, 000020008h, 008020000h, 000000208h
dd 008000000h, 000000008h, 008020200h, 000000200h, 000020200h, 008020000h, 008020008h, 000020208h, 008000208h, 000020200h, 000020000h, 008000208h, 000000008h, 008020208h, 000000200h, 008000000h
dd 008020200h, 008000000h, 000020008h, 000000208h, 000020000h, 008020200h, 008000200h, 000000000h, 000000200h, 000020008h, 008020208h, 008000200h, 008000008h, 000000200h, 000000000h, 008020008h
dd 008000208h, 000020000h, 008000000h, 008020208h, 000000008h, 000020208h, 000020200h, 008000008h, 008020000h, 008000208h, 000000208h, 008020000h, 000020208h, 000000008h, 008020008h, 000020200h
Dst dd 002002608h
var_17C dd 010200e3ah, 000242327h, 004000431h, 000042834h, 020002b26h, 000241613h, 00008003fh, 001203811h, 020001f00h, 00020340eh, 020093015h, 005000b0ch, 02008030eh, 001000525h, 0000d3c13h
dd 020103f04h, 008001a21h, 000100e3ah, 003000816h, 020181107h, 001002b30h, 020002432h, 00300330bh, 020081c0dh, 00220052dh, 002082910h, 002002413h, 000081a25h, 00030321ch, 000001d29h, 00402090ah
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h .code GetXor proc retn GetXor endp Ecode proc ;arg_0:dword,len:dword
push ebp
mov ebp,esp
pushad
xor esi,esi
mov ebx,[ebp+0ch]
shr ebx, ; ebx = 数据长度
add esp, 10h
xor edi, edi
mov [var_984], ebx
cmp ebx, esi
jbe loc_40332F
lea esp, [esp+] mov esi, [ebp+] loc_403100: ; CODE XREF: sub_401E00+1529j
mov edx, [ebp+]
mov eax, [edx+edi*]
mov edx, [edx+edi*+]
mov ecx, eax
mov ebx, eax
shr ebx, 10h
and ecx, 0FF0000h
or ecx, ebx
mov ebx, eax
and eax, 0FF00h
shl ebx, 10h
or ebx, eax
mov eax, edx
shl ebx,
shr ecx,
or ecx, ebx
mov ebx, edx
and eax, 0FF0000h
shr ebx, 10h
or eax, ebx
mov ebx, edx
and edx, 0FF00h
shl ebx, 10h
or ebx, edx
shr eax,
shl ebx,
or eax, ebx
mov edx, ecx
shr edx,
xor edx, eax
and edx, 0F0F0F0Fh
xor eax, edx
shl edx,
xor ecx, edx
mov edx, ecx
shr edx, 10h
xor edx, eax
and edx, 0FFFFh
xor eax, edx
shl edx, 10h
xor ecx, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 33333333h
xor ecx, edx
add edx, edx
add edx, edx
xor eax, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 0FF00FFh
xor ecx, edx
shl edx,
xor eax, edx
mov edx, ecx
shr edx,
xor edx, eax
and edx, 55555555h
lea ebx, [edx+edx]
xor ebx, ecx
xor eax, edx
rol ebx,
rol eax,
xor ebp, ebp
mov [var_98C], ebp
mov ecx, eax loc_4031C4: ; CODE XREF: sub_401E00+145Cj
mov eax, [ebp*+Dst]
xor eax, ecx
mov edx, ecx
ror edx,
xor edx, [ebp*+var_17C]
mov [var_988], ebx
mov ebx, ecx
mov ecx, eax
shr ecx,
and ecx, 3Fh
mov ecx, [ecx*+var_680]
mov ebp, edx
shr ebp,
and ebp, 3Fh
or ecx, [ebp*+var_480]
mov ebp, eax
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_980]
mov ebp, edx
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_280]
mov ebp, eax
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_880]
mov ebp, edx
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_780]
mov ebp, [var_98C]
and eax, 3Fh
or ecx, [eax*+var_580]
and edx, 3Fh
or ecx, [edx*+var_380]
add ebp,
xor ecx, [var_988]
mov [var_98C], ebp
cmp ebp, 20h
jnz loc_4031C4
ror ecx,
ror ebx,
mov edx, ecx
shr edx,
mov eax, ebx
xor edx, eax
and edx, 55555555h
xor eax, edx
add edx, edx
xor ecx, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 0FF00FFh
xor ecx, edx
shl edx,
xor eax, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 33333333h
xor ecx, edx
add edx, edx
add edx, edx
xor eax, edx
mov edx, ecx
shr edx, 10h
xor edx, eax
and edx, 0FFFFh
xor eax, edx
shl edx, 10h
xor ecx, edx
mov ebx, ecx
shr ebx,
xor ebx, eax
and ebx, 0F0F0F0Fh
mov edx, ebx
shl edx,
xor edx, ecx
mov ebp, edx
mov ecx, edx
shr ecx, 10h
and ebp, 0FF0000h
or ebp, ecx
mov ecx, edx
xor eax, ebx
and edx, 0FF00h
shl ecx, 10h
or ecx, edx
mov edx, eax
and edx, 0FF0000h
mov ebx, eax
shr ebx, 10h
or edx, ebx
mov ebx, eax
shl ebx, 10h
and eax, 0FF00h
shl ecx,
or ebx, eax
shr ebp,
or ebp, ecx
mov ecx, esi
shr edx,
shl ebx,
or edx, ebx
mov [ecx+edi*], ebp
mov [ecx+edi*+], edx
add edi,
cmp edi, [var_984]
jb loc_403100
loc_40332F:
popad
sub esp,10h
pop ebp
ret Ecode endp main: ;for test push 0ah
push offset string
call Ecode ret end main
;第二步 化解加密函数
.
.model flat,stdcall option casemap:none include msvcrt.inc ;
include windows.inc ;
include kernel32.inc ;
;
includelib msvcrt.lib
includelib KERNEL32.LIB .data format db "%s",
string db "", ecode db 041h, 00eh, 097h, 0a3h, 02bh, 05ah, 0b7h, 06dh, 039h, 030h, 036h src db dup()
buf db dup() var_98C dd 000000000h
var_988 dd 000000000h
var_984 dd 000000002h var_980 dd 000802001h, 000002081h, 000002081h, 000000080h, 000802080h, 000800081h, 000800001h, 000002001h, 000000000h, 000802000h, 000802000h, 000802081h, 000000081h, 000000000h, 000800080h, 000800001h
dd 000000001h, 000002000h, 000800000h, 000802001h, 000000080h, 000800000h, 000002001h, 000002080h, 000800081h, 000000001h, 000002080h, 000800080h, 000002000h, 000802080h, 000802081h, 000000081h
dd 000800080h, 000800001h, 000802000h, 000802081h, 000000081h, 000000000h, 000000000h, 000802000h, 000002080h, 000800080h, 000800081h, 000000001h, 000802001h, 000002081h, 000002081h, 000000080h
dd 000802081h, 000000081h, 000000001h, 000002000h, 000800001h, 000002001h, 000802080h, 000800081h, 000002001h, 000002080h, 000800000h, 000802001h, 000000080h, 000800000h, 000002000h, 000802080h
var_880 dd 080108020h, 080008000h, 000008000h, 000108020h, 000100000h, 000000020h, 080100020h, 080008020h, 080000020h, 080108020h, 080108000h, 080000000h, 080008000h, 000100000h, 000000020h, 080100020h
dd 000108000h, 000100020h, 080008020h, 000000000h, 080000000h, 000008000h, 000108020h, 080100000h, 000100020h, 080000020h, 000000000h, 000108000h, 000008020h, 080108000h, 080100000h, 000008020h
dd 000000000h, 000108020h, 080100020h, 000100000h, 080008020h, 080100000h, 080108000h, 000008000h, 080100000h, 080008000h, 000000020h, 080108020h, 000108020h, 000000020h, 000008000h, 080000000h
dd 000008020h, 080108000h, 000100000h, 080000020h, 000100020h, 080008020h, 080000020h, 000100020h, 000108000h, 000000000h, 080008000h, 000008020h, 080000000h, 080100020h, 080108020h, 000108000h
var_780 dd 001010400h, 000000000h, 000010000h, 001010404h, 001010004h, 000010404h, 000000004h, 000010000h, 000000400h, 001010400h, 001010404h, 000000400h, 001000404h, 001010004h, 001000000h, 000000004h
dd 000000404h, 001000400h, 001000400h, 000010400h, 000010400h, 001010000h, 001010000h, 001000404h, 000010004h, 001000004h, 001000004h, 000010004h, 000000000h, 000000404h, 000010404h, 001000000h
dd 000010000h, 001010404h, 000000004h, 001010000h, 001010400h, 001000000h, 001000000h, 000000400h, 001010004h, 000010000h, 000010400h, 001000004h, 000000400h, 000000004h, 001000404h, 000010404h
dd 001010404h, 000010004h, 001010000h, 001000404h, 001000004h, 000000404h, 000010404h, 001010400h, 000000404h, 001000400h, 001000400h, 000000000h, 000010004h, 000010400h, 000000000h, 001010004h
var_680 dd 020000010h, 020400000h, 000004000h, 020404010h, 020400000h, 000000010h, 020404010h, 000400000h, 020004000h, 000404010h, 000400000h, 020000010h, 000400010h, 020004000h, 020000000h, 000004010h
dd 000000000h, 000400010h, 020004010h, 000004000h, 000404000h, 020004010h, 000000010h, 020400010h, 020400010h, 000000000h, 000404010h, 020404000h, 000004010h, 000404000h, 020404000h, 020000000h
dd 020004000h, 000000010h, 020400010h, 000404000h, 020404010h, 000400000h, 000004010h, 020000010h, 000400000h, 020004000h, 020000000h, 000004010h, 020000010h, 020404010h, 000404000h, 020400000h
dd 000404010h, 020404000h, 000000000h, 020400010h, 000000010h, 000004000h, 020400000h, 000404010h, 000004000h, 000400010h, 020004010h, 000000000h, 020404000h, 020000000h, 000400010h, 020004010h
var_580 dd 010001040h, 000001000h, 000040000h, 010041040h, 010000000h, 010001040h, 000000040h, 010000000h, 000040040h, 010040000h, 010041040h, 000041000h, 010041000h, 000041040h, 000001000h, 000000040h
dd 010040000h, 010000040h, 010001000h, 000001040h, 000041000h, 000040040h, 010040040h, 010041000h, 000001040h, 000000000h, 000000000h, 010040040h, 010000040h, 010001000h, 000041040h, 000040000h
dd 000041040h, 000040000h, 010041000h, 000001000h, 000000040h, 010040040h, 000001000h, 000041040h, 010001000h, 000000040h, 010000040h, 010040000h, 010040040h, 010000000h, 000040000h, 010001040h
dd 000000000h, 010041040h, 000040040h, 010000040h, 010040000h, 010001000h, 010001040h, 000000000h, 010041040h, 000041000h, 000041000h, 000001040h, 000001040h, 000040040h, 010000000h, 010041000h
var_480 dd 000000100h, 002080100h, 002080000h, 042000100h, 000080000h, 000000100h, 040000000h, 002080000h, 040080100h, 000080000h, 002000100h, 040080100h, 042000100h, 042080000h, 000080100h, 040000000h
dd 002000000h, 040080000h, 040080000h, 000000000h, 040000100h, 042080100h, 042080100h, 002000100h, 042080000h, 040000100h, 000000000h, 042000000h, 002080100h, 002000000h, 042000000h, 000080100h
dd 000080000h, 042000100h, 000000100h, 002000000h, 040000000h, 002080000h, 042000100h, 040080100h, 002000100h, 040000000h, 042080000h, 002080100h, 040080100h, 000000100h, 002000000h, 042080000h
dd 042080100h, 000080100h, 042000000h, 042080100h, 002080000h, 000000000h, 040080000h, 042000000h, 000080100h, 002000100h, 040000100h, 000080000h, 000000000h, 040080000h, 002080100h, 040000100h
var_380 dd 000200000h, 004200002h, 004000802h, 000000000h, 000000800h, 004000802h, 000200802h, 004200800h, 004200802h, 000200000h, 000000000h, 004000002h, 000000002h, 004000000h, 004200002h, 000000802h
dd 004000800h, 000200802h, 000200002h, 004000800h, 004000002h, 004200000h, 004200800h, 000200002h, 004200000h, 000000800h, 000000802h, 004200802h, 000200800h, 000000002h, 004000000h, 000200800h
dd 004000000h, 000200800h, 000200000h, 004000802h, 004000802h, 004200002h, 004200002h, 000000002h, 000200002h, 004000000h, 004000800h, 000200000h, 004200800h, 000000802h, 000200802h, 004200800h
dd 000000802h, 004000002h, 004200802h, 004200000h, 000200800h, 000000000h, 000000002h, 004200802h, 000000000h, 000200802h, 004200000h, 000000800h, 004000002h, 004000800h, 000000800h, 000200002h
var_280 dd 000000208h, 008020200h, 000000000h, 008020008h, 008000200h, 000000000h, 000020208h, 008000200h, 000020008h, 008000008h, 008000008h, 000020000h, 008020208h, 000020008h, 008020000h, 000000208h
dd 008000000h, 000000008h, 008020200h, 000000200h, 000020200h, 008020000h, 008020008h, 000020208h, 008000208h, 000020200h, 000020000h, 008000208h, 000000008h, 008020208h, 000000200h, 008000000h
dd 008020200h, 008000000h, 000020008h, 000000208h, 000020000h, 008020200h, 008000200h, 000000000h, 000000200h, 000020008h, 008020208h, 008000200h, 008000008h, 000000200h, 000000000h, 008020008h
dd 008000208h, 000020000h, 008000000h, 008020208h, 000000008h, 000020208h, 000020200h, 008000008h, 008020000h, 008000208h, 000000208h, 008020000h, 000020208h, 000000008h, 008020008h, 000020200h
Dst dd 002002608h
var_17C dd 010200e3ah, 000242327h, 004000431h, 000042834h, 020002b26h, 000241613h, 00008003fh, 001203811h, 020001f00h, 00020340eh, 020093015h, 005000b0ch, 02008030eh, 001000525h, 0000d3c13h
dd 020103f04h, 008001a21h, 000100e3ah, 003000816h, 020181107h, 001002b30h, 020002432h, 00300330bh, 020081c0dh, 00220052dh, 002082910h, 002002413h, 000081a25h, 00030321ch, 000001d29h, 00402090ah
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h .code InitXor proc near
push ebp
mov ebp,esp
mov edx, [ebp+]
mov eax, [edx+edi*]
mov edx, [edx+edi*+]
mov ecx, eax
mov ebx, eax
shr ebx, 10h
and ecx, 0FF0000h
or ecx, ebx
mov ebx, eax
and eax, 0FF00h
shl ebx, 10h
or ebx, eax
mov eax, edx
shl ebx,
shr ecx,
or ecx, ebx
mov ebx, edx
and eax, 0FF0000h
shr ebx, 10h
or eax, ebx
mov ebx, edx
and edx, 0FF00h
shl ebx, 10h
or ebx, edx
shr eax,
shl ebx,
or eax, ebx
mov edx, ecx
shr edx,
xor edx, eax
and edx, 0F0F0F0Fh
xor eax, edx
shl edx,
xor ecx, edx
mov edx, ecx
shr edx, 10h
xor edx, eax
and edx, 0FFFFh
xor eax, edx
shl edx, 10h
xor ecx, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 33333333h
xor ecx, edx
add edx, edx
add edx, edx
xor eax, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 0FF00FFh
xor ecx, edx
shl edx,
xor eax, edx
mov edx, ecx
shr edx,
xor edx, eax
and edx, 55555555h
lea ebx, [edx+edx]
xor ebx, ecx
xor eax, edx
rol ebx,
rol eax,
pop ebp
retn InitXor endp LoopXor proc near ; 操作 ebx,eax,返回 ebx,ecx xor ebp, ebp
mov [var_98C], ebp
mov ecx, eax loc_4031C4: ; CODE XREF: sub_401E00+145Cj
mov eax, [ebp*+Dst]
xor eax, ecx
mov edx, ecx
ror edx,
xor edx, [ebp*+var_17C]
mov [var_988], ebx
mov ebx, ecx
mov ecx, eax
shr ecx,
and ecx, 3Fh
mov ecx, [ecx*+var_680]
mov ebp, edx
shr ebp,
and ebp, 3Fh
or ecx, [ebp*+var_480]
mov ebp, eax
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_980]
mov ebp, edx
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_280]
mov ebp, eax
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_880]
mov ebp, edx
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_780]
mov ebp, [var_98C]
and eax, 3Fh
or ecx, [eax*+var_580]
and edx, 3Fh
or ecx, [edx*+var_380]
add ebp,
xor ecx, [var_988]
mov [var_98C], ebp
cmp ebp, 20h
jnz loc_4031C4
retn LoopXor endp ExitXor proc near ror ecx,
ror ebx,
mov edx, ecx
shr edx,
mov eax, ebx
xor edx, eax
and edx, 55555555h
xor eax, edx
add edx, edx
xor ecx, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 0FF00FFh
xor ecx, edx
shl edx,
xor eax, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 33333333h
xor ecx, edx
add edx, edx
add edx, edx
xor eax, edx
mov edx, ecx
shr edx, 10h
xor edx, eax
and edx, 0FFFFh
xor eax, edx
shl edx, 10h
xor ecx, edx
mov ebx, ecx
shr ebx,
xor ebx, eax
and ebx, 0F0F0F0Fh
mov edx, ebx
shl edx,
xor edx, ecx
mov ebp, edx
mov ecx, edx
shr ecx, 10h
and ebp, 0FF0000h
or ebp, ecx
mov ecx, edx
xor eax, ebx
and edx, 0FF00h
shl ecx, 10h
or ecx, edx
mov edx, eax
and edx, 0FF0000h
mov ebx, eax
shr ebx, 10h
or edx, ebx
mov ebx, eax
shl ebx, 10h
and eax, 0FF00h
shl ecx,
or ebx, eax
shr ebp,
or ebp, ecx
shr edx,
shl ebx,
or edx, ebx
retn ExitXor endp Ecode proc ;arg_0:dword,len:dword
push ebp
mov ebp,esp
pushad xor esi,esi
mov ebx,[ebp+0ch]
shr ebx, ; ebx = 数据长度
add esp, 10h
xor edi, edi
mov [var_984], ebx
cmp ebx, esi
jbe loc_40332F
lea esp, [esp+] mov esi, [ebp+] loc_403100: ; CODE XREF: sub_401E00+1529j
push esi
call InitXor ; 操作 eax,edx 返回 ebx,eax
call LoopXor ; 操作 ebx,eax 返回 ebx,ecx
call ExitXor ; 操作 ebx,ecx 返回 ebp,edx
mov ecx, esi
mov [ecx+edi*], ebp
mov [ecx+edi*+], edx
add edi,
cmp edi, [var_984]
jb loc_403100
loc_40332F:
popad
sub esp,10h
pop ebp
ret Ecode endp
;第三步 根据加密函数写出解密函数
.
.model flat,stdcall option casemap:none include msvcrt.inc ;
include windows.inc ;
include kernel32.inc ;
;
includelib msvcrt.lib
includelib KERNEL32.LIB .data format db "%s",
string db "", ecode db 041h, 00eh, 097h, 0a3h, 02bh, 05ah, 0b7h, 06dh, 039h, 030h, 036h src db dup()
buf db dup() var_98C dd 000000000h
var_988 dd 000000000h
var_984 dd 000000002h var_980 dd 000802001h, 000002081h, 000002081h, 000000080h, 000802080h, 000800081h, 000800001h, 000002001h, 000000000h, 000802000h, 000802000h, 000802081h, 000000081h, 000000000h, 000800080h, 000800001h
dd 000000001h, 000002000h, 000800000h, 000802001h, 000000080h, 000800000h, 000002001h, 000002080h, 000800081h, 000000001h, 000002080h, 000800080h, 000002000h, 000802080h, 000802081h, 000000081h
dd 000800080h, 000800001h, 000802000h, 000802081h, 000000081h, 000000000h, 000000000h, 000802000h, 000002080h, 000800080h, 000800081h, 000000001h, 000802001h, 000002081h, 000002081h, 000000080h
dd 000802081h, 000000081h, 000000001h, 000002000h, 000800001h, 000002001h, 000802080h, 000800081h, 000002001h, 000002080h, 000800000h, 000802001h, 000000080h, 000800000h, 000002000h, 000802080h
var_880 dd 080108020h, 080008000h, 000008000h, 000108020h, 000100000h, 000000020h, 080100020h, 080008020h, 080000020h, 080108020h, 080108000h, 080000000h, 080008000h, 000100000h, 000000020h, 080100020h
dd 000108000h, 000100020h, 080008020h, 000000000h, 080000000h, 000008000h, 000108020h, 080100000h, 000100020h, 080000020h, 000000000h, 000108000h, 000008020h, 080108000h, 080100000h, 000008020h
dd 000000000h, 000108020h, 080100020h, 000100000h, 080008020h, 080100000h, 080108000h, 000008000h, 080100000h, 080008000h, 000000020h, 080108020h, 000108020h, 000000020h, 000008000h, 080000000h
dd 000008020h, 080108000h, 000100000h, 080000020h, 000100020h, 080008020h, 080000020h, 000100020h, 000108000h, 000000000h, 080008000h, 000008020h, 080000000h, 080100020h, 080108020h, 000108000h
var_780 dd 001010400h, 000000000h, 000010000h, 001010404h, 001010004h, 000010404h, 000000004h, 000010000h, 000000400h, 001010400h, 001010404h, 000000400h, 001000404h, 001010004h, 001000000h, 000000004h
dd 000000404h, 001000400h, 001000400h, 000010400h, 000010400h, 001010000h, 001010000h, 001000404h, 000010004h, 001000004h, 001000004h, 000010004h, 000000000h, 000000404h, 000010404h, 001000000h
dd 000010000h, 001010404h, 000000004h, 001010000h, 001010400h, 001000000h, 001000000h, 000000400h, 001010004h, 000010000h, 000010400h, 001000004h, 000000400h, 000000004h, 001000404h, 000010404h
dd 001010404h, 000010004h, 001010000h, 001000404h, 001000004h, 000000404h, 000010404h, 001010400h, 000000404h, 001000400h, 001000400h, 000000000h, 000010004h, 000010400h, 000000000h, 001010004h
var_680 dd 020000010h, 020400000h, 000004000h, 020404010h, 020400000h, 000000010h, 020404010h, 000400000h, 020004000h, 000404010h, 000400000h, 020000010h, 000400010h, 020004000h, 020000000h, 000004010h
dd 000000000h, 000400010h, 020004010h, 000004000h, 000404000h, 020004010h, 000000010h, 020400010h, 020400010h, 000000000h, 000404010h, 020404000h, 000004010h, 000404000h, 020404000h, 020000000h
dd 020004000h, 000000010h, 020400010h, 000404000h, 020404010h, 000400000h, 000004010h, 020000010h, 000400000h, 020004000h, 020000000h, 000004010h, 020000010h, 020404010h, 000404000h, 020400000h
dd 000404010h, 020404000h, 000000000h, 020400010h, 000000010h, 000004000h, 020400000h, 000404010h, 000004000h, 000400010h, 020004010h, 000000000h, 020404000h, 020000000h, 000400010h, 020004010h
var_580 dd 010001040h, 000001000h, 000040000h, 010041040h, 010000000h, 010001040h, 000000040h, 010000000h, 000040040h, 010040000h, 010041040h, 000041000h, 010041000h, 000041040h, 000001000h, 000000040h
dd 010040000h, 010000040h, 010001000h, 000001040h, 000041000h, 000040040h, 010040040h, 010041000h, 000001040h, 000000000h, 000000000h, 010040040h, 010000040h, 010001000h, 000041040h, 000040000h
dd 000041040h, 000040000h, 010041000h, 000001000h, 000000040h, 010040040h, 000001000h, 000041040h, 010001000h, 000000040h, 010000040h, 010040000h, 010040040h, 010000000h, 000040000h, 010001040h
dd 000000000h, 010041040h, 000040040h, 010000040h, 010040000h, 010001000h, 010001040h, 000000000h, 010041040h, 000041000h, 000041000h, 000001040h, 000001040h, 000040040h, 010000000h, 010041000h
var_480 dd 000000100h, 002080100h, 002080000h, 042000100h, 000080000h, 000000100h, 040000000h, 002080000h, 040080100h, 000080000h, 002000100h, 040080100h, 042000100h, 042080000h, 000080100h, 040000000h
dd 002000000h, 040080000h, 040080000h, 000000000h, 040000100h, 042080100h, 042080100h, 002000100h, 042080000h, 040000100h, 000000000h, 042000000h, 002080100h, 002000000h, 042000000h, 000080100h
dd 000080000h, 042000100h, 000000100h, 002000000h, 040000000h, 002080000h, 042000100h, 040080100h, 002000100h, 040000000h, 042080000h, 002080100h, 040080100h, 000000100h, 002000000h, 042080000h
dd 042080100h, 000080100h, 042000000h, 042080100h, 002080000h, 000000000h, 040080000h, 042000000h, 000080100h, 002000100h, 040000100h, 000080000h, 000000000h, 040080000h, 002080100h, 040000100h
var_380 dd 000200000h, 004200002h, 004000802h, 000000000h, 000000800h, 004000802h, 000200802h, 004200800h, 004200802h, 000200000h, 000000000h, 004000002h, 000000002h, 004000000h, 004200002h, 000000802h
dd 004000800h, 000200802h, 000200002h, 004000800h, 004000002h, 004200000h, 004200800h, 000200002h, 004200000h, 000000800h, 000000802h, 004200802h, 000200800h, 000000002h, 004000000h, 000200800h
dd 004000000h, 000200800h, 000200000h, 004000802h, 004000802h, 004200002h, 004200002h, 000000002h, 000200002h, 004000000h, 004000800h, 000200000h, 004200800h, 000000802h, 000200802h, 004200800h
dd 000000802h, 004000002h, 004200802h, 004200000h, 000200800h, 000000000h, 000000002h, 004200802h, 000000000h, 000200802h, 004200000h, 000000800h, 004000002h, 004000800h, 000000800h, 000200002h
var_280 dd 000000208h, 008020200h, 000000000h, 008020008h, 008000200h, 000000000h, 000020208h, 008000200h, 000020008h, 008000008h, 008000008h, 000020000h, 008020208h, 000020008h, 008020000h, 000000208h
dd 008000000h, 000000008h, 008020200h, 000000200h, 000020200h, 008020000h, 008020008h, 000020208h, 008000208h, 000020200h, 000020000h, 008000208h, 000000008h, 008020208h, 000000200h, 008000000h
dd 008020200h, 008000000h, 000020008h, 000000208h, 000020000h, 008020200h, 008000200h, 000000000h, 000000200h, 000020008h, 008020208h, 008000200h, 008000008h, 000000200h, 000000000h, 008020008h
dd 008000208h, 000020000h, 008000000h, 008020208h, 000000008h, 000020208h, 000020200h, 008000008h, 008020000h, 008000208h, 000000208h, 008020000h, 000020208h, 000000008h, 008020008h, 000020200h
Dst dd 002002608h
var_17C dd 010200e3ah, 000242327h, 004000431h, 000042834h, 020002b26h, 000241613h, 00008003fh, 001203811h, 020001f00h, 00020340eh, 020093015h, 005000b0ch, 02008030eh, 001000525h, 0000d3c13h
dd 020103f04h, 008001a21h, 000100e3ah, 003000816h, 020181107h, 001002b30h, 020002432h, 00300330bh, 020081c0dh, 00220052dh, 002082910h, 002002413h, 000081a25h, 00030321ch, 000001d29h, 00402090ah
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h, 000000000h debuf dd 000001d29h
debuf2 dd 00402090ah
dd 000081a25h, 00030321ch
dd 002082910h, 002002413h
dd 020081c0dh, 00220052dh
dd 020002432h, 00300330bh
dd 020181107h, 001002b30h
dd 000100e3ah, 003000816h
dd 020103f04h, 008001a21h
dd 001000525h, 0000d3c13h
dd 005000b0ch, 02008030eh
dd 00020340eh, 020093015h
dd 001203811h, 020001f00h
dd 000241613h, 00008003fh
dd 000042834h, 020002b26h
dd 000242327h, 004000431h
dd 002002608h, 010200e3ah .code InitXor proc near
push ebp
mov ebp,esp
mov edx, [ebp+]
mov eax, [edx+edi*]
mov edx, [edx+edi*+]
mov ecx, eax
mov ebx, eax
shr ebx, 10h
and ecx, 0FF0000h
or ecx, ebx
mov ebx, eax
and eax, 0FF00h
shl ebx, 10h
or ebx, eax
mov eax, edx
shl ebx,
shr ecx,
or ecx, ebx
mov ebx, edx
and eax, 0FF0000h
shr ebx, 10h
or eax, ebx
mov ebx, edx
and edx, 0FF00h
shl ebx, 10h
or ebx, edx
shr eax,
shl ebx,
or eax, ebx
mov edx, ecx
shr edx,
xor edx, eax
and edx, 0F0F0F0Fh
xor eax, edx
shl edx,
xor ecx, edx
mov edx, ecx
shr edx, 10h
xor edx, eax
and edx, 0FFFFh
xor eax, edx
shl edx, 10h
xor ecx, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 33333333h
xor ecx, edx
add edx, edx
add edx, edx
xor eax, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 0FF00FFh
xor ecx, edx
shl edx,
xor eax, edx
mov edx, ecx
shr edx,
xor edx, eax
and edx, 55555555h
lea ebx, [edx+edx]
xor ebx, ecx
xor eax, edx
rol ebx,
rol eax,
pop ebp
retn InitXor endp LoopXor proc near ; 操作 ebx,eax,返回 ebx,ecx xor ebp, ebp
mov [var_98C], ebp
mov ecx, eax loc_4031C4: ; CODE XREF: sub_401E00+145Cj
mov eax, [ebp*+Dst]
xor eax, ecx
mov edx, ecx
ror edx,
xor edx, [ebp*+var_17C]
mov [var_988], ebx
mov ebx, ecx
mov ecx, eax
shr ecx,
and ecx, 3Fh
mov ecx, [ecx*+var_680]
mov ebp, edx
shr ebp,
and ebp, 3Fh
or ecx, [ebp*+var_480]
mov ebp, eax
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_980]
mov ebp, edx
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_280]
mov ebp, eax
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_880]
mov ebp, edx
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_780]
mov ebp, [var_98C]
and eax, 3Fh
or ecx, [eax*+var_580]
and edx, 3Fh
or ecx, [edx*+var_380]
add ebp,
xor ecx, [var_988]
mov [var_98C], ebp
cmp ebp, 20h
jnz loc_4031C4
retn LoopXor endp ExitXor proc near ror ecx,
ror ebx,
mov edx, ecx
shr edx,
mov eax, ebx
xor edx, eax
and edx, 55555555h
xor eax, edx
add edx, edx
xor ecx, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 0FF00FFh
xor ecx, edx
shl edx,
xor eax, edx
mov edx, eax
shr edx,
xor edx, ecx
and edx, 33333333h
xor ecx, edx
add edx, edx
add edx, edx
xor eax, edx
mov edx, ecx
shr edx, 10h
xor edx, eax
and edx, 0FFFFh
xor eax, edx
shl edx, 10h
xor ecx, edx
mov ebx, ecx
shr ebx,
xor ebx, eax
and ebx, 0F0F0F0Fh
mov edx, ebx
shl edx,
xor edx, ecx
mov ebp, edx
mov ecx, edx
shr ecx, 10h
and ebp, 0FF0000h
or ebp, ecx
mov ecx, edx
xor eax, ebx
and edx, 0FF00h
shl ecx, 10h
or ecx, edx
mov edx, eax
and edx, 0FF0000h
mov ebx, eax
shr ebx, 10h
or edx, ebx
mov ebx, eax
shl ebx, 10h
and eax, 0FF00h
shl ecx,
or ebx, eax
shr ebp,
or ebp, ecx
shr edx,
shl ebx,
or edx, ebx
retn ExitXor endp LoopXor2 proc near ; 操作 ebx,eax,返回 ebx,ecx xor ebp, ebp
mov [var_98C], ebp
mov ecx, eax LOOP1: ; CODE XREF: sub_401E00+145Cj
mov eax, [ebp*+debuf]
xor eax, ecx
mov edx, ecx
ror edx,
xor edx, [ebp*+debuf2]
mov [var_988], ebx
mov ebx, ecx
mov ecx, eax
shr ecx,
and ecx, 3Fh
mov ecx, [ecx*+var_680]
mov ebp, edx
shr ebp,
and ebp, 3Fh
or ecx, [ebp*+var_480]
mov ebp, eax
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_980]
mov ebp, edx
shr ebp, 10h
and ebp, 3Fh
or ecx, [ebp*+var_280]
mov ebp, eax
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_880]
mov ebp, edx
shr ebp, 18h
and ebp, 3Fh
or ecx, [ebp*+var_780]
and eax, 3Fh
or ecx, [eax*+var_580]
and edx, 3Fh
or ecx, [edx*+var_380]
xor ecx, [var_988]
mov ebp, [var_98C]
add ebp,
mov [var_98C], ebp
cmp ebp, 20h
jne LOOP1
retn LoopXor2 endp Ecode proc ;arg_0:dword,len:dword
push ebp
mov ebp,esp
pushad xor esi,esi
mov ebx,[ebp+0ch]
shr ebx, ; ebx = 数据长度
add esp, 10h
xor edi, edi
mov [var_984], ebx
cmp ebx, esi
jbe loc_40332F
lea esp, [esp+] mov esi, [ebp+] loc_403100: ; CODE XREF: sub_401E00+1529j
push esi
call InitXor ; 操作 eax,edx 返回 ebx,eax
call LoopXor ; 操作 ebx,eax 返回 ebx,ecx
call ExitXor ; 操作 ebx,ecx 返回 ebp,edx
mov ecx, esi
mov [ecx+edi*], ebp
mov [ecx+edi*+], edx
add edi,
cmp edi, [var_984]
jb loc_403100
loc_40332F:
popad
sub esp,10h
pop ebp
ret Ecode endp decode proc push ebp
mov ebp,esp
pushad xor esi,esi
mov ebx,[ebp+0ch]
shr ebx, ; ebx = 数据长度
add esp, 10h
xor edi, edi
mov [var_984], ebx
cmp ebx, esi
jbe loc_40332F
lea esp, [esp+] mov esi, [ebp+] loc_403100: ; CODE XREF: sub_401E00+1529j
push esi
call InitXor ; 操作 eax,edx 返回 ebx,eax
call LoopXor2 ; 操作 ebx,eax 返回 ebx,ecx
call ExitXor ; 操作 ebx,ecx 返回 ebp,edx
mov ecx, esi
mov [ecx+edi*], ebp
mov [ecx+edi*+], edx
add edi,
cmp edi, [var_984]
jb loc_403100
loc_40332F:
popad
sub esp,10h
pop ebp
ret decode endp DecodeBuf proc arg0:dword,arg1:dword push arg1
push arg0
call decode
ret DecodeBuf endp end
;main: ;for test
;
; push 0ah
; push offset string
; call Ecode
;
; push 0ah
; push offset string
; call decode
;
;
; ret
;
;
;end main

将第三部代码放入RADASM编译后,导入VS项目,在test.cpp中声明一下,调用解密即可:

#define _WINSOCK_DEPRECATED_NO_WARNINGS

#include <stdio.h>
#include <WinSock2.h>
#include <windows.h> #pragma comment (lib, "Ws2_32.lib") extern "C" void __stdcall DecodeBuf(DWORD, DWORD); int main()
{
WSADATA wd = { };
WSAStartup(MAKEWORD(, ), &wd); SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); SOCKADDR_IN sai = { };
sai.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
sai.sin_port = htons();
sai.sin_family = AF_INET;
connect(s, (sockaddr*)&sai, sizeof(SOCKADDR_IN)); CHAR szToSend[] = { };
printf("请输入要发送的信息\n"); scanf_s("%s", szToSend, ); send(s, szToSend, , NULL); CHAR RecvBuf[] = { };
int nlen = recv(s, RecvBuf, , NULL); printf("接收到的加密了之后的信息:\n");
for (int i = ; i < nlen; ++i)
{
printf("0x%x ", (BYTE)RecvBuf[i]);
}
printf("\n"); DecodeBuf((DWORD)RecvBuf, nlen);
printf("解密之后的信息:%s\n",RecvBuf); system("pause"); send(s, "quit", , NULL);
closesocket(s);
WSACleanup(); return ;
}

基于DES加密的服务端分析的更多相关文章

  1. Vue 爬坑之路(十一)—— 基于 Nuxt.js 实现服务端渲染(SSR)

    直接使用 Vue 构建前端单页面应用,页面源码时只有简单的几行 html,这并不利于网站的 SEO,这时候就需要服务端渲染 2016 年 10 月 25 日,zeit.co 背后的团队对外发布了一个 ...

  2. 基于netty的socket服务端触发了channelInactive方法,但实际连接没有断开的问题

    背景: 一个中小型H5游戏,后端使用基于 netty 的socket服务 服务端 分为 分发服务器 & 业务服务器,业务服务器可负载 用户客户端与分发服务器连接 分发服务器再作为客户端与每台业 ...

  3. Python实现基于DES加密源码的文本加密器

    这是自行制作的一个DES文本加密工具 最终效果图: 本加密器支持UTF-8字符的加解密(包含中文),由于其中的编码方式与常用编码方式不同,加密结果与网上工具不同,但是能实现正常加解密. 最终目标: 目 ...

  4. [PHP]AES加密----PHP服务端和Android客户端

    本文采取128位AES-CBC模式加密和解密 1.首先对服务端安装mcrypt: sudo apt-get install php5-mcrypt php5-dev sudo php5enmod mc ...

  5. 基于Angular4+ server render(服务端渲染)开发教程

    目标: 1.更好的 SEO,方便搜索爬虫抓取页面内容 2.更快的内容到达时间(time-to-content) 影响: 1.用户:比原来更快的看到渲染的页面,提升用户体验 2.开发人员:某些代码可能需 ...

  6. 基于vue-cli项目添加服务端渲染

    两个示例的git地址: 1. 我的环境 2. 方式一:使用prerender-spa-plugin插件获得SSR的效果. 2.1 说明 2.2 初始化 1 vue init webpack vue-p ...

  7. 基于java NIO 的服务端与客户端代码

    在对java NIO  selector 与 Buffer Channel  有一定的了解之后,我们进行编写java nio 实现的 客户端与服务端例子: 服务端: public class NIOC ...

  8. Winfrom 基于TCP的Socket服务端 多线程(进阶版)

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. C++封装的基于WinSock2的TCP服务端、客户端

    无聊研究Winsock套接字编程,用原生的C语言接口写出来的代码看着难受,于是自己简单用C++封装一下,把思路过程理清,方便自己后续翻看和新手学习. 只写好了TCP通信服务端,有空把客户端流程也封装一 ...

随机推荐

  1. 【记录】Linux安装jave-web环境

    依照教程记录 -java https://blog.csdn.net/a360616218/article/details/76736988 -tomcat https://www.cnblogs.c ...

  2. shell 环境变量的相关配置文件和配置方法

    shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...

  3. linux查看与修改交换内存配置(解决zabbix-agent启动报错)

    问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left o ...

  4. MySQL主从复制虽好,能完美解决数据库单点问题吗?

    一.单个数据库服务器的缺点 数据库服务器存在单点问题: 数据库服务器资源无法满足增长的读写请求: 高峰时数据库连接数经常超过上限. 二.如何解决单点问题 增加额外的数据库服务器,组建数据库集群: 同一 ...

  5. HTML5中自定义属性(data-*)

    在HTML元素上直接添加以‘data-’开头的属性,例如 <div data-mydata='this is my data'></div> 操作它的方式有classList ...

  6. eclipse上的.properties文件中文编辑显示问题

    安装 装Properties Editor插件,方法: Help --> Install New Software -->输入:http://propedit.sourceforge.jp ...

  7. 第一次使用eclipse出现的问题

    最近开始学习java,在一系列操作下安装好了eclipse后,按照书上的问题写了一个小程序 问题: 用户从键盘只能输入整数,程序输出这些整数的乘积. 看到这个问题后就感觉和c语言蛮像的,首先去ecli ...

  8. css3常用动效以及总结

    (迁移自旧博客2017 08 06) CSS3 文本效果: box-shadow:盒子阴影,可以给卡片添加提高美化效果.可广泛应用于内容展示页面. <div class="card&q ...

  9. Linux (麒麟)系统 重启后无法登陆进图形界面

    登录图形化界面的时候,会显示GNOME电源管理器没启动等提示信息,会一直卡在登录界面 在启动的时候按ESC或者在登录界面crtl+alt +f3 进入字符终端界面 查看物理存储空间占用信息,可能会有一 ...

  10. Apache 配置多个端口多站点(Linux)

    for apache2 configuration: by default, apache is configured 80 port for the default web site. follow ...