潜水数载,泪两行,
学艺不精,空悲叹。
公司一套软件找不到开发商,软件是DES算法,希望大牛出手相助。(一个月薪水报酬)
大概流程
E762001B03255555 和 03A9C51B7F6923B2
加密结果69EAF44C6B28CDD0
E662001B03255555 和 03A9C51B7F6923B2
加密结果03C71BCC108AACBA
E562001B03255555 和 03A9C51B7F6923B2
加密结果DD477D222D6FC0FB
KEYDLL 里面的 DataEncrypt 函数
00E92BFC > 55 push ebp
00E92BFD 8BEC mov ebp,esp
00E92BFF B9 05000000 mov ecx,5
00E92C04 6A 00 push 0
00E92C06 6A 00 push 0
00E92C08 49 dec ecx
00E92C09 ^ 75 F9 jnz short KeyDll.00E92C04
00E92C0B 53 push ebx
00E92C0C 56 push esi
00E92C0D 8B45 08 mov eax,dword ptr ss:[ebp+8]
00E92C10 E8 0312FFFF call KeyDll.00E83E18
00E92C15 8B45 0C mov eax,dword ptr ss:[ebp+C]
00E92C18 E8 FB11FFFF call KeyDll.00E83E18
00E92C1D 33C0 xor eax,eax
00E92C1F 55 push ebp
00E92C20 68 162DE900 push KeyDll.00E92D16
00E92C25 64:FF30 push dword ptr fs:[eax]
00E92C28 64:8920 mov dword ptr fs:[eax],esp
00E92C2B 33DB xor ebx,ebx
00E92C2D 8D75 F8 lea esi,dword ptr ss:[ebp-8]
00E92C30 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
00E92C33 50 push eax
00E92C34 8BD3 mov edx,ebx
00E92C36 03D2 add edx,edx
00E92C38 42 inc edx
00E92C39 B9 02000000 mov ecx,2
00E92C3E 8B45 08 mov eax,dword ptr ss:[ebp+8]
00E92C41 E8 3A12FFFF |call KeyDll.00E83E80
00E92C46 8B4D E4 |mov ecx,dword ptr ss:[ebp-1C]
00E92C49 8D45 E8 |lea eax,dword ptr ss:[ebp-18]
00E92C4C BA 302DE900 |mov edx,KeyDll.00E92D30 ; $
00E92C51 E8 1E10FFFF |call KeyDll.00E83C74
00E92C56 8B45 E8 |mov eax,dword ptr ss:[ebp-18]
00E92C59 E8 1A3EFFFF |call KeyDll.00E86A78
00E92C5E 8806 |mov byte ptr ds:[esi],al
00E92C60 43 |inc ebx
00E92C61 46 |inc esi
00E92C62 83FB 08 |cmp ebx,8
00E92C65 ^ 75 C9 \jnz short KeyDll.00E92C30 //上面循环把第一个参数文本变16进制格式
00E92C67 33DB xor ebx,ebx
00E92C69 8D75 F0 lea esi,dword ptr ss:[ebp-10]
00E92C6C 8D45 DC /lea eax,dword ptr ss:[ebp-24]
00E92C6F 50 |push eax
00E92C70 8BD3 |mov edx,ebx
00E92C72 03D2 |add edx,edx
00E92C74 42 |inc edx
00E92C75 B9 02000000 |mov ecx,2
00E92C7A 8B45 0C |mov eax,dword ptr ss:[ebp+C]
00E92C7D E8 FE11FFFF |call KeyDll.00E83E80
00E92C82 8B4D DC |mov ecx,dword ptr ss:[ebp-24]
00E92C85 8D45 E0 |lea eax,dword ptr ss:[ebp-20]
00E92C88 BA 302DE900 |mov edx,KeyDll.00E92D30
00E92C8D E8 E20FFFFF |call KeyDll.00E83C74
00E92C92 8B45 E0 |mov eax,dword ptr ss:[ebp-20]
00E92C95 E8 DE3DFFFF |call KeyDll.00E86A78
00E92C9A 8806 |mov byte ptr ds:[esi],al
00E92C9C 43 |inc ebx
00E92C9D 46 |inc esi
00E92C9E 83FB 08 |cmp ebx,8
00E92CA1 ^ 75 C9 \jnz short KeyDll.00E92C6C //上面循环把第二个参数文本变16进制格式
00E92CA3 6A 07 push 7
00E92CA5 8D45 F0 lea eax,dword ptr ss:[ebp-10]
00E92CA8 50 push eax
00E92CA9 6A 07 push 7
00E92CAB 8D45 F8 lea eax,dword ptr ss:[ebp-8]
00E92CAE 50 push eax
00E92CAF E8 84F8FFFF call KeyDll.00E92538 //计算结果部分
00E92CB4 8D45 EC lea eax,dword ptr ss:[ebp-14]
00E92CB7 E8 D00CFFFF call KeyDll.00E8398C
00E92CBC BB 08000000 mov ebx,8
00E92CC1 8D75 F8 lea esi,dword ptr ss:[ebp-8]
00E92CC4 8D4D D8 /lea ecx,dword ptr ss:[ebp-28]
00E92CC7 33C0 |xor eax,eax
00E92CC9 8A06 |mov al,byte ptr ds:[esi]
00E92CCB BA 02000000 |mov edx,2
00E92CD0 E8 7B3DFFFF |call KeyDll.00E86A50
00E92CD5 8B55 D8 |mov edx,dword ptr ss:[ebp-28]
00E92CD8 8D45 EC |lea eax,dword ptr ss:[ebp-14]
00E92CDB E8 500FFFFF |call KeyDll.00E83C30
00E92CE0 46 |inc esi
00E92CE1 4B |dec ebx
00E92CE2 ^ 75 E0 \jnz short KeyDll.00E92CC4 //把计算的结果转文本格式
00E92CE4 8B45 EC mov eax,dword ptr ss:[ebp-14]
00E92CE7 E8 3C11FFFF call KeyDll.00E83E28
00E92CEC 8BD8 mov ebx,eax
00E92CEE 33C0 xor eax,eax
00E92CF0 5A pop edx
00E92CF1 59 pop ecx
00E92CF2 59 pop ecx
00E92CF3 64:8910 mov dword ptr fs:[eax],edx
00E92CF6 68 1D2DE900 push KeyDll.00E92D1D
00E92CFB 8D45 D8 lea eax,dword ptr ss:[ebp-28]
00E92CFE BA 06000000 mov edx,6
00E92D03 E8 A80CFFFF call KeyDll.00E839B0
00E92D08 8D45 08 lea eax,dword ptr ss:[ebp+8]
00E92D0B BA 02000000 mov edx,2
00E92D10 E8 9B0CFFFF call KeyDll.00E839B0
00E92D15 C3 retn
//下面是算法部分
00E92538 55 push ebp
00E92539 8BEC mov ebp,esp
00E9253B 83C4 C4 add esp,-3C
00E9253E 53 push ebx
00E9253F 56 push esi
00E92540 57 push edi
00E92541 6A 37 push 37
00E92543 68 7434E900 push KeyDll.00E93474
00E92548 6A 38 push 38
00E9254A 6A 07 push 7
00E9254C 8D45 F0 lea eax,dword ptr ss:[ebp-10]
00E9254F 50 push eax
00E92550 8B45 14 mov eax,dword ptr ss:[ebp+14]
00E92553 50 push eax
00E92554 8B45 10 mov eax,dword ptr ss:[ebp+10]
00E92557 50 push eax
00E92558 E8 6F030000 call KeyDll.00E928CC
00E9255D 33FF xor edi,edi
00E9255F BB 8048E900 mov ebx,KeyDll.00E94880
00E92564 57 /push edi
00E92565 6A 07 |push 7
00E92567 53 |push ebx
00E92568 6A 07 |push 7
00E9256A 8D45 F0 |lea eax,dword ptr ss:[ebp-10]
00E9256D 50 |push eax
00E9256E E8 F9010000 |call KeyDll.00E9276C
00E92573 47 |inc edi
00E92574 83C3 08 |add ebx,8
00E92577 83FF 10 |cmp edi,10
00E9257A ^ 75 E8 \jnz short KeyDll.00E92564
00E9257C 6A 3F push 3F
00E9257E 68 A433E900 push KeyDll.00E933A4
00E92583 6A 40 push 40
00E92585 6A 07 push 7
00E92587 8D45 F8 lea eax,dword ptr ss:[ebp-8]
00E9258A 50 push eax
00E9258B 8B45 0C mov eax,dword ptr ss:[ebp+C]
00E9258E 50 push eax
00E9258F 8B45 08 mov eax,dword ptr ss:[ebp+8]
00E92592 50 push eax
00E92593 E8 34030000 call KeyDll.00E928CC
00E92598 8A45 F8 mov al,byte ptr ss:[ebp-8]
00E9259B 8845 EC mov byte ptr ss:[ebp-14],al
00E9259E 8A45 F9 mov al,byte ptr ss:[ebp-7]
00E925A1 8845 ED mov byte ptr ss:[ebp-13],al
00E925A4 8A45 FA mov al,byte ptr ss:[ebp-6]
00E925A7 8845 EE mov byte ptr ss:[ebp-12],al
00E925AA 8A45 FB mov al,byte ptr ss:[ebp-5]
00E925AD 8845 EF mov byte ptr ss:[ebp-11],al
00E925B0 8A45 FC mov al,byte ptr ss:[ebp-4]
00E925B3 8845 E8 mov byte ptr ss:[ebp-18],al
00E925B6 8A45 FD mov al,byte ptr ss:[ebp-3]
00E925B9 8845 E9 mov byte ptr ss:[ebp-17],al
00E925BC 8A45 FE mov al,byte ptr ss:[ebp-2]
00E925BF 8845 EA mov byte ptr ss:[ebp-16],al
00E925C2 8A45 FF mov al,byte ptr ss:[ebp-1]
00E925C5 8845 EB mov byte ptr ss:[ebp-15],al
00E925C8 BE 10000000 mov esi,10
00E925CD C745 C4 8048E90>mov dword ptr ss:[ebp-3C],KeyDll.00E9488>
00E925D4 6A 2F /push 2F
00E925D6 68 2434E900 |push KeyDll.00E93424
00E925DB 6A 30 |push 30
00E925DD 6A 07 |push 7
00E925DF 8D45 D8 |lea eax,dword ptr ss:[ebp-28]
00E925E2 50 |push eax
00E925E3 6A 03 |push 3
00E925E5 8D45 E8 |lea eax,dword ptr ss:[ebp-18]
00E925E8 50 |push eax
00E925E9 E8 DA030000 |call KeyDll.00E929C8
00E925EE BF 08000000 |mov edi,8
00E925F3 8B45 C4 |mov eax,dword ptr ss:[ebp-3C]
00E925F6 8D55 D0 |lea edx,dword ptr ss:[ebp-30]
00E925F9 8A08 |/mov cl,byte ptr ds:[eax]
00E925FB 880A ||mov byte ptr ds:[edx],cl
00E925FD 42 ||inc edx
00E925FE 40 ||inc eax
00E925FF 4F ||dec edi
00E92600 ^ 75 F7 |\jnz short KeyDll.00E925F9
00E92602 BF 08000000 |mov edi,8
00E92607 8D45 D8 |lea eax,dword ptr ss:[ebp-28]
00E9260A 8D4D D0 |lea ecx,dword ptr ss:[ebp-30]
00E9260D 8A11 |/mov dl,byte ptr ds:[ecx]
00E9260F 3210 ||xor dl,byte ptr ds:[eax]
00E92611 8810 ||mov byte ptr ds:[eax],dl
00E92613 41 ||inc ecx
00E92614 40 ||inc eax
00E92615 4F ||dec edi
00E92616 ^ 75 F5 |\jnz short KeyDll.00E9260D
00E92618 33C0 |xor eax,eax
00E9261A 8A45 D8 |mov al,byte ptr ss:[ebp-28]
00E9261D 8A80 DC34E900 |mov al,byte ptr ds:[eax+E934DC]
00E92623 C1E0 04 |shl eax,4
00E92626 33D2 |xor edx,edx
00E92628 8A55 D9 |mov dl,byte ptr ss:[ebp-27]
00E9262B 8A92 1C35E900 |mov dl,byte ptr ds:[edx+E9351C]
00E92631 0AC2 |or al,dl
00E92633 8845 CC |mov byte ptr ss:[ebp-34],al
00E92636 33C0 |xor eax,eax
00E92638 8A45 DA |mov al,byte ptr ss:[ebp-26]
00E9263B 8A80 5C35E900 |mov al,byte ptr ds:[eax+E9355C]
00E92641 C1E0 04 |shl eax,4
00E92644 33D2 |xor edx,edx
00E92646 8A55 DB |mov dl,byte ptr ss:[ebp-25]
00E92649 8A92 9C35E900 |mov dl,byte ptr ds:[edx+E9359C]
00E9264F 0AC2 |or al,dl
00E92651 8845 CD |mov byte ptr ss:[ebp-33],al
00E92654 33C0 |xor eax,eax
00E92656 8A45 DC |mov al,byte ptr ss:[ebp-24]
00E92659 8A80 DC35E900 |mov al,byte ptr ds:[eax+E935DC]
00E9265F C1E0 04 |shl eax,4
00E92662 33D2 |xor edx,edx
00E92664 8A55 DD |mov dl,byte ptr ss:[ebp-23]
00E92667 8A92 1C36E900 |mov dl,byte ptr ds:[edx+E9361C]
00E9266D 0AC2 |or al,dl
00E9266F 8845 CE |mov byte ptr ss:[ebp-32],al
00E92672 33C0 |xor eax,eax
00E92674 8A45 DE |mov al,byte ptr ss:[ebp-22]
00E92677 8A80 5C36E900 |mov al,byte ptr ds:[eax+E9365C]
00E9267D C1E0 04 |shl eax,4
00E92680 33D2 |xor edx,edx
00E92682 8A55 DF |mov dl,byte ptr ss:[ebp-21]
00E92685 8A92 9C36E900 |mov dl,byte ptr ds:[edx+E9369C]
00E9268B 0AC2 |or al,dl
00E9268D 8845 CF |mov byte ptr ss:[ebp-31],al
00E92690 6A 1F |push 1F
00E92692 68 5434E900 |push KeyDll.00E93454
00E92697 6A 20 |push 20
00E92699 6A 03 |push 3
00E9269B 8D45 C8 |lea eax,dword ptr ss:[ebp-38]
00E9269E 50 |push eax
00E9269F 6A 03 |push 3
00E926A1 8D45 CC |lea eax,dword ptr ss:[ebp-34]
00E926A4 50 |push eax
00E926A5 E8 22020000 |call KeyDll.00E928CC
00E926AA BF 04000000 |mov edi,4
00E926AF 8D4D EC |lea ecx,dword ptr ss:[ebp-14]
00E926B2 8D45 C8 |lea eax,dword ptr ss:[ebp-38]
00E926B5 8D55 E0 |lea edx,dword ptr ss:[ebp-20]
00E926B8 8A19 |mov bl,byte ptr ds:[ecx]
00E926BA 3218 |xor bl,byte ptr ds:[eax]
00E926BC 881A |mov byte ptr ds:[edx],bl
00E926BE 42 |inc edx
00E926BF 40 |inc eax
00E926C0 41 |inc ecx
00E926C1 4F |dec edi
00E926C2 ^ 75 F4 |jnz short KeyDll.00E926B8
00E926C4 8A45 E8 |mov al,byte ptr ss:[ebp-18]
00E926C7 8845 E4 |mov byte ptr ss:[ebp-1C],al
00E926CA 8A45 E9 |mov al,byte ptr ss:[ebp-17]
00E926CD 8845 E5 |mov byte ptr ss:[ebp-1B],al
00E926D0 8A45 EA |mov al,byte ptr ss:[ebp-16]
00E926D3 8845 E6 |mov byte ptr ss:[ebp-1A],al
00E926D6 8A45 EB |mov al,byte ptr ss:[ebp-15]
00E926D9 8845 E7 |mov byte ptr ss:[ebp-19],al
00E926DC 8A55 E0 |mov dl,byte ptr ss:[ebp-20]
00E926DF 8855 E8 |mov byte ptr ss:[ebp-18],dl
00E926E2 8A55 E1 |mov dl,byte ptr ss:[ebp-1F]
00E926E5 8855 E9 |mov byte ptr ss:[ebp-17],dl
00E926E8 8A55 E2 |mov dl,byte ptr ss:[ebp-1E]
00E926EB 8855 EA |mov byte ptr ss:[ebp-16],dl
00E926EE 8A55 E3 |mov dl,byte ptr ss:[ebp-1D]
00E926F1 8855 EB |mov byte ptr ss:[ebp-15],dl
00E926F4 8A55 E4 |mov dl,byte ptr ss:[ebp-1C]
00E926F7 8855 EC |mov byte ptr ss:[ebp-14],dl
00E926FA 8A55 E5 |mov dl,byte ptr ss:[ebp-1B]
00E926FD 8855 ED |mov byte ptr ss:[ebp-13],dl
00E92700 8A55 E6 |mov dl,byte ptr ss:[ebp-1A]
00E92703 8855 EE |mov byte ptr ss:[ebp-12],dl
00E92706 8845 EF |mov byte ptr ss:[ebp-11],al
00E92709 8345 C4 08 |add dword ptr ss:[ebp-3C],8
00E9270D 4E |dec esi
00E9270E ^ 0F85 C0FEFFFF \jnz KeyDll.00E925D4
00E92714 8A45 EC mov al,byte ptr ss:[ebp-14]
00E92717 8845 F8 mov byte ptr ss:[ebp-8],al
00E9271A 8A45 ED mov al,byte ptr ss:[ebp-13]
00E9271D 8845 F9 mov byte ptr ss:[ebp-7],al
00E92720 8A45 EE mov al,byte ptr ss:[ebp-12]
00E92723 8845 FA mov byte ptr ss:[ebp-6],al
00E92726 8A45 EF mov al,byte ptr ss:[ebp-11]
00E92729 8845 FB mov byte ptr ss:[ebp-5],al
00E9272C 8A45 E8 mov al,byte ptr ss:[ebp-18]
00E9272F 8845 FC mov byte ptr ss:[ebp-4],al
00E92732 8A45 E9 mov al,byte ptr ss:[ebp-17]
00E92735 8845 FD mov byte ptr ss:[ebp-3],al
00E92738 8A45 EA mov al,byte ptr ss:[ebp-16]
00E9273B 8845 FE mov byte ptr ss:[ebp-2],al
00E9273E 8A45 EB mov al,byte ptr ss:[ebp-15]
00E92741 8845 FF mov byte ptr ss:[ebp-1],al
00E92744 6A 3F push 3F
00E92746 68 E433E900 push KeyDll.00E933E4
00E9274B 6A 40 push 40
00E9274D 8B45 0C mov eax,dword ptr ss:[ebp+C]
00E92750 50 push eax
00E92751 8B45 08 mov eax,dword ptr ss:[ebp+8]
00E92754 50 push eax
00E92755 6A 07 push 7
00E92757 8D45 F8 lea eax,dword ptr ss:[ebp-8]
00E9275A 50 push eax
00E9275B E8 6C010000 call KeyDll.00E928CC
00E92760 33C0 xor eax,eax
00E92762 5F pop edi
00E92763 5E pop esi
00E92764 5B pop ebx
00E92765 8BE5 mov esp,ebp
00E92767 5D pop ebp
00E92768 C2 1000 retn 10
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
上传的附件: