这段汇编代码是从《传奇》里反编译出来的帐号密码加密程序,谁帮我看看
「已注销」 2003-11-25 02:11:32 最好能翻译成C语言或者Basic或者Delphi都可以,谢谢
* Reference to: System.@LStrLen(String):Integer;
| or: System.@DynArrayLength;
:004A4E6C E86FFBF5FF call 004049E0
:004A4E71 85C0 test eax, eax
:004A4E73 7E3D jle 004A4EB2
:004A4E75 8945F8 mov dword ptr [ebp-08], eax
:004A4E78 BB01000000 mov ebx, 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A4EB0(C)
|
:004A4E7D 8BC7 mov eax, edi
* Reference to: System.FPower10;
| or: System.@UniqueStringA(String;String);
| or: System.@WStrLAsg(WideString;WideString;WideString);
| or: System.UniqueString(String;String);overload;
:004A4E7F E8ACFDF5FF call 00404C30
:004A4E84 8B55FC mov edx, dword ptr [ebp-04]
:004A4E87 8A541AFF mov dl, byte ptr [edx+ebx-01]
:004A4E8B 0FB7CE movzx ecx, si
:004A4E8E C1E908 shr ecx, 08
:004A4E91 32D1 xor dl, cl
:004A4E93 885418FF mov byte ptr [eax+ebx-01], dl
:004A4E97 8B07 mov eax, dword ptr [edi]
:004A4E99 0FB64418FF movzx eax, byte ptr [eax+ebx-01]
:004A4E9E 6603F0 add si, ax
:004A4EA1 6669C66DCE imul ax, si, CE6D
:004A4EA6 6605BF58 add ax, 58BF
:004A4EAA 8BF0 mov esi, eax
:004A4EAC 43 inc ebx
:004A4EAD FF4DF8 dec [ebp-08]
:004A4EB0 75CB jne 004A4E7D
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A4E73(C)
|
:004A4EB2 8D45F4 lea eax, dword ptr [ebp-0C]
:004A4EB5 50 push eax
:004A4EB6 8B07 mov eax, dword ptr [edi]
* Reference to: System.@LStrLen(String):Integer;
| or: System.@DynArrayLength;
:004A4EB8 E823FBF5FF call 004049E0
:004A4EBD 50 push eax
:004A4EBE 8B07 mov eax, dword ptr [edi]
* Reference to: System.@LStrToPChar(String):PAnsiChar;
:004A4EC0 E813FDF5FF call 00404BD8
:004A4EC5 8BD0 mov edx, eax
* Possible StringData Ref from Code Obj ->"D@I"
|
:004A4EC7 A164364900 mov eax, dword ptr [00493664]
:004A4ECC 59 pop ecx
:004A4ECD E84EF2FEFF call 00494120
:004A4ED2 8B55F4 mov edx, dword ptr [ebp-0C]
:004A4ED5 8BC7 mov eax, edi
* Reference to: System.@LStrAsg(void;void;void;void);
:004A4ED7 E8A0F8F5FF call 0040477C
:004A4EDC 33C0 xor eax, eax
:004A4EDE 5A pop edx
:004A4EDF 59 pop ecx
:004A4EE0 59 pop ecx
:004A4EE1 648910 mov dword ptr fs:[eax], edx
:004A4EE4 68F94E4A00 push 004A4EF9
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A4EF7(U)
|
:004A4EE9 8D45F4 lea eax, dword ptr [ebp-0C]
* Reference to: System.@LStrClr(void;void);
:004A4EEC E837F8F5FF call 00404728
:004A4EF1 C3 ret