Register for your free account! | Forgot your password?

You last visited: Today at 06:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Source Code

Discussion on Source Code within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 2
Join Date: Dec 2012
Posts: 720
Received Thanks: 56
Source Code

Ich habe jetzt an einem Visual Basic Programm gearbeitet und habe dieses zum Test meinen Freund gesendet.
Er meinte er könne den Source Code ganz einfach ohne Probleme auslesen.

Jetzt die Frage:

Wie kann ich das verhindern?
.Saimo is offline  
Old 03/22/2014, 14:15   #2
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Obfuscator und oder Packer verwenden.
​Tension is offline  
Thanks
1 User
Old 03/22/2014, 15:35   #3

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
Den Source kann man ganz einfach aus _jedem_ Programm auslesen. Die Frage ist nur, zu welchem Grad. Bei interpreted (z.B. PHP, JS, Dart,...) und JIT compiled (z.B. VB, C#, Java,...) languages ist dies zu einem Grad möglich, an dem du sogar ganz einfach wieder eine High-Level Sprache raus bekommst. Bei compilierten Programmen (z.B. geschrieben in C, C++, Delphi,...) bekommt man meistens nur ASM zurück.
Selbst ein Obfuscator oder Packer kann daran nichts ändern, denn der Computer muss das Programm ja trotzdem lesen können. Was der Computer lesen kann, kann auch ein Mensch lesen.

Was bringt also ein Obfuscator?
Er baut den Quelltext so um, dass es sehr viel schwerer wird, den Sinn des Programmes zu verstehen (ohne die grundlegende Funktionsweise des Programmes zu ändern).
Ein Nebeneffekt ist meistens Performanceverlust.
Aber wie gesagt, mit herumprobieren lässt sich der Quellltext immer wieder herausfinden. Du kannst nur versuchen, es so schwer als möglich zu machen (so dass es einfacher ist, das Programm neu zu programmieren, als deinen Quelltext heraus zu finden).
Zudem gibt es zu den meisten Obfuscatoren in deiner Liga bereits De-Obfuscatoren, die den Obfuscation Prozess rückgängig machen können.
Gute Obfuscatoren kossten sehr viel Geld und es dauert meist nicht lange, bis ein Gegenprodukt entwickelt wurde (also musst du immer auf dem neusten Stand bleiben - wie bei allem im Computer Bereich)


Da du diese Frage hier stellst nehme ich aber sowieso an, dass dein Quelltext nicht genug Wert ist, um ihn zu obfuscaten, da er wahrscheinlich schneller neu geschrieben ist, als den .NETReflector o.ä. zu benutzen.
An deiner Stelle würde ich mir daher keine großen Gedanken darum machen.
Zudem verdient man heutzutage nicht mit Programmen Gelkd, sondern mit dem Support für die Programme (gerade weil es so einfach ist, sie zu cracken)
マルコ is offline  
Thanks
1 User
Old 03/22/2014, 17:27   #4
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462

Reicht für deine projekte aus denke ich mal
YatoDev is offline  
Thanks
1 User
Old 03/22/2014, 19:07   #5
 
elite*gold: 2
Join Date: Dec 2012
Posts: 720
Received Thanks: 56
Quote:
Originally Posted by マルコ View Post
Den Source kann man ganz einfach aus _jedem_ Programm auslesen. Die Frage ist nur, zu welchem Grad. Bei interpreted (z.B. PHP, JS, Dart,...) und JIT compiled (z.B. VB, C#, Java,...) languages ist dies zu einem Grad möglich, an dem du sogar ganz einfach wieder eine High-Level Sprache raus bekommst. Bei compilierten Programmen (z.B. geschrieben in C, C++, Delphi,...) bekommt man meistens nur ASM zurück.
Selbst ein Obfuscator oder Packer kann daran nichts ändern, denn der Computer muss das Programm ja trotzdem lesen können. Was der Computer lesen kann, kann auch ein Mensch lesen.

Was bringt also ein Obfuscator?
Er baut den Quelltext so um, dass es sehr viel schwerer wird, den Sinn des Programmes zu verstehen (ohne die grundlegende Funktionsweise des Programmes zu ändern).
Ein Nebeneffekt ist meistens Performanceverlust.
Aber wie gesagt, mit herumprobieren lässt sich der Quellltext immer wieder herausfinden. Du kannst nur versuchen, es so schwer als möglich zu machen (so dass es einfacher ist, das Programm neu zu programmieren, als deinen Quelltext heraus zu finden).
Zudem gibt es zu den meisten Obfuscatoren in deiner Liga bereits De-Obfuscatoren, die den Obfuscation Prozess rückgängig machen können.
Gute Obfuscatoren kossten sehr viel Geld und es dauert meist nicht lange, bis ein Gegenprodukt entwickelt wurde (also musst du immer auf dem neusten Stand bleiben - wie bei allem im Computer Bereich)


Da du diese Frage hier stellst nehme ich aber sowieso an, dass dein Quelltext nicht genug Wert ist, um ihn zu obfuscaten, da er wahrscheinlich schneller neu geschrieben ist, als den .NETReflector o.ä. zu benutzen.
An deiner Stelle würde ich mir daher keine großen Gedanken darum machen.
Zudem verdient man heutzutage nicht mit Programmen Gelkd, sondern mit dem Support für die Programme (gerade weil es so einfach ist, sie zu cracken)
Danke für diese ausführliche Erklärung.
Wie will der Computer aber wissen welche "Sprache" er benutzen muss damit er erkennt was dort steht :?

(Könnt sein das die Frage falsch ausgedrückt ist sorry (._.) )
.Saimo is offline  
Old 03/22/2014, 19:22   #6
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by .Saimo View Post
Danke für diese ausführliche Erklärung.
Wie will der Computer aber wissen welche "Sprache" er benutzen muss damit er erkennt was dort steht :?

(Könnt sein das die Frage falsch ausgedrückt ist sorry (._.) )
Dein VB.Net code wird in zwischen-code übersetzt den die .Net umgebung auf dem ziel computer ausführen kann. (deswegen muss der ziel pc auch .Net runtime installiert haben nicht so wie z.b. bei masm)
Der code ist aber leicht zurückübersetzbar.
C# und andere .Net sprachen müssen sich an gewisse regeln halten damit diese auch für die übersetzung kompatibel sind deswegen kannst bis auf paar aufnahmen c# .dll in vb oder anderen .Net programmen nutzen.

C# und VB.Net sind dann ganz grob gesehen das gleiche da nur der zwischencode so sein muss das die vm ihn ausführen kann

Bei wikipedia kann man das sehr ausführlich nachlesen
YatoDev is offline  
Thanks
1 User
Old 03/22/2014, 21:47   #7


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by .Saimo View Post
Danke für diese ausführliche Erklärung.
Wie will der Computer aber wissen welche "Sprache" er benutzen muss damit er erkennt was dort steht :?

(Könnt sein das die Frage falsch ausgedrückt ist sorry (._.) )
Weil er am Ende nur Maschinensprache vorgesetzt bekommt. Ein Computer versteht kein "print("test");" sondern nur Folgen von den Ziffern 1 und 0. Assembler ist die Interpretation der Maschinensprache die wir Menschen lesen können.

Heißt also, wenn du in einer Hochsprache schreibst und dann kompilierst, wird dein Code in Maschinensprache übersetzt, sodass der Computer damit klar kommt. Dazu muss er nicht wissen, in welcher Sprache das geschrieben wurde.
Mostey is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
[Source Code] Simple Injector Source Code ...
06/05/2013 - S4 League Hacks, Bots, Cheats & Exploits - 7 Replies
Hi there today i have found some source code for a simple injector and i want to share it with you :) translated to English ( I know It's nothing , but i want to do something ) :) Code here #RequireAdmin #include <GUIConstants.au3>



All times are GMT +1. The time now is 06:06.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.