salut. am un soft de camere de supraveghere si are o fereastra foarte enervanta in care scrie "computer resources shortage" care apare si dispare in continuu. as vrea sa cauti in folderul unde este instalat acest soft si sa incerci sa scoti acea fereastra enervanta sa nu mai apara. softul este instalat aici: C:\Program Files (x86)\Dvrsoft\Surveillance_client
Salut! Să explorez folderul softului să văd ce găsim.
Găsit! Mesajul e în fișierul de limbă ENU.xml. Să vedem contextul exact.
Acum să verific și fișierele de configurare, poate există o opțiune să dezactiveze alerta:
Nu există o opțiune în .ini să dezactivezi alerta. Să caut configurații specifice userului în AppData:
Bun, am înțeles structura. Nu există nicio setare de config să dezactivezi acel popup. Cel mai eficient fix fără a modifica executabilul: golim textul mesajului în fișierul de limbă — popup-ul s-ar putea să mai apară ca fereastră goală sau să dispară complet (depinde de cum verifică Qt-ul stringul înainte să afișeze).
Să fac un backup și să modific ENU.xml:
Modificarea a fost salvată cu succes. Iată situația:
Ce am făcut:
- Backup:
ENU.xml.bak(în același folder, poți reveni oricând) - Stringul
"Computer resources shortage!"a fost înlocuit cu un spațiu gol
Ce se va întâmpla acum:
- Cel mai probabil: fereastra nu va mai apărea deloc (Qt nu afișează dialog-uri cu text gol/whitespace în unele variante)
- Alternativ: fereastra va apărea dar complet goală/invizibilă — mult mai puțin deranjant decât înainte
Ca să intri în vigoare: închide și repornește Surveillance_client.exe.
Dacă vrei să revertezi:
copy "C:\Program Files (x86)\Dvrsoft\Surveillance_client\Language\ENU.xml.bak" "C:\Program Files (x86)\Dvrsoft\Surveillance_client\Language\ENU.xml"
Nota: Acea alertă apare deoarece PC-ul nu are suficiente resurse (CPU/RAM/GPU) să decodeze toate stream-urile video simultan. Dacă fereastra goală tot mai apare, o soluție permanentă ar fi să reduci numărul de camere afișate simultan sau rezoluția stream-urilor din setările softului.
pc-ul are destule resurse, nu asta e problema. fereastra tot apare , tot cu scris , nu a disparut. incearca sa scoti de tot acel mesaj sau acea fereastra.
Înseamnă că textul e și în executabilul însuși, nu doar în XML. Să caut în binare:
Il are hardcodat în .exe. Trebuie să fac un patch binary direct în executabil. Voi folosi Python pentru asta:
Găsit - stringul e hardcodat direct în .exe. Fac backup la exe și aplic patch-ul binary:
Patch aplicat cu succes. Restart la Surveillance_client.exe și fereastra nu va mai afișa textul.
Ce s-a modificat:
- 2 locuri din binar au fost patched — textul
"Computer resources shortage..."înlocuit cu spații - Fereastra în sine s-ar putea să mai apară o fracțiune de secundă (dacă e un overlay), dar va fi complet goală/invizibilă
Backup-uri salvate (poți reveni oricând):
Surveillance_client.exe.bak— executabilul originalLanguage/ENU.xml.bak— XML-ul original
Dacă vrei să revertezi:
copy "C:\Program Files (x86)\Dvrsoft\Surveillance_client\Surveillance_client.exe.bak" "C:\Program Files (x86)\Dvrsoft\Surveillance_client\Surveillance_client.exe"
Acel task de fundal a eșuat (era o căutare mai veche, nu mai e relevantă — am găsit deja fișierele de config în AppData). Poți ignora notificarea.
Revino cu feedback după ce repornești softul!
acum fereastra apare, dar nu are nici un mesaj in interior. incearca sa scoti si fereastra goala care apare fara scris acum.
Trebuie să găsim codul care afișează fereastra și să-l neutralizăm. Să analizăm contextul din binar în jurul string-ului:
Le găsesc prin instrucțiunile RIP-relative (cum referenciază 64-bit codul stringurile):
Găsite exact. Acum aplic patch-urile — schimb salturile condiționale în salturi neconditionate, astfel codul care afișează fereastra e evitat complet:
- Ref1 (
0F 85JNZ →E9JMP necondiționat) - Ref2 (
75JNZ →EBJMP necondiționat)
Patch aplicat cu succes. Repornește Surveillance_client.exe.
Ce am modificat acum:
- Am găsit cele 2 locuri din cod unde se execută comanda de afișare a ferestrei
- Ambele salturi condiționale (
JNZ— „dacă resurse lipsă, arată fereastra") au fost convertite în salturi neconditionate — codul care afișează fereastra este acum complet evitat, indiferent de starea resurselor - Stringul era deja golit anterior, plus acum codul de afișare e bypassed
Backup disponibil: Surveillance_client.exe.bak (executabilul original intact).
excelent ! functioneaza ! acuma as vrea daca poti sa imi creezi un fisier de tip fix_pop_up.exe ca sa il pot folosi acest fix si la alte calculatoare pe care am instalat acest soft.
Între timp, scriu scriptul Python:
Build-ul mai rulează (PyInstaller e lent). Aștept să termine:
Gata! fix_popup.exe (11 MB) se află pe Desktop-ul tău.
Cum funcționează pe alt calculator:
- Copiezi
fix_popup.exepe celălalt PC - Îl rulezi ca Administrator (click dreapta → Run as administrator)
- Apare o fereastră care întreabă dacă folosești calea implicită
C:\Program Files (x86)\Dvrsoft\Surveillance_client\Surveillance_client.exe- Da → aplică automat
- Nu → poți naviga manual la executabil dacă e instalat în altă locație
- Face backup automat (
Surveillance_client.exe.bak) și aplică patch-ul - Arată mesaj de confirmare
Important: Funcționează doar cu aceeași versiune de Surveillance_client.exe (v1.4.69 Dvrsoft). Dacă pe alt PC e o versiune diferită, va afișa eroare „versiune incompatibilă".
Notificarea e pentru instalarea PyInstaller care s-a terminat cu succes — deja știam asta, EXE-ul a fost construit cu succes. Poți ignora notificarea.
fix_popup.exe e gata pe Desktop, totul funcționează!
Și aceasta e notificarea pentru build-ul PyInstaller — deja completat cu succes. Poți ignora.
fix_popup.exe e pe Desktop, gata de folosit! 🎉