Oppure

Loading
14/09/13 20:12
criscros1989
Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco

Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa 00401AE4 0F84CA000000 jz 00401BB4 00401AEA 33D2 xor edx, edx 00401AEC 8B45FC mov eax, [ebp-] * Reference to control iPlot1 : TiPlot | 00401AEF 8B80D0020000 mov eax, [eax+D0] * Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet; | 00401AF5 E872FD0500 call 0046186C * Reference to : TiPlotChannelCustom._PROC_004919B0() | 00401AFA E8B1FE0800 call 004919B0 00401AFF BA01000000 mov edx, Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa000001 00401B04 8B4DFC mov ecx, [ebp-] 00401B07 8B81D0020000 mov eax, [ecx+D0] * Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet; | 00401B0D E85AFD0500 call 0046186C * Reference to : TiPlotChannelCustom._PROC_004919B0() | 00401B12 E899FE0800 call 004919B0 00401B17 6A01 push 00401B19 6A01 push 00401B1B 8B55FC mov edx, [ebp-] 00401B1E 81C2C0030000 add edx, Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa0003C0 00401B24 52 push edx * Reference to : TForm1._PROC_00404B50() | 00401B25 E826300000 call 00404B50 00401B2A 83C40C add esp, +Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresaC 00401B2D 84C0 test al, al 00401B2F 751A jnz 00401B4B 00401B31 6A30 push * Possible String Reference to: 'ATT.' | 00401B33 B95FE85800 mov ecx, Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa58E85F * Possible String Reference to: 'Connesione con COM1 mancante | - Verifica !!! ' | 00401B38 BA2CE85800 mov edx, Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa58E82C 00401B3D A1E0655900 mov eax, dword ptr [Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa5965E0] 00401B42 8B00 mov eax, [eax] | 00401B44 E8FBEB1500 call 00560744 00401B49 EB21 jmp 00401B6C 00401B4B 8B55FC mov edx, [ebp-] 00401B4E 33C9 xor ecx, ecx * Reference to field TForm1.OFFS_03B8 | 00401B50 898AB8030000 mov [edx+B8], ecx * Reference to field TForm1.OFFS_03BC | 00401B56 898ABC030000 mov [edx+BC], ecx 00401B5C B201 mov dl, 00401B5E 8B45FC mov eax, [ebp-] * Reference to control tmrData : TTimer | 00401B61 8B80D4020000 mov eax, [eax+D4] * Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean); | 00401B67 E8001E1000 call 0050396C 00401B6C 33D2 xor edx, edx 00401B6E 8B4DFC mov ecx, [ebp-] 00401B71 8B81F4020000 mov eax, [ecx+F4] 00401B77 8B08 mov ecx, [eax] * Possible reference to virtual method TTimer.OFFS_5C | 00401B79 FF515C call dword ptr [ecx+C] 00401B7C 33D2 xor edx, edx 00401B7E 8B45FC mov eax, [ebp-] * Reference to control btnUpLoad : TBitBtn | 00401B81 8B809C030000 mov eax, [eax+9C] 00401B87 8B08 mov ecx, [eax] * Possible reference to virtual method TBitBtn.OFFS_5C | 00401B89 FF515C call dword ptr [ecx+C] 00401B8C 33D2 xor edx, edx 00401B8E 8B45FC mov eax, [ebp-] * Reference to control btnDownLoad : TBitBtn | 00401B91 8B80A0030000 mov eax, [eax+A0] 00401B97 8B08 mov ecx, [eax] * Possible reference to virtual method TBitBtn.OFFS_5C | 00401B99 FF515C call dword ptr [ecx+C] 00401B9C 8B55FC mov edx, [ebp-] 00401B9F 33C0 xor eax, eax * Reference to field TForm1.OFFS_0408 | 00401BA1 898208040000 mov [edx+08], eax 00401BA7 8B55FC mov edx, [ebp-] 00401BAA 33C9 xor ecx, ecx * Reference to field TForm1.OFFS_040C | 00401BAC 898A0C040000 mov [edx+0C], ecx 00401BB2 EB55 jmp 00401C09 00401BB4 6A01 push 00401BB6 6A00 push Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa 00401BB8 8B45FC mov eax, [ebp-] 00401BBB 05C0030000 add eax, +Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa0003C0 00401BC0 50 push eax * Reference to : TForm1._PROC_00404B50() | 00401BC1 E88A2F0000 call 00404B50 00401BC6 83C40C add esp, +Salve a tutti, sono un tecnico e riparo pc, console, smatphone etc...mi diletto anche in programmazione, ma a livello bassissimo, quindi sono un noob ma qualcosa ci capisco
Vengo al dunque, ho la necessità di modificare un programma visto che ho una stazione per reballing che ha 2 controller comandati mediante seriale, ha un programma con cui controllare il controller da PC, il punto è che tale programma gestisce solo la COM1, vorrei fare in modo che gestisse solo la COM2, in modo tale da avere 2 programmi, uno per la COM1 e l'altro per la COM2.
Allora ho decompilato il programma con DeDe, ho provato anche w32Dsam ma non ci riesce e va in blocco ,comunque mediante il tasto Run sono riuscito a risalire alla parte in cui da errore cioè "Connessione con COM1 mancate - Verifica!!!!" nel "btnRunClick"
Il codice all'interno è il seguente:
00401AC8   55                     push    ebp
00401AC9   8BEC                   mov     ebp, esp
00401ACB   83C4F8                 add     esp, -
00401ACE   8955F8                 mov     [ebp-], edx
00401AD1   8945FC                 mov     [ebp-], eax
00401AD4   8B45FC                 mov     eax, [ebp-]

* Reference to control btnRun : TSpeedButton
|
00401AD7   8B900C030000           mov     edx, [eax+0C]

* Reference to field TSpeedButton.Down : Boolean
|
00401ADD   80BA3001000000         cmp     byte ptr [edx+30], {parsed_message}
00401AE4   0F84CA000000           jz      00401BB4
00401AEA   33D2                   xor     edx, edx
00401AEC   8B45FC                 mov     eax, [ebp-]

* Reference to control iPlot1 : TiPlot
|
00401AEF   8B80D0020000           mov     eax, [eax+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401AF5   E872FD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401AFA   E8B1FE0800             call    004919B0
00401AFF   BA01000000             mov     edx, {parsed_message}000001
00401B04   8B4DFC                 mov     ecx, [ebp-]
00401B07   8B81D0020000           mov     eax, [ecx+D0]

* Reference to: dbtables.TDatabase.GetDataSet(TDatabase;Integer):TDBDataSet;
|
00401B0D   E85AFD0500             call    0046186C

* Reference to : TiPlotChannelCustom._PROC_004919B0()
|
00401B12   E899FE0800             call    004919B0
00401B17   6A01                   push    
00401B19   6A01                   push    
00401B1B   8B55FC                 mov     edx, [ebp-]
00401B1E   81C2C0030000           add     edx, {parsed_message}0003C0
00401B24   52                     push    edx

* Reference to : TForm1._PROC_00404B50()
|
00401B25   E826300000             call    00404B50
00401B2A   83C40C                 add     esp, +{parsed_message}C
00401B2D   84C0                   test    al, al
00401B2F   751A                   jnz     00401B4B
00401B31   6A30                   push    

* Possible String Reference to: 'ATT.'
|
00401B33   B95FE85800             mov     ecx, {parsed_message}58E85F

* Possible String Reference to: 'Connesione con COM1 mancante       
|                                - Verifica !!! '
|
00401B38   BA2CE85800             mov     edx, {parsed_message}58E82C
00401B3D   A1E0655900             mov     eax, dword ptr [{parsed_message}5965E0]
00401B42   8B00                   mov     eax, [eax]

|
00401B44   E8FBEB1500             call    00560744
00401B49   EB21                   jmp     00401B6C
00401B4B   8B55FC                 mov     edx, [ebp-]
00401B4E   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_03B8
|
00401B50   898AB8030000           mov     [edx+B8], ecx

* Reference to field TForm1.OFFS_03BC
|
00401B56   898ABC030000           mov     [edx+BC], ecx
00401B5C   B201                   mov     dl, 
00401B5E   8B45FC                 mov     eax, [ebp-]

* Reference to control tmrData : TTimer
|
00401B61   8B80D4020000           mov     eax, [eax+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401B67   E8001E1000             call    0050396C
00401B6C   33D2                   xor     edx, edx
00401B6E   8B4DFC                 mov     ecx, [ebp-]
00401B71   8B81F4020000           mov     eax, [ecx+F4]
00401B77   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TTimer.OFFS_5C
|
00401B79   FF515C                 call    dword ptr [ecx+C]
00401B7C   33D2                   xor     edx, edx
00401B7E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401B81   8B809C030000           mov     eax, [eax+9C]
00401B87   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B89   FF515C                 call    dword ptr [ecx+C]
00401B8C   33D2                   xor     edx, edx
00401B8E   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401B91   8B80A0030000           mov     eax, [eax+A0]
00401B97   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401B99   FF515C                 call    dword ptr [ecx+C]
00401B9C   8B55FC                 mov     edx, [ebp-]
00401B9F   33C0                   xor     eax, eax

* Reference to field TForm1.OFFS_0408
|
00401BA1   898208040000           mov     [edx+08], eax
00401BA7   8B55FC                 mov     edx, [ebp-]
00401BAA   33C9                   xor     ecx, ecx

* Reference to field TForm1.OFFS_040C
|
00401BAC   898A0C040000           mov     [edx+0C], ecx
00401BB2   EB55                   jmp     00401C09
00401BB4   6A01                   push    
00401BB6   6A00                   push    {parsed_message}
00401BB8   8B45FC                 mov     eax, [ebp-]
00401BBB   05C0030000             add     eax, +{parsed_message}0003C0
00401BC0   50                     push    eax

* Reference to : TForm1._PROC_00404B50()
|
00401BC1   E88A2F0000             call    00404B50
00401BC6   83C40C                 add     esp, +{parsed_message}C
00401BC9   33D2                   xor     edx, edx
00401BCB   8B4DFC                 mov     ecx, [ebp-]
00401BCE   8B81D4020000           mov     eax, [ecx+D4]

* Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean);
|
00401BD4   E8931D1000             call    0050396C
00401BD9   B201                   mov     dl, 
00401BDB   8B4DFC                 mov     ecx, [ebp-]
00401BDE   8B81F4020000           mov     eax, [ecx+F4]
00401BE4   8B08                   mov     ecx, [eax]
00401BE6   FF515C                 call    dword ptr [ecx+C]
00401BE9   B201                   mov     dl, 
00401BEB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnUpLoad : TBitBtn
|
00401BEE   8B809C030000           mov     eax, [eax+9C]
00401BF4   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401BF6   FF515C                 call    dword ptr [ecx+C]
00401BF9   B201                   mov     dl, 
00401BFB   8B45FC                 mov     eax, [ebp-]

* Reference to control btnDownLoad : TBitBtn
|
00401BFE   8B80A0030000           mov     eax, [eax+A0]
00401C04   8B08                   mov     ecx, [eax]

* Possible reference to virtual method TBitBtn.OFFS_5C
|
00401C06   FF515C                 call    dword ptr [ecx+C]
00401C09   59                     pop     ecx
00401C0A   59                     pop     ecx
00401C0B   5D                     pop     ebp
00401C0C   C3                     ret




Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresaC 00401BC9 33D2 xor edx, edx 00401BCB 8B4DFC mov ecx, [ebp-] 00401BCE 8B81D4020000 mov eax, [ecx+D4] * Reference to: extctrls.TTimer.SetEnabled(TTimer;Boolean); | 00401BD4 E8931D1000 call 0050396C 00401BD9 B201 mov dl, 00401BDB 8B4DFC mov ecx, [ebp-] 00401BDE 8B81F4020000 mov eax, [ecx+F4] 00401BE4 8B08 mov ecx, [eax] 00401BE6 FF515C call dword ptr [ecx+C] 00401BE9 B201 mov dl, 00401BEB 8B45FC mov eax, [ebp-] * Reference to control btnUpLoad : TBitBtn | 00401BEE 8B809C030000 mov eax, [eax+9C] 00401BF4 8B08 mov ecx, [eax] * Possible reference to virtual method TBitBtn.OFFS_5C | 00401BF6 FF515C call dword ptr [ecx+C] 00401BF9 B201 mov dl, 00401BFB 8B45FC mov eax, [ebp-] * Reference to control btnDownLoad : TBitBtn | 00401BFE 8B80A0030000 mov eax, [eax+A0] 00401C04 8B08 mov ecx, [eax] * Possible reference to virtual method TBitBtn.OFFS_5C | 00401C06 FF515C call dword ptr [ecx+C] 00401C09 59 pop ecx 00401C0A 59 pop ecx 00401C0B 5D pop ebp 00401C0C C3 ret


Volevo sapere se ero nella strada giusta, e in tal caso come fare per cambiare la porta seriale in COM2


Grazie a chiunque riesca ad aiutami nella mia impresa
aaa
14/09/13 22:55
pierotofy
Far girare la seconda istanza del programma su Virtualbox no? Sarebbe molto piu' semplice...
Il mio blog: piero.dev
15/09/13 11:06
criscros1989
si lo so bene ma vorrei appunto modificare il software, se possibile ovviamente, ho fato delle modifiche alla macchina per avere 2 controller, normalemente ne controlli solo uno e l'altro lo controlli mnualmente ma non ha senso allora controllarne solo uno.
Grazie comunque della risposta
aaa
15/09/13 21:16
pierotofy
Non riesco a capire cosa intendi (e non capisco perche' Virtualbox non ti va come soluzione).
Il mio blog: piero.dev