此程序建立了一个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. centos6删除mysql安装

    1.查看已经安装了的mysql包: 2.卸载mysql: 3.查看剩下的mysql安装包: 4.逐个删除剩下的mysql安装包: 5.删除完后再次查看,以确保已删除干净: 6.删除自己安装的mysql ...

  2. 如何对tcp流认证并加密

    一个场景:目前越来越多的业务需要远程读写Redis,而Redis 本身不提供 SSL/TLS 的支持,在需要安全访问的环境下. 这时候就需要额外的手段进行加密认证,这里有两种手段:spiped 和 n ...

  3. class的真相

    Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方 ...

  4. SonarQube安装文档

    1.SonarQube 1.1 SonarQube介绍 SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube是否可以使用自定义规则由开发人员的开 ...

  5. Python day 06

    day06 数据类型(四) 今日内容 集合 内存相关 深浅拷贝 补充 补充 列表 reverse,反转. v1 = [1,2,3111,32,13] print(v1) # [1,2,311,32,1 ...

  6. Redis集群 - Sentinel与RAFT算法

    引入   在主从模型中讲到 一旦Master宕机失效,需要手动将Slave角色提升为Master,否则这个子集群将不可用.   这个缺陷使得系统可用性大大降低.因此Redis专门提供了一个哨兵机制来实 ...

  7. 关于python中loc和iloc方法

    pandas以类似字典的方式来获取某一列的值 import pandas as pd import numpy as np table = pd.DataFrame(np.zeros((4,2)), ...

  8. Venom- Eminem

    I got a song filled with shit for the strong willed. 我写了一首充满戾气的歌献给意志坚强的人. When the world give you a ...

  9. win10无法搜索本地文件,修复方法?

    win10无法搜索本地文件,实在太不方便了,网上查了一圈没几个方法有效的,筛选出来2个成功解决的问题,具体是哪个起到作用,不太清楚,都放上来,大家自行选择! 方法1:按“Windows+ X”后选择“ ...

  10. 关于index.html被缓存问题

    关于web的缓存策略,推荐这篇文章:点击 在开发时候经常遇到一个问题,我们根据版本号去控制缓存问题,当我们发布新版本,使用心得版本号的时候,发现html里面引用的版本号却是旧的版本号 ,原来是该htm ...