Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   .NET-Sprachen (https://www.delphipraxis.net/82-net-sprachen/)
-   -   C# Mono-Anwendung analysieren (https://www.delphipraxis.net/199972-mono-anwendung-analysieren.html)

Lemmy 6. Mär 2019 21:23

Mono-Anwendung analysieren
 
Hallo,

ich weiß, ich bewege mich mit dieser Frage auf ziemlich dünnem Eis, nur weiß ich mir nicht mehr anders zu helfen.

Wir haben ein Zusatztool im Einsatz (bzw. sind dazu vertraglich verpflichtet). Das Tool ist eine Mono-Anwendung, die einen REST-Service bereit stellt, mit dem unsere Anwendung am Ende kommuniziert.

Bei einem Kunden habe ich das Problem, dass das Teil nicht läuft. Konkret heißt das, der Dienst startet zwar beim Windows-Start, beendet sich aber ohne weitere Log-Meldung nach 5-10 Minuten. Dito, wenn ich den Dienst manuell starte.

Der Port auf dem der Webserver eigentlich lauscht ist nicht blockiert bzw. habe auch schon andere Ports ausprobiert, keine Änderung. Auch nach dem Start des Dienstes ist der Port lt. netstat noch frei.

Nun mein Problem: Dem Hersteller ist das um es mal direkt zu sagen Sch**** egal. Software läuft bei x anderen problemlos, also liegts an der Installation.

Letzte Woche aber, der Zufall wollte es wohl, ist das selbe Problem auf einem unserer Rechner aufgetreten. Insofern gehe ich nicht mehr von einem Installationsproblem aus, sondern schon eher von einem Softwareproblem.


Meine Frage: Vom Hersteller erwarte ich aktuell keine Hilfe. Habe ich eine Chance eine (vermutlich obfuskatierte) Mono-Anwendung in irgend einer Form zusätzlich zu überwachen, ggf. in einem Debugmodus auszuführen um zusätzliche Informationen zu erhalten warum das Teil abschmiert?

Grüße


Nachtrag: Hardware vom Kunden: neuer Notebook, WIndows 10, aktuelle Patches eingespielt. Software lief da früher, ab Januar dann nicht mehr. Software wurde schon mehrfach deinstalliert, Reste gelöscht, neu gestartet installiert. Virenscanner, Firewall alles schon abgeschaltet...

TiGü 6. Mär 2019 21:42

AW: Mono-Anwendung analysieren
 
Sind Mono Anwendung soweit kompatibel, dass man sich den Quelltext mit ILSpy oder Telrik JustDecompile anschauen kann?
So dass du zumindest dir grob einen Überblick verschaffen kannst?

Lemmy 6. Mär 2019 21:59

AW: Mono-Anwendung analysieren
 
sorry, keinen blassen Schimmer. Werde ich mir morgen mal anschauen ob ich mit den beiden genannten Programmen was anfangen kann :-)

sh17 7. Mär 2019 07:27

AW: Mono-Anwendung analysieren
 
Stürzt das Teil auch ab, wenn man nicht mit ihm kommuniziert? Evtl. mal den HTTP-Traffic überwachen, vielleicht gibt es ja bestimmte Endpunkte, die das Problem verursachen

TiGü 7. Mär 2019 08:15

AW: Mono-Anwendung analysieren
 
Hier mal zwei kleine Videotutorials zu den beiden kostenlosen Tools:
https://www.youtube.com/watch?v=N_fy2pTdMAo
https://www.youtube.com/watch?v=zDQHL99MiKA

Ruhig dann auch in Kombination verwenden. Manche Sachen kann ILSpy besser als Telriks JustDecompile und umgekehrt. Cooles Feature von JustDecompile: Es kann unter den Menüpunkt Tools wieder ein CSPROJ erzeugen.
Das kompiliert zwar immer noch nicht sofort, aber man kann innerhalb von VS navigieren.

Ich suche mal gleich ein OpenSource-Projekt, was mit Mono entwickelt wurde und schaue mal, ob man das mit den Tools öffnen kann.

TiGü 7. Mär 2019 08:29

AW: Mono-Anwendung analysieren
 
Ja, das geht mit beiden Tools.
Habe ich hiermit getestet: http://sky-net.sourceforge.net/screenshots.php

Damit kannst du zumindest erahnen, wenn es halt nicht obfuscated ist, wie da die kritischen Pfade sind.
Mit den Tipp von sh17 solltest du der Sache relativ schnell auf der Spur kommen.

jsp 7. Mär 2019 09:07

AW: Mono-Anwendung analysieren
 
@TiGü

Kannte ich bis anhin nicht...
Danke dafür! Wird mir demnächst eine grosse Hilfe sein :-D

Jörn

Frickler 7. Mär 2019 10:05

AW: Mono-Anwendung analysieren
 
Zitat:

Zitat von Lemmy (Beitrag 1427129)
Nachtrag: Hardware vom Kunden: neuer Notebook, WIndows 10, aktuelle Patches eingespielt. Software lief da früher, ab Januar dann nicht mehr. Software wurde schon mehrfach deinstalliert, Reste gelöscht, neu gestartet installiert. Virenscanner, Firewall alles schon abgeschaltet...

Ab Januar nicht mehr? Eventuell wurde da Windows 10 1809 aufgespielt. Mal ne ältere Version probiert?

mjustin 7. Mär 2019 10:08

AW: Mono-Anwendung analysieren
 
Wollte nur das hier vorschlagen:


https://docs.microsoft.com/en-us/sys...nloads/procmon


Vielleicht hat das Programm einfach nur Probleme aufgrund fehlender Rechte.
In den Windows Ereignisanzeige(n) sind keine Absturzmeldungen zu sehen?

So ein Zufall: Ghidra: NSA stellt quelloffenes Software-Analyse-Tool vor

Bernhard Geyer 7. Mär 2019 14:11

AW: Mono-Anwendung analysieren
 
Zitat:

Zitat von Lemmy (Beitrag 1427129)
Wir haben ein Zusatztool im Einsatz (bzw. sind dazu vertraglich verpflichtet) .....

...

Bei einem Kunden habe ich das Problem, dass das Teil nicht läuft. Konkret heißt das, der Dienst startet zwar beim Windows-Start, beendet sich aber ohne weitere Log-Meldung nach 5-10 Minuten. Dito, wenn ich den Dienst manuell starte.

...

Meine Frage: Vom Hersteller erwarte ich aktuell keine Hilfe.

Hast du das schon intern eskaliert?
Es kann ja nicht sein das ihr etwas einsetzen müsste und keine Hilfe bekommt.
Wie du es schilterst hast du ja alles gemacht was man ohne Quellcode oder tiefes Wissen über die Anwendung machen kann.

Dalai 7. Mär 2019 14:26

AW: Mono-Anwendung analysieren
 
Kann man das Tool als Nutzer starten (statt als Dienst)? Wenn ja, bekommt man so vielleicht mehr Informationen zum Problem, z.B. einen Crashdump oder ähnliches. In jedem Fall aber ist so eine Analyse mit Process Monitor & Co. möglich.

Grüße
Dalai

jobo 7. Mär 2019 15:20

AW: Mono-Anwendung analysieren
 
Zitat:

Zitat von Frickler (Beitrag 1427176)
Ab Januar nicht mehr? Eventuell wurde da Windows 10 1809 aufgespielt. Mal ne ältere Version probiert?

In die Richtung würde ich auch suchen, also mit älteren Systemen / Installationen ohne Updates testen.

Lemmy 7. Mär 2019 15:22

AW: Mono-Anwendung analysieren
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1427213)
Hast du das schon intern eskaliert?
Es kann ja nicht sein das ihr etwas einsetzen müsste und keine Hilfe bekommt.
Wie du es schilterst hast du ja alles gemacht was man ohne Quellcode oder tiefes Wissen über die Anwendung machen kann.

da musste ich erst mal lachen.. sorry.

Das ist wieder mal eine der ganz tollen Konstruktionen, wie sich Geldscheffler aus der Verantwortung stehlen:

hier sind wir-----> Da unsere Kunden
|
|
|
(Mit der Firma haben wir einen Vertrag) und unsere Kunden haben auch mit denen einen Vertrag
|
|
|
|
und hier unten sitzt der Tool Hersteller


Was ich darf: Den Tool-Hersteller um Hilfe bitten. In einer der letzten Emails, in denen ich wiederholt darum bat, dass sich ein Entwickler von denen sich das anschaut oder alternativ eine handvoll Log-Ausgaben einbaut um den Fehler einzukreisen, wurde mir mitgeteilt, dass ich bitte Verständnis dafür aufbringen soll, dass die Software bei x-Tausend anderen läuft und die Entwickler dafür eigentlich auch keine Zeit haben.

Bevor ich anfange fremde Software zu decompilieren werden ich mir erst das Ok aus der Geschäftsführung holen. Aber da habe ich schon vor 2 Wochen angefragt welche rechtlichen Möglichkeiten wir haben zusätzlich Druck aufzubauen.

Fakt ist aber auch: Die Kundin kann seit Januar ihre Leistungen nicht dokumentieren und das bittere: Sie lehnt aktuell auch Patienten ab :( Ich kann nicht mehr Wochen oder Monate auf eine Lösung hoffen.


zu den Fragen:
* Netzwerkverkehr überwachen: Wie ich oben geschrieben habe, ist der Dienst nicht ansprechbar, d.h. kann da auch nix überwachen. Der Dienst sollte auf einen bestimmten Port ansprechbar sein, der ist aber auch nach dem Start des Dienstes auf dem Rechner der Kundin definitiv nicht "belegt" (netstat)
* das Dienstprogramm lässt sich nicht "normal" starten.
* Procmon wäre noch ne Idee. Danke.
* Meldungen in Ereignisanzeige: Ja beim Absturz. Lt. Hersteller aber lediglich die "Meldung" dass sich der Dienst beendet, d.h. keine weitere Hilfe.
* Windows-Update: hmm. müsste ich mal prüfen. Ich habe noch die 1803 bei mir. Wobei eine der "Bedingungen" war, dass ich prüfe ob das Windows auf dem aktuellen Stand ist... Ok, das muss nichts heißen :-)


so, ich hoffe ich habe niemanden vergessen.
Ausprobiert habe ich noch nix. Muss morgen erst mal ne Linux-VM beim Kunden aufspielen, damit sie endlich weiter arbeiten kann - zum Glück hat die vmware schon auf dem Rechner...

Danke für die Tipps!

4dk2 31. Jan 2020 10:40

AW: Mono-Anwendung analysieren
 
Zitat:

Zitat von TiGü (Beitrag 1427160)
Hier mal zwei kleine Videotutorials zu den beiden kostenlosen Tools:
https://www.youtube.com/watch?v=N_fy2pTdMAo
https://www.youtube.com/watch?v=zDQHL99MiKA

Ruhig dann auch in Kombination verwenden. Manche Sachen kann ILSpy besser als Telriks JustDecompile und umgekehrt. Cooles Feature von JustDecompile: Es kann unter den Menüpunkt Tools wieder ein CSPROJ erzeugen.
Das kompiliert zwar immer noch nicht sofort, aber man kann innerhalb von VS navigieren.

Ich suche mal gleich ein OpenSource-Projekt, was mit Mono entwickelt wurde und schaue mal, ob man das mit den Tools öffnen kann.

ILSpy kann das auch mit CSPROJ.
du kannst komplette Anwendungen damit als Projekt aus der Assembly/exe ziehen.(inklusive forms...)
hab das schonmal gemacht :stupid:

TiGü 31. Jan 2020 11:51

AW: Mono-Anwendung analysieren
 
Zitat:

Zitat von 4dk2 (Beitrag 1456413)
ILSpy kann das auch mit CSPROJ.
du kannst komplette Anwendungen damit als Projekt aus der Assembly/exe ziehen.(inklusive forms...)
hab das schonmal gemacht :stupid:

Aha, unter File -> "Save Code..."
Ist mir vorher noch nicht aufgefallen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz