bonjour,
voila j'ai décompiler un loader (son role charge le firmware dans un démo.) avec décompi. DEDE delphi
....juste pour avoir l'idee comment elle est écrit la procedure pour obtenir la version hardware de démo a partir de son firmware (c.a.d fichier binaire)
lorsque on choisit le firmware 'fichier binaire) dans le loader.......
merci.
voici quelque détail ci joint:
-démo kaon
-Loader pour démo kaon (appellé Kup230 enginner patched)
-firmaware (fichier binaire) (appellé firmware kaon kscz570)
-programme décomlpiler avec dede (decompilateur delphi)
cad lorsque on exécute le loader ...un button openfile(*.bin).....on choisit le fichier bin nécéssaire(le firmware).....alors
les infos. tels que version hadware de démo ext..... s'affiche automatiquement....bien sur il ya une procédure pou ca
et moi j'aimerai trouver cette procedure .
merci d'avance.
lorsque on click sur la procedure Open1Click voici ce quelle donne :
00486250 55 push ebp
00486251 8BEC mov ebp, esp
00486253 33C9 xor ecx, ecx
00486255 51 push ecx
00486256 51 push ecx
00486257 51 push ecx
00486258 51 push ecx
00486259 51 push ecx
0048625A 53 push ebx
0048625B 56 push esi
0048625C 57 push edi
0048625D 8945FC mov [ebp-$04], eax
00486260 33C0 xor eax, eax
00486262 55 push ebp
00486263 680E644800 push $0048640E
***** TRY
|
00486268 64FF30 push dword ptr fs:[eax]
0048626B 648920 mov fs:[eax], esp
0048626E 8D45F8 lea eax, [ebp-$08]
* Reference to: Unit_004078E4.Proc_00408DD4
|
00486271 E85E2BF8FF call 00408DD4
* Reference to MainFrm
|
00486276 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.OD1 : TOpenDialog
|
00486279 8B801C030000 mov eax, [eax+$031C]
0048627F 8B55F8 mov edx, [ebp-$08]
* Reference to: Dialogs.TOpenDialog.SetInitialDir(TOpenDialog;AnsiString);
|
00486282 E8F1D3FAFF call 00433678
* Reference to MainFrm
|
00486287 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.OD1 : TOpenDialog
|
0048628A 8B801C030000 mov eax, [eax+$031C]
00486290 8B10 mov edx, [eax]
* Reference to method TOpenDialog.Execute()
|
00486292 FF523C call dword ptr [edx+$3C]
00486295 3C01 cmp al, $01
00486297 0F8543010000 jnz 004863E0
0048629D 8D55F4 lea edx, [ebp-$0C]
* Reference to MainFrm
|
004862A0 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.OD1 : TOpenDialog
|
004862A3 8B801C030000 mov eax, [eax+$031C]
* Reference to: Dialogs.TOpenDialog.GetFileName(TOpenDialog):TFileName;
|
004862A9 E862D3FAFF call 00433610
004862AE 8B55F4 mov edx, [ebp-$0C]
* Reference to MainFrm
|
004862B1 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.edFileName : TEdit
|
004862B4 8B8050030000 mov eax, [eax+$0350]
* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
004862BA E83148FBFF call 0043AAF0
004862BF 8D55F0 lea edx, [ebp-$10]
* Reference to MainFrm
|
004862C2 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.edFileName : TEdit
|
004862C5 8B8050030000 mov eax, [eax+$0350]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
004862CB E8F047FBFF call 0043AAC0
004862D0 8B55F0 mov edx, [ebp-$10]
* Reference to MainFrm
|
004862D3 8B45FC mov eax, [ebp-$04]
004862D6 0544040000 add eax, +$00000444
* Reference to: System.@LStrAsg(void;void;void;void);
|
004862DB E87CE2F7FF call 0040455C
* Reference to MainFrm
|
004862E0 8B45FC mov eax, [ebp-$04]
* Reference to : TMainFrm.Proc_004841C0()
|
004862E3 E8D8DEFFFF call 004841C0
004862E8 3C01 cmp al, $01
004862EA 0F85F0000000 jnz 004863E0
* Reference to MainFrm
|
004862F0 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.VaComm1 : TVaComm
|
004862F3 8B8014030000 mov eax, [eax+$0314]
* Reference to : TVaComm._PROC_0046B540()
|
004862F9 E84252FEFF call 0046B540
004862FE 84C0 test al, al
00486300 0F85DA000000 jnz 004863E0
00486306 33C0 xor eax, eax
00486308 55 push ebp
00486309 685C634800 push $0048635C
***** TRY
|
0048630E 64FF30 push dword ptr fs:[eax]
00486311 648920 mov fs:[eax], esp
* Reference to MainFrm
|
00486314 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.VaComm1 : TVaComm
|
00486317 8B8014030000 mov eax, [eax+$0314]
* Reference to: VaComm.Proc_0046ACF4
|
0048631D E8D249FEFF call 0046ACF4
* Reference to MainFrm
|
00486322 8B45FC mov eax, [ebp-$04]
* Reference to field TMainFrm.OFFS_03DD : Byte
|
00486325 C680DD03000001 mov byte ptr [eax+$03DD], $01
* Reference to MainFrm
|
0048632C 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.bbConnect : TButton
|
0048632F 8B8080030000 mov eax, [eax+$0380]
00486335 33D2 xor edx, edx
* Reference to: Controls.TControl.SetVisible(TControl;Boolean);
|
00486337 E8A446FBFF call 0043A9E0
* Reference to MainFrm
|
0048633C 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.bbConnect : TButton
|
0048633F 8B8080030000 mov eax, [eax+$0380]
* Possible String Reference to: 'Connected'
|
00486345 BA24644800 mov edx, $00486424
* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
0048634A E8A147FBFF call 0043AAF0
0048634F 33C0 xor eax, eax
00486351 5A pop edx
00486352 59 pop ecx
00486353 59 pop ecx
00486354 648910 mov fs:[eax], edx
00486357 E984000000 jmp 004863E0
* Reference to: System.@HandleAnyException;
|
0048635C E997D8F7FF jmp 00403BF8
* Reference to MainFrm
|
00486361 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.Timer1 : TTimer
|
00486364 8B8018030000 mov eax, [eax+$0318]
0048636A 33D2 xor edx, edx
* Reference to: ExtCtrls.TTimer.SetInterval(TTimer;Cardinal);
|
0048636C E8A3B8FAFF call 00431C14
* Reference to MainFrm
|
00486371 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.VaComm1 : TVaComm
|
00486374 8B8014030000 mov eax, [eax+$0314]
* Reference to field TVaComm.OFFS_0094
|
0048637A 8B9094000000 mov edx, [eax+$0094]
00486380 8D45EC lea eax, [ebp-$14]
* Possible String Reference to: ' Disconnected !'
|
00486383 B938644800 mov ecx, $00486438
* Reference to: System.@LStrCat3;
|
00486388 E87FE4F7FF call 0040480C
0048638D 8B55EC mov edx, [ebp-$14]
* Reference to MainFrm
|
00486390 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.Memo2 : TMemo
|
00486393 8B8010030000 mov eax, [eax+$0310]
* Reference to field TMemo.Lines : TStrings
|
00486399 8B8020020000 mov eax, [eax+$0220]
0048639F 8B08 mov ecx, [eax]
* Reference to method TStrings.Add(string)
|
004863A1 FF5138 call dword ptr [ecx+$38]
* Possible String Reference to: 'Serial Port Open Error'
|
004863A4 B850644800 mov eax, $00486450
* Reference to: Dialogs.ShowMessage(AnsiString);
|
004863A9 E872E0FAFF call 00434420
* Reference to MainFrm
|
004863AE 8B45FC mov eax, [ebp-$04]
* Reference to field TMainFrm.OFFS_03DD : Byte
|
004863B1 C680DD03000000 mov byte ptr [eax+$03DD], $00
* Reference to MainFrm
|
004863B8 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.bbConnect : TButton
|
004863BB 8B8080030000 mov eax, [eax+$0380]
004863C1 B201 mov dl, $01
* Reference to: Controls.TControl.SetVisible(TControl;Boolean);
|
004863C3 E81846FBFF call 0043A9E0
* Reference to MainFrm
|
004863C8 8B45FC mov eax, [ebp-$04]
* Reference to control TMainFrm.bbConnect : TButton
|
004863CB 8B8080030000 mov eax, [eax+$0380]
* Possible String Reference to: 'Disconnected'
|
004863D1 BA70644800 mov edx, $00486470
* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
004863D6 E81547FBFF call 0043AAF0
* Reference to: System.@DoneExcept;
|
004863DB E880DBF7FF call 00403F60
004863E0 33C0 xor eax, eax
004863E2 5A pop edx
004863E3 59 pop ecx
004863E4 59 pop ecx
004863E5 648910 mov fs:[eax], edx
****** FINALLY
|
004863E8 6815644800 push $00486415
004863ED 8D45EC lea eax, [ebp-$14]
* Reference to: System.@LStrClr(void;void);
|
004863F0 E813E1F7FF call 00404508
004863F5 8D45F0 lea eax, [ebp-$10]
* Reference to: System.@LStrClr(void;void);
|
004863F8 E80BE1F7FF call 00404508
004863FD 8D45F4 lea eax, [ebp-$0C]
* Reference to: System.@LStrClr(void;void);
|
00486400 E803E1F7FF call 00404508
00486405 8D45F8 lea eax, [ebp-$08]
* Reference to: System.@LStrClr(void;void);
|
00486408 E8FBE0F7FF call 00404508
0048640D C3 ret
* Reference to: System.@HandleFinally;
|
0048640E E999DAF7FF jmp 00403EAC
00486413 EBD8 jmp 004863ED
****** END
|
00486415 5F pop edi
00486416 5E pop esi
00486417 5B pop ebx
00486418 8BE5 mov esp, ebp
0048641A 5D pop ebp
0048641B C3 ret