Laden...
Avatar #avatar-3305.jpg
Maximilian myCSharp.de - Member
Angehender Fi/AE im dicken B oben an der Spree Dabei seit 05.11.2007 238 Beiträge
Benutzerbeschreibung

Forenbeiträge von Maximilian Ingesamt 238 Beiträge

02.09.2009 - 18:27 Uhr

Wie soll das funktionieren mit dem Schlüssel austauschen? StrongName entfernen ist mir bekannt, dass es da einige Tools gibt. Nun, sofern ich mich nicht komplett täusche benötigt man ja zum Verifizieren einer Signatur den öffentlichen Teil des RSA Schlüssels. Dieser muss ja auch irgendwo in deinem Assembly als Klartext vorliegen und eben diesen könnte man umpatchen.

Cheerio

01.09.2009 - 09:14 Uhr

Hallo Lion1984,
ich glaube viel mehr das dieses Tool nur eine Art Prüfsumme generieren soll, die dann der Client zum Programmierer schickt und der ihm anhand dieser Daten eine signierte Lizenz bastelt und zurückschickt. So würde das für mich mehr Sinn machen, kann auch sein das ich daneben liege 😃

Hallo RickJamesZs,

Wie/Wo würde man ansetzen wenn man sowas knacken wollen würde? Habe da leider nicht wirklich eine Idee, außer versuchen die dll zu tauschen und gegen eine eigene zu ersetzen. Aber das wird doch durch den Strong Name verhindert, oder nicht? Verlass dich nich zu sehr auf den Schutz durch die Signatur des StrongNameKey, diese kann mit Zahlreichen Werkzeugen relativ einfach wieder aus dem Assembly entfernt werden.
Prinzipiell ist die Lizenzierung mittels RSA (also Private- und PublicKey) eine sichere Sache, aber auch nicht unknackbar. Man könnte z.B. den öffentlichen Schlüssel in deiner Anwendung austauschen und sich danach einfach eigene Lizenzen generieren, oder man umgeht direkt die komplette Überprüfung in dem man das Assembly manipuliert.
Du solltest dir aber überlegen in wie weit du den Anwender mit der Aktivierung gängeln möchtest. Denn das wirkt auch oft eher Störend als das es Nutzt. Und was ist wenn der Anwender in 10 Jahren seine Hardware wechselt du aber nicht mehr zu erreichen bist? Dann sitzt dieser vor dem Lizenzdialog und wartet vergeblich auf seinen Aktivierungscode.
Alles dinge die man bedenken sollte 😃

Cheerio

10.08.2009 - 17:03 Uhr

Hi,
schau dir mal das Exited-Event der Processklasse an. [edit]Auch dran denken dafür die Eigenschaft EnableRaisingEvents auf true zu setzen 😃[/edit]

Btw.: [Tipp] Anfängerfehler == true / == false

Cheerio

02.08.2009 - 15:45 Uhr

Hallo,
gern genommen habe ich immer InnoSetup (+ ISTool) oder NSIS.
Zur Zeit nutze ich den AdvancedInstaller zum Erstellen von MSI-Paketen. Den gibts in einer eingeschränkten Version auch kostenlos, aber zum einfachen verteilen reichts.

Cheerio

02.08.2009 - 15:37 Uhr

Hallo,
du musst schon von einem ContainerControl ableiten. Ansonsten gehts imho ohne gefrickel im Designer nicht.
Wenn du nicht vom Panel erben willst nimmste direkt das Basiscontrol für alle Container:
Container Control

Cheerio

28.07.2009 - 22:21 Uhr

Hallo,
mein Laptop wo auch schon seit einiger Zeit ziemlich flott Windows 7 drauf läuft:

😃

23.07.2009 - 21:56 Uhr

Hi,
Environment.SpecialFolder ist nur die Enumeration der verfügbaren Pfadvariablen. An den eigentlich Pfad kommst du so:

folderBrowserDialog1.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

Cheerio

Edit: Args, zu spät 😃

23.06.2009 - 14:53 Uhr

Hi,
afaik muss beim Request noch der Dateiname hinten ran:

request = (FtpWebRequest)WebRequest.Create("ftp://ftp.test.de/Testfile.txt");
05.02.2009 - 10:55 Uhr

Hi,
Alternativ könntest du auch das FileVersionInfo-Objekt aus dem System.Diagnostics Namespace verwenden. Das kann auch den Produktnamen, Copyright, etc. ausgeben:

System.Diagnostics.FileVersionInfo fi = System.Diagnostics.FileVersionInfo.GetVersionInfo(Application.ExecutablePath);
Console.WriteLine(fi.ProductName);
02.02.2009 - 16:11 Uhr

der reflector ist nciht geschützt. er hat nur eingebaut, das man sein tool nciht mit seinem tool öffnen kann 😃 Und warum hat er dann in seinen Eigenschaften ein Dotfuscator-Attribute?:
[assembly: Dotfuscator("65496:1:4.0.2579.17871")]

😉

[edit]War übrigens schon vor der Übernahme durch Rad Gate so[/edit]

29.01.2009 - 09:38 Uhr

Zum Authentifizieren werden doch die Credentials angegeben:

client.Credentials =new NetworkCredential("user@somecompany.com", "password");

Hat bei mir immer so wunderbar mit dem Versenden geklappt oder steh ich aufm Schlauch?

29.01.2009 - 08:43 Uhr

Huhu,
ist Pop3 denn nicht ausschließlich zum empfangen von eMails gedacht? Währe mir neu wenn man darüber auch senden könnte... 🤔

27.01.2009 - 09:42 Uhr

Hi kaepten,
Ich habe immer die Vista Designguidelines in meinen Lesenzeichen. Ist relativ gut erklärt wie man etwas macht und wie besser nicht.
Hoffe das hilft, Gruß Max 😃

27.01.2009 - 08:54 Uhr

Hi Khalid,
die Versionsnummer ist 8.00.6001.18372 (longhorn_ie8_rc1(wmbla).090115-0053).
Gruß Max

26.01.2009 - 14:04 Uhr

Hehe, hab ich mir gemoppst 😃 Sieht aber auch verdammt gut aus 😃

26.01.2009 - 13:40 Uhr

@DonMaxo: Hey Meistar igg find dett nich... bei mir iss nix mit manifestDatei...irgendwie...hmm (siehe Shot) Komisch, nutzt du noch das VS 2005 oder eine Expressversion? Bei mir im VS 2008 Standard gibts den Eintrag definitiv.

Wenns immernoch nicht klappt kannste dir ja mal diesen CodeClip hier anschauen:
https://www.microsoft.com/germany/msdn/connection/getreadyforvista/codeclips/AnwendungenMitManifestDateienFuerUACMarkieren.mspx
Dort wird beschrieben wie man Anwendungen ein Manifest über das PostBuild-Event* hinzufügt. Du musst nur dran denken in der Manifestdatei das "requireAdministrator" durch "asInvoker" zu ersetzen.

*: Kann sein, dass es das PostBuildEvent ebenfalls nicht in den Expressversionen gibt, in diesem Fall kann man das aber über eine *.bat Datei oder direkt über die Console erledigen.

Ich halte das generell auch für eine schlechte Lösung am Namen oder Beschreibung der Anwendung auszumachen, ob das Programm Administratorrechte benötigt. Aber mir fiele keine andere Möglichkeit ein, solche Anwendungen zu erkennen, und wenn man komplett drauf verzichtet hätte wäre das gejammere über Anwendungen die sich nicht Installieren/Updaten lassen jetzt noch größer.

26.01.2009 - 11:45 Uhr

Meiner 😃

26.01.2009 - 11:39 Uhr

Hi Howard,
Wähle mal im Projektmappenexplorer dein Projekt aus, dann Rechtsklick auf den Namen -> Hinzufügen -> Neues Element. Dort unter Visual C# Elemente "Anwendungsmanifestdatei" auswählen und auf hinzufügen klicken.
An der Manifestdatei musst du dann nichts mehr ändern. Ein neues Erstellen des Projektes sollte dann ausreichen damit der UAC Abfrage nicht mehr erscheint.

Gruß, DonMaxo

24.01.2009 - 15:18 Uhr

Programme mit derartigen Dateinamen brauchen nun einmal zu 99% Adminrechte. Und die restlichen 1% können eine Manifestdatei in das Programm einbetten die Window sagt, dass das Programm ohne UAC-Prompt gestartet werden soll (sprich "asInvoker") 😃

14.11.2008 - 13:02 Uhr

Hey,
Ich glaube er meint nicht das andere Projekt als Refferenz, sondern wirklich nur eine Verknüpfung zu einer Klasse aus einem anderen Projekt.
Dafür Klickst du im Projektmappenexplorer auf dein Projekt mit der rechten Maustaste und wählst dann Hinzufügen -> Vorhandenes Element hinzufügen. In dem Auswahldialog wählst du nun deine Klasse aus und klickst auf den kleinen schwarzen Pfeil neben dem Hinzufügen-Button. In dem erscheinenden Menu einfach "Als Link hinzufügen" und fertig 🙂

Beste Grüße, Max

02.11.2008 - 09:17 Uhr

Hi Akula,
wenn du damit das Symbol der Datei meinst geht das ohne Probleme:

[...].Image = System.Drawing.Icon.ExtractAssociatedIcon(@"C:\MeineExe.exe").ToBitmap();

Gruß, Max

30.10.2008 - 22:53 Uhr

Hallo karim_mailt,
schau dir doch mal das Event DownloadFileCompleted vom WebClient an, damit wird dir ohne Schleife verraten wann der Download fertig ist.

Gruß, Max

26.10.2008 - 22:35 Uhr

Hi,
Mach mal im Projektmappenexplorer einen Rechtsklick auf dein Projekt und dann Hinzufügen -> Neues Element. Dort unter Visual C# Elemente "Anwendungsmanifestdatei" auswählen und auf hinzufügen klicken.
Dann änderste die Zeile:

<requestedExecutionLevel level="asInvoker" uiAccess="false" />

in

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

Dann noch speichern und das wars 🙂

Beste Grüße, Max

14.10.2008 - 12:41 Uhr

Sehr bekannt ist Paint.Net. Ist bis auf den Installer und die Shellerweiterung komplett in C# geschrieben 🙂

CDBurnerXP ist auch in .Net geschrieben, allerdings weiß ich nicht ob in VB.Net oder C#.

Beste Grüße, Max

01.10.2008 - 12:52 Uhr

Hallo ujr,
Bei mir kommt der gleiche Hashwert raus (73FBF70878035F7C6F71EDA116EFF815). Scheint also zu stimmen 🙂

Gruß, Max

29.09.2008 - 16:17 Uhr

Naja, man sollte nicht zuviel in diese Screenshots reininterpretieren. Die ersten Builds von Windows Longhorn damals sahen auch ganz anders aus als das Resultat 😉

Das Microsoft die Oberflächen vom Paint und Wordpad (vom nem Notepad seh ich nichts) aufgemöbelt haben find ich gut.

16.09.2008 - 09:12 Uhr

Hi Golo,
Ein bekannter von mir nutzt seit einiger Zeit umbraco als CMS und ist ziemlich zufrieden damit.
Kannst es dir ja mal anschauen, evtl. passts ja zu deinen Anforderungen 🙂

13.09.2008 - 08:54 Uhr

Hi,
nettes Programm 🙂 Allerdings wäre es vielleicht sinnvoll im Anwendungsmanifest den requestedExecutionLevel von asInvoker auf requireAdministrator zu setzen da man für alle Operationen die dein Programm durchführt Administratorrechte benötigt (jedenfalls wenn die Benutzerkontensteuerung aktiviert ist).

MfG
DonMaxo

13.09.2008 - 08:45 Uhr

Hi,
Hat zwar nichts mit Compilereinstellungen zu tun, aber mit ILMerge kann man auch mehrere Assemblies in eines mergen.

Beste grüße

21.06.2008 - 23:29 Uhr

Och naja, wirklich gut hat Deutschland erst gegen Portugal gespielt (obwohl, das Spiel gegen Polen war auch nicht schlecht). Aber Favorit ist Deutschland jedenfalls bei mir erst nach dem letzten Spiel geworden.
Bei den Interessanten Ergebnissen würde ich mich nich wundern wenn morgen Italien auch noch rausfliegt 🙂

21.06.2008 - 23:16 Uhr

Huch? Wer hätte das gedacht, die Niederlande sind raus.
Gut das ich für Deutschland gestimmt habe 🙂

07.06.2008 - 10:09 Uhr

Hi,
was sollte jemanden hindern den Code von dem Decrypter auszulesen und dann die verschlüsselten Resourcen wieder zu entschlüsseln?
Also entweder ich hab dich da falsch verstanden oder du hast ein Denkfehler in deinem Konzept 🙂

Gruß Max

13.04.2008 - 17:24 Uhr

Also die letzte Mail habe ich am 18.03. geschickt, und eine Antwort habe ich noch nicht bekommen. War einmal eine Lizenzierungsfrage und eine kleines Problemchen. Schon recht komisch -.-

Und das Kalleberlin einfach so die Strings auslesen konnte fand ich auch sehr beeindruckend bzw. erschreckend. Hätte ich nicht gedacht. Aber eine Antwort von Kalleberlin bezüglich der Sicherheit im Library-Mode steht ja noch aus ....

Beste Grüße, Maximilian

13.04.2008 - 16:56 Uhr

leider sehr unbefriedigend. der hersteller hat immer noch keine lösung dafür, trotz mehrerer anfragen und detaillierter problembeschreibung.

Antworten die dir wenigstens?
Habe dort schon zwei Supportanfragen hingeschickt und nicht eine Antwort erhalten.

Beste Grüße, Max

12.04.2008 - 16:12 Uhr

Wer Passwörter etc. als Klartext in einer Anwendung deklariert ist selbst Schuld
Ich weiß bis heute nicht, wie man das bei einer Verbindung zu einer festgelegten Datenbank sonst machen soll...

Gut, dazu fällt mir momentan auch keine bessere Möglichkeit ein 🤔 Aber bei meiner Antwort dachte ich wirklich eher an Passwörter, Seriennummer etc. und nicht an ConnectionStrings 🙂

04.04.2008 - 15:47 Uhr

Wer Passwörter etc. als Klartext in einer Anwendung deklariert ist selbst Schuld, wenn diese dann zu Mißbrauchszwecken benutzt werden. Also ist die Stringverschlüsselung nicht sonderlich relevant.
Ein Obfuscator hat, wenn ich das Prinzip richtig verstanden habe, die primäre Aufgabe den Programmablauf für den Menschen schwer nachvollziehbar zu machen, dadurch werden Funktions- und Variablennamen durch einen Buchstaben- Zahlensalat ersetzt, was die Funktionalität des Programmes aber nicht einschränkt.
Der Dotfuscator kann in der Com.-Edition nur das Verschleiern der Funtionnamen und der Variablen, für alles andere wie Stringverschlüsselung etc. muss man Bezahlen 🙂

04.04.2008 - 15:31 Uhr

Das ich dir nich glaube, habe ich nicht gesagt. ich kann es mir nur schlecht Vorstellen, da der .Net Reactor genauso wie der Dotfuscator die Namen der Funktionen/Variablen durch ein Buchstaben- und Zahlenwirrwarr ersetzt, und wie man daraus irgendwas Sinnvolles herausbekommen kann ist mir schleierhaft.

04.04.2008 - 15:14 Uhr

@Kalleberlin:
Irgendwie kann ich nicht nachvollziehen, in wie weit du den Schutz des .Net Reactors umgangen hast. Ich möchte keine Anleitung o.ä., aber meinst du nun damit, dass du an das reine .Net Assembly gekommen bist? Denn der .Net Reactor verwurschtelt ja wie alle anderen Obfuscatoren den IL-Code, und das wirst du ja nicht wiederhergestellt haben ...