一下代碼是dede反編譯過來的,哪個高手能決議這段代碼呢?謝謝了
* Reference to control Password : N.A.
|
005A7EF7 8B8314030000 mov eax, [ebx+$0314]
005A7EFD 8B30 mov esi, [eax]
005A7EFF FF5604 call dword ptr [esi+$04]
005A7F02 8D55E8 lea edx, [ebp-$18]
uj5u.com熱心網友回復:
這么短的代碼看不出什么,可能是呼叫了某個方法。uj5u.com熱心網友回復:
深奧呢!頭暈了!uj5u.com熱心網友回復:
下面是完整代碼,是一個確定按鈕點擊后執行的方法,這個功能是測驗連接資料庫,因為界面上沒有輸入密碼的地方,我懷疑是不是寫死了,反編譯這個方法后,還是看不出來,看看能不能幫決議一下哈。
procedure TfrmNetSet.OKBtnClick(Sender : TObject);
begin
(*
005A7E48 55 push ebp
005A7E49 8BEC mov ebp, esp
005A7E4B B904000000 mov ecx, $00000004
005A7E50 6A00 push $00
005A7E52 6A00 push $00
005A7E54 49 dec ecx
005A7E55 75F9 jnz 005A7E50
005A7E57 51 push ecx
005A7E58 53 push ebx
005A7E59 56 push esi
005A7E5A 8BD8 mov ebx, eax
005A7E5C 33C0 xor eax, eax
005A7E5E 55 push ebp
* Possible String Reference to: '槭洛脛^[嬪]?
|
005A7E5F 68C17F5A00 push $005A7FC1
***** TRY
|
005A7E64 64FF30 push dword ptr fs:[eax]
005A7E67 648920 mov fs:[eax], esp
005A7E6A 8D55FC lea edx, [ebp-$04]
* Reference to control Label1 : TLabel
|
005A7E6D 8B8308030000 mov eax, [ebx+$0308]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7E73 E858E2EAFF call 004560D0
005A7E78 8B45FC mov eax, [ebp-$04]
005A7E7B 50 push eax
005A7E7C 8D55F8 lea edx, [ebp-$08]
* Reference to control Panel1 : N.A.
|
005A7E7F 8B8304030000 mov eax, [ebx+$0304]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7E85 E846E2EAFF call 004560D0
005A7E8A 8B45F8 mov eax, [ebp-$08]
005A7E8D 50 push eax
005A7E8E 8D55F4 lea edx, [ebp-$0C]
* Reference to control CancelButton : N.A.
|
005A7E91 8B8300030000 mov eax, [ebx+$0300]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7E97 E834E2EAFF call 004560D0
005A7E9C 8B55F4 mov edx, [ebp-$0C]
005A7E9F A1D0E99700 mov eax, dword ptr [$0097E9D0]
005A7EA4 8B00 mov eax, [eax]
005A7EA6 59 pop ecx
|
005A7EA7 E81031FEFF call 0058AFBC
005A7EAC 84C0 test al, al
005A7EAE 0F84DD000000 jz 005A7F91
005A7EB4 8D55F0 lea edx, [ebp-$10]
* Reference to control CancelButton : N.A.
|
005A7EB7 8B8300030000 mov eax, [ebx+$0300]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7EBD E80EE2EAFF call 004560D0
005A7EC2 8B45F0 mov eax, [ebp-$10]
005A7EC5 50 push eax
* Possible String Reference to: 'ServerName'
|
005A7EC6 B9D87F5A00 mov ecx, $005A7FD8
* Possible String Reference to: 'Server'
|
005A7ECB BAEC7F5A00 mov edx, $005A7FEC
* Reference to control Password : N.A.
|
005A7ED0 8B8314030000 mov eax, [ebx+$0314]
005A7ED6 8B30 mov esi, [eax]
005A7ED8 FF5604 call dword ptr [esi+$04]
005A7EDB 8D55EC lea edx, [ebp-$14]
* Reference to control Panel1 : N.A.
|
005A7EDE 8B8304030000 mov eax, [ebx+$0304]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7EE4 E8E7E1EAFF call 004560D0
005A7EE9 8B45EC mov eax, [ebp-$14]
005A7EEC 50 push eax
* Possible String Reference to: 'DBName'
|
005A7EED B9FC7F5A00 mov ecx, $005A7FFC
* Possible String Reference to: 'Server'
|
005A7EF2 BAEC7F5A00 mov edx, $005A7FEC
* Reference to control Password : N.A.
|
005A7EF7 8B8314030000 mov eax, [ebx+$0314]
005A7EFD 8B30 mov esi, [eax]
005A7EFF FF5604 call dword ptr [esi+$04]
005A7F02 8D55E8 lea edx, [ebp-$18]
* Reference to control Label1 : TLabel
|
005A7F05 8B8308030000 mov eax, [ebx+$0308]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7F0B E8C0E1EAFF call 004560D0
005A7F10 8B45E8 mov eax, [ebp-$18]
005A7F13 50 push eax
* Possible String Reference to: 'User'
|
005A7F14 B90C805A00 mov ecx, $005A800C
* Possible String Reference to: 'Server'
|
005A7F19 BAEC7F5A00 mov edx, $005A7FEC
* Reference to control Password : N.A.
|
005A7F1E 8B8314030000 mov eax, [ebx+$0314]
005A7F24 8B30 mov esi, [eax]
005A7F26 FF5604 call dword ptr [esi+$04]
005A7F29 6A00 push $00
005A7F2B 6A00 push $00
005A7F2D 6A00 push $00
005A7F2F 6A00 push $00
005A7F31 6A00 push $00
* Possible String Reference to: '資料庫服務器'
|
005A7F33 681C805A00 push $005A801C
* Possible String Reference to: '設定為'
|
005A7F38 6834805A00 push $005A8034
005A7F3D 8D55E0 lea edx, [ebp-$20]
* Reference to control CancelButton : N.A.
|
005A7F40 8B8300030000 mov eax, [ebx+$0300]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7F46 E885E1EAFF call 004560D0
005A7F4B FF75E0 push dword ptr [ebp-$20]
005A7F4E 6844805A00 push $005A8044
005A7F53 8D55DC lea edx, [ebp-$24]
* Reference to control Panel1 : N.A.
|
005A7F56 8B8304030000 mov eax, [ebx+$0304]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
005A7F5C E86FE1EAFF call 004560D0
005A7F61 FF75DC push dword ptr [ebp-$24]
005A7F64 8D45E4 lea eax, [ebp-$1C]
005A7F67 BA04000000 mov edx, $00000004
* Reference to: System.@LStrCatN;
|
005A7F6C E803CEE5FF call 00404D74
005A7F71 8B45E4 mov eax, [ebp-$1C]
005A7F74 50 push eax
* Possible String Reference to: '成功'
|
005A7F75 6850805A00 push $005A8050
005A7F7A 6A00 push $00
005A7F7C 33C9 xor ecx, ecx
005A7F7E 33D2 xor edx, edx
* Possible String Reference to: 'db_set'
|
005A7F80 B860805A00 mov eax, $005A8060
|
005A7F85 E80A9BFFFF call 005A1A94
005A7F8A 8BC3 mov eax, ebx
* Reference to: Forms.TCustomForm.Close(TCustomForm);
|
005A7F8C E887B0ECFF call 00473018
005A7F91 33C0 xor eax, eax
005A7F93 5A pop edx
005A7F94 59 pop ecx
005A7F95 59 pop ecx
005A7F96 648910 mov fs:[eax], edx
****** FINALLY
|
* Possible String Reference to: '^[嬪]?
|
005A7F99 68C87F5A00 push $005A7FC8
005A7F9E 8D45DC lea eax, [ebp-$24]
005A7FA1 BA02000000 mov edx, $00000002
* Reference to: System.@LStrArrayClr(void;void;Integer);
|
005A7FA6 E865CAE5FF call 00404A10
005A7FAB 8D45E4 lea eax, [ebp-$1C]
* Reference to: System.@LStrClr(void;void);
|
005A7FAE E839CAE5FF call 004049EC
005A7FB3 8D45E8 lea eax, [ebp-$18]
005A7FB6 BA06000000 mov edx, $00000006
* Reference to: System.@LStrArrayClr(void;void;Integer);
|
005A7FBB E850CAE5FF call 00404A10
005A7FC0 C3 ret
* Reference to: System.@HandleFinally;
|
005A7FC1 E9CAC2E5FF jmp 00404290
005A7FC6 EBD6 jmp 005A7F9E
****** END
|
005A7FC8 5E pop esi
005A7FC9 5B pop ebx
005A7FCA 8BE5 mov esp, ebp
005A7FCC 5D pop ebp
005A7FCD C3 ret
*)
end;
procedure TfrmNetSet.FormClose(Sender : TObject);
begin
(*
* Reference to control Password : N.A.
|
005A81CC 8B8014030000 mov eax, [eax+$0314]
* Reference to: System.TObject.Free(TObject);
|
005A81D2 E825B9E5FF call 00403AFC
005A81D7 C3 ret
*)
end;
uj5u.com熱心網友回復:
這真的請高手來分折了。uj5u.com熱心網友回復:
就這段代碼來說,并沒有看到使用硬編碼的密碼或者讀取密碼的部分,還是要看005A7EA7 E81031FEFF call 0058AFBC
的內部,這個函式應該是真正測驗連接的代碼。
其余部分只是讀取界面上幾個edit的值,然后呼叫這個連接函式,如果成功就保存幾個引數,顯示一個資訊,大致如此:
procedure TfrmNetSet.OKBtnClick(Sender : TObject);
var
ServerName, DBName, User: string;
begin
try
User := Edit3.Text;
DBName := Edit2.Text;
ServerName := Edit1.Text;
if not xxx.Connect(ServerName, DBName, User) then
exit;
func1('Server', 'ServerName', Edit1.Text);
func1('Server', 'DBName', Edit2.Text);
func1('Server', 'User', Edit3.Text);
ShowMessage('資料庫服務器設定為...成功');
func2('db_set');
Close;
finally
// ...
end;
end;
uj5u.com熱心網友回復:
匯編簡直就是神學的,一看我就暈菜,羨慕能看懂匯編的,哈哈哈轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/49297.html
標籤:語言基礎/算法/系統設計
