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:
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
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