Bonjour � tous!
J'aimerais savoir s'il �tait possible de r�cuperer l'environnement exact dans lequel un executable fait en C++Builder a �t� developp�. En gros, le code de l'executable.
Merci � vous!
Version imprimable
Bonjour � tous!
J'aimerais savoir s'il �tait possible de r�cuperer l'environnement exact dans lequel un executable fait en C++Builder a �t� developp�. En gros, le code de l'executable.
Merci � vous!
Salut peut-�tre que se site peut t'aider, il parle des d�sassembleurs: http://fr.wikipedia.org/wiki/D%C3%A9sassembleur
Bonjour,
Apprends d'abord ce qu'est un d�sassembleur (lien indiqu� par Crayon). Le soucis c'est que le code g�n�r� est de l'assembleur qui reste incompr�hensible vu que C++ est un langage haut niveau. Si tu connais l'asm, le code permet de comprendre le comportement en g�n�ral du programme mais pas de conna�tre le code exact.
Ce que tu cherches est donc un d�compilateur qui traduit un .exe en son code d'origine, si le prog a �t� �crit en C++, on doit le traduire en C++ pour avoir la traduction la plus appropri�e mais que je pense qu'� 50 % identique:
Delphi to C++ Builder 1.5: http://www.cleansofts.com/softdownlo...C_Builder.html
Ce lien peut �tre mort mais je te conseille dans ce cas de chercher un d�compilateur gratuit sur google.
Bonjour
le d�compilateur d�crit dans le post pr�c�dent <Delphi and C++Builder Decompiler 2.56 n'a guerre d'utilit�
en effet il n'est capable que de sortir uniquement les appels de fonctions de visibilit� __published: // IDE-managed Component exemple
toutes les membres Priv� sont ignor�s de m�me que les classes et fonctions non VCL
Ex:
CordialementCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103 //extrait du .H #ifndef Unit3H #define Unit3H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <CheckLst.hpp> #include <Buttons.hpp> #include <ComCtrls.hpp> #include <Menus.hpp> #include <ThemeMgr.hpp> //--------------------------------------------------------------------------- class TForm3 : public TForm { __published: // IDE-managed Components TCheckListBox *Clb; TGroupBox *GroupBox1; TBitBtn *BitBtn1; TBitBtn *BitBtn2; TBitBtn *BitBtn3; TStatusBar *StatusBar1; TGroupBox *GroupBox2; TEdit *Edit1; TSpeedButton *SpeedButton1; TLabel *Label1; TLabel *Label2; TLabel *Label3; TMainMenu *MainMenu1; TMenuItem *Aide1; TMenuItem *AProposde1; TMenuItem *Configuration1; TMenuItem *Ouvrir1; TMenuItem *Sauvegarder1; TMenuItem *N1; TMenuItem *Quitter1; TThemeManager *ThemeManager1; TMenuItem *ChoixRepertoire1; void __fastcall Button1Click(TObject *Sender); void __fastcall FormDestroy(TObject *Sender); void __fastcall Button2Click(TObject *Sender); void __fastcall SpeedButton1Click(TObject *Sender); void __fastcall AProposde1Click(TObject *Sender); void __fastcall Quitter1Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm3(TComponent* Owner); }; //--------------------------------------------------------------------------- // le .cpp #include <vcl.h> #pragma hdrstop #include "Unit3.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm3 *Form3; //--------------------------------------------------------------------------- __fastcall TForm3::TForm3(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm3::Button1Click(TObject *Sender) { // Address $401BD0 } //--------------------------------------------------------------------------- void __fastcall TForm3::FormDestroy(TObject *Sender) { // Address $4020F8 } //--------------------------------------------------------------------------- void __fastcall TForm3::Button2Click(TObject *Sender) { // Address $402230 } //--------------------------------------------------------------------------- void __fastcall TForm3::SpeedButton1Click(TObject *Sender) { // Address $402238 } //--------------------------------------------------------------------------- void __fastcall TForm3::AProposde1Click(TObject *Sender) { // Address $40259C } //--------------------------------------------------------------------------- void __fastcall TForm3::Quitter1Click(TObject *Sender) { // Address $4025AC } //---------------------------------------------------------------------------
Bonjour,
En fait, il n'y a pas de d�compilateur parfait ! C'est presque impossible � faire surtout avec de la programmation orient�e objet.
En fait, ne cherche pas � obtenir le code original d'un .exe , m�me les crackeurs (travail malhonn�te) ne vont pas jusqu'� �tudier tout le code mais seulement une partie et � comprendre le fonctionnement g�n�ral !
En r�ponse �
Je dirais que c'est possible � 60 % sauf s'il y a des outils capables de le faire � 100 % que je ne connais pas.Citation:
J'aimerais savoir s'il �tait possible de r�cuperer l'environnement exact dans lequel un executable fait en C++Builder a �t� developp�. En gros, le code de l'executable.
Merci pour toutes vos r�ponses. C'est gentil de vouloir m'aider.
En tout cas ce que j'ai appris avec vous c'est que ce n'est pas vraiment possible, je ne le savais pas :lol: .
Merci � tous:D