Frage

Wir durch ein massives Migrationsprojekt in der Minute gehen und zu versuchen, den Code zu überprüfen, die auf die Live-Immobilien entfalten entspricht den Code, den wir in der Quellcodeverwaltung haben.

Offensichtlich ist der .net-Code ist einfach zu vergleichen, weil wir zerlegen können. Ich glaube nicht, dies in VB6 EXE-Dateien möglich ist, wegen der Art und Weise der Zusammenstellung.

Hat jemand eine Idee, wie ich den Quellcode validieren konnte und die kompilierte ausführbare Datei mit der Datei I Live habe.

Danke

War es hilfreich?

Lösung

Visual Basic hatte (hat) zwei Möglichkeiten zum Kompilieren, eine an den Interpreter (P-Code genannt), die in kleineren Binärdateien, und ein zweiter führen würde, die „normale“ Windows-EXE-Datei (genannt nativ), die erzeugt wurde eingeführt, weil es angeblich fastar als p-Code sein; obwohl die kompilierte Datei Größe mit dieser Option erhöht. Wenn Sie Ihre Zusammenstellung p-Code wurde, ist es theoretisch möglich, die Quellen wieder herzustellen.

So oder so ist ziemlich schwer zu tun, aber es gibt Werkzeuge, die sie behaupten, dies teilweise tun können, eine, die ich kenne (nie versucht, aber es gibt eine Testversion) ist VB-Decompiler http://www.vb-decompiler.org/

Andere Tipps

Leider ist das fast unmöglich. Beachten Sie, dass VB6-Code auf verschiedenen Rechnern kompiliert werden verschiedene exe Größen haben und Bereitstellungsanforderungen.

Dies ist, warum die alten VB'ers eine dedizierte Maschine hatte ihren Code zu kompilieren.

Dies wird nicht mit bereits eingesetzten Elementen helfen, aber wenn Sie die Versionsnummer auf jedem Kompilierung upped (es gibt eine Projekteinstellung dies automatisch für Sie tun), dann könnte man leicht Versionsnummern vergleichen.

Meine alte Firma kaufte eine Kopie dieser VB-Decompiler und wie erwähnt vor VB5 / 6 P-Code zusätzlich erzeugt, hat das Werkzeug einen Code erzeugen und wenn nicht Assembler-Code, die „gelesen“ werden können.

Wenn Sie den gesamten Code haben Sie zusammengestellt, könnten Sie die CRC vergleichen ist dieses Codes zu dem, was auf dem Gebiet eingesetzt wird. Aber wenn Sie nicht über die Original-kompilierten Code, je nachdem, wie Sie den Code kompiliert (wenn Sie P-Code verwendet, und nicht systemeigenen Code Sie können in der Lage sein, zu zerlegen, aber die Demontage wird nichts, wie Sie Ihren Quellcode anschauen). Ich bezweifle, dass Sie hätte den HVE des mit der exe ausgeliefert, aber wenn ja, man könnte sicherlich diejenigen verwenden, um mit dem Quellcode in Ihrem Repository zu vergleichen.

Haben Sie einen Computer vertraut, die die verschiedenen Bibliotheken und EXE-Dateien überprüfen können Sie sie automatisch zu machen und kompilieren. Halten Sie die in einem schreibgeschützten, aber zugänglichen Ort. Dann machen Sie einen binären Vergleich zwischen der entfalteten Website und Ihrem Vergleich.

Allerdings bin ich die von der Logik über Demontage der halten Einheiten nicht sicher. Meine Firma und die meisten anderen Orte, die ich kenne Verwendung einer Kombination aus einem Build-Computer und Unit-Tests. In unserer Gesellschaft ist die EXE wir machen eine sehr dünne Schale über eine Reihe von Bibliotheken. Zum Beispiel wird eine Schaltfläche klicken, um eine UI-Active-X-DLL übergeben werden, die die eigentliche Verarbeitung der Fall ist. Was wir tun, nachdem ein Build eine spezielle EXE ausgeführt wird, unsere Liste der Unit-Test durchzuführen. Wenn sie alle bestanden wissen wir unsere Bibliotheken, in denen 90% der Code ist, sind gut. Bei der eigentlichen EXE haben wir eine Hand Prozedur, die etwa zwei Stunden dauert zu tun, und dann sind wir gut. IIT ist selten für etwaige Fehler in der EXE-Datei geschehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top