Programm mit PB Programm "mergen"?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Programm mit PB Programm "mergen"?

Beitrag von pvmichael »

Hallo!

ich möchte ein universelles Programm schreiben, welches einen Passwortschutz für ausführbare Dateien (.exe) realisieren soll. Ich stelle mir das so vor, dass man ein Programm auswählt, das Passwort eingibt, und dann wird ein Produkt daraus erzeugt, bei dem zuerst mein PB Programm gestartet wird, was das Passwort abfragt und dann, sofern das Passwort korrekt ist, das Orginalprogramm ausführt. D.h. ich möchte in einer .exe zwei haben, wobei zu erst das eine, und dann evtl. das andere ausgeführt wird.

Hat jemand einen Tipp für mich, wie ich das am cleversten umsetzen kann?

Viele Grüsse

Michael
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Soll das ne art passwortgeschützter installer werden?

Dann machs doch so, dass du die exe, die gestartet werden soll, nach einem bestimmten Algorithmus zerschneidest und in bestimmter Reihenfolge includest, je nach dem, wie das passwort ist.

wenn der User dann das Passwort richtig eingibt einfach eine exe erstellen und die Datenstücke richtig zusammenfügen, speichern und dann runprogramm.
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

Franky hat geschrieben:Soll das ne art passwortgeschützter installer werden?
Jein, es soll ein Programm passwortgeschützt werden, damit es niemand unberechtigtes starten kann.
Franky hat geschrieben: Dann machs doch so, dass du die exe, die gestartet werden soll, nach einem bestimmten Algorithmus zerschneidest und in bestimmter Reihenfolge includest, je nach dem, wie das passwort ist.

wenn der User dann das Passwort richtig eingibt einfach eine exe erstellen und die Datenstücke richtig zusammenfügen, speichern und dann runprogramm.
D.h. das Programm wäre dann in einer Form auf der Festplatte, bei der ein Starten ohne Passwort möglich wäre. Das ist was ich nicht möchte.

Aber schonmal danke für Deine Antwort.

Viele Grüsse

Michael
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

Programm verschlüssel und bei bedarf in Temp-Ordner entpacken, starten und löschen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

GPI hat geschrieben:Programm verschlüssel und bei bedarf in Temp-Ordner entpacken, starten und löschen.
So lange es gestartet ist kann man es nicht löschen, und dann kann das Programm während der Laufzeit kopiert werden...
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Du kannst natürlich auch die EXE irgendwie direkt in den Speicher entpacken (irgendwie muss dass gehen, UPX macht das auch, ist aber wohl nicht einfach (so eine ähnliche Anfrage (ohne Ergebnis) gabs hier schonmal von jemandem, der eine DLL direkt in den Speicher laden wollte, ohne auf die Festplatte zwischenzuspeichern - da muss man irgendwas mit PE-Headern und Funktionsadressen oder so machen (keine Ahnung, ich... blubb), war die Antwort von irgendwem, aber ohne Beispiel.)

(oje, zwei Bier, und schon schrauben sich meine Gedanken gleichzeitig durch den Wind :freak: )

Dann bleibt als einzige Möglichkeit für den 'Raubkopierer', den Speicher Deiner Anwendung zu kopieren (es gibt Software, die das macht).

100% Kopierschutz gibt's nicht.
!UD2
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

Froggerprogger hat geschrieben: 100% Kopierschutz gibt's nicht.
Ok, überredet ;)

Und wie bekomme ich mein Passwortabfrageundprüfpurebasicprogramm mit einem X-beliebigen anderen Programm gemergt?
Dristar
Beiträge: 72
Registriert: 13.09.2004 12:46

Beitrag von Dristar »

Am besten machst du das mit einem loader !!!!
Du codierst den code Block der exe und der Loader lädt die exe
ein und startet Sie aber noch nicht .Dann decodierst du die exe und startest das programm..... so machen das die Cracker :) (patch loader)

Loader code

Code: Alles auswählen

Procedure.l RunProgramEx(Filename.s,Parameter.s,Directory.s,ShowFlag.l)
   Global dwProcessId
   Global dwThreadId
   Global hThread
   Global hProcess
   Global ProcessInfo.PROCESS_INFORMATION
    Info.STARTUPINFO : Info\cb=SizeOf(STARTUPINFO) : Info\dwFlags=1
    Info\wShowWindow=ShowFlag   
    ProcessPriority=#CREATE_SUSPENDED
              
     If CreateProcess_(@Filename,@Parameter,0,0,0,ProcessPriority,0,@Directory,@Info,@ProcessInfo)
      dwProcessId = ProcessInfo\dwProcessId
      dwThreadId  = ProcessInfo\dwThreadId
      hThread     = ProcessInfo\hThread
      hProcess    = ProcessInfo\hProcess
     EndIf      
    ProcedureReturn
EndProcedure
Wichtig ist das #CREATE_SUSPENDED flag das ,dass Programm zwar einlädt aber noch nicht startet.Gestartet wird das Programm mit

ResumeThread_(hThread)



ich hoffe du kanst es gebrauchen ?
ps:Ich kann dir auch den ganzen Loader code geben , bloss nicht hier :( (e-mail)

mfg Dristar
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

Dristar hat geschrieben:Am besten machst du das mit einem loader !!!!
Du codierst den code Block der exe und der Loader lädt die exe
ein und startet Sie aber noch nicht .Dann decodierst du die exe und startest das programm..... so machen das die Cracker :) (patch loader)
...
ich hoffe du kanst es gebrauchen ?
Muß ich mir das mit dem Loader so vorstellen?

Es gibt die loader.exe und die xyz.exe, die xyz.exe ist so nicht lauffähig, erst duch starten der loader.exe wird die xyz.exe lauffähig, indem sie vom loader.exe aus gestartet wird? kann man loader.exe und xyz.exe zu einer .exe verwursten? :-)
Dristar
Beiträge: 72
Registriert: 13.09.2004 12:46

Beitrag von Dristar »

@pvmichael

genau :) so habe ich das gemeint.

"kann man loader.exe und xyz.exe zu einer .exe verwursten? "

ja geht schon.Ich selber habe es nur mit ASM und der Delta Offset berechnung hinbekommen.Besser wäre es aber wenn mann die CreateProcess api zerlegt und so umschreibt das die API nicht von Festplatte lädt sondern aus dem Speicher herraus das Progamm startet.
Helfen kann ich dir dabei nicht , keine Ahnung wie das geht.
Ich breuchte Progamm die das machen.Dann kann ich mir das mit dem Debugger ansehen.

Wenn du da was neues hast schreib mir doch bitte (Das ist genau das was mich interessiert)

mfg Dristar
Antworten