此程序建立了一个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. vue项目创建过程

    在使用vue-cli之前,请确认你的电脑已经安装了 node,建议版本在 8.0.0 以上 可以通过node -v 检查版本 1.安装 vue-cli (这里我们确认已安装过node) 1.使用 np ...

  2. hadoop过程中遇到的错误与解决方法

    本文整理了在hadoop学习过程中遇到的各种问题. windows下开发环境搭建 大部分情况下,我们都是在windows下开发,hadoop则一般部署于linux服务器(无论是CDH还是原生hadoo ...

  3. MSSQL 漏洞利用与提权

    1.SA口令的获取 webshell或源代码的获取 源代码泄露 嗅探(用CAIN等工具嗅探1433数据库端口) 口令暴力破解 2.常见SQL server 提权命令 查看数据库的版本(select @ ...

  4. 论文笔记:Learning Attribute-Specific Representations for Visual Tracking

    Learning Attribute-Specific Representations for Visual Tracking AAAI-2019 Paper:http://faculty.ucmer ...

  5. 利用 Charles Proxy 下载旧版本 iOS App

    一.软件准备 1.旧版本 iTunes1.IPSW Downloads:https://ipsw.me/2.百度网盘链接: https://pan.baidu.com/s/1PO9Z12o-rqZ_J ...

  6. mybatis-ehcache整合中出现的异常 ibatis处理器异常(executor.ExecutorException)解决方法

    今天学习mabatis时出现了,ibatis处理器处理器异常,显示原因是Executor was closed.则很有可能是ibatis的session被关闭了, 后面看了一下测试程序其实是把sqlS ...

  7. npm版本安装问题

    问题一 描述 运行npm install之后,前端页面console控制台报错,invalid props. 排查 1. 排除了代码问题,完全一样的代码,其他人的运行无误. 2.猜想可能是版本号问题, ...

  8. Ehcache计算Java对象内存大小

    在EHCache中,可以设置maxBytesLocalHeap.maxBytesLocalOffHeap.maxBytesLocalDisk值,以控制Cache占用的内存.磁盘的大小(注:这里Off ...

  9. python+selenium测试

    网址http://blog.csdn.net/u011541946/article/category/6788788/1

  10. 雷林鹏分享:CodeIgniter 数据库操作

    在平时项目开发过程中,除了处理那些繁琐的逻辑过程外,还有一个重要的任务就是对数据库的操作处理.这里总结下自己平时使用CI过程中使用的如何对数据库进行操作处理. 在CI框架中,我们一般会把对数据库的操作 ...