Hi @all, wo soll man anfangen?

Hi @all, finde das Board super und bewundere Euch alle ^^
Naja wollt auch mal anfangen etwas zu Lernen, damals noch über Delphi 6. Nur leider fand ich keine guten Tutorials. So, ma ne Frage. Was meint ihr, kann man über Tutorials anfangen zu Programmieren/Cracken? Wollte ma ne Art Lehrgang machen aber die VHS bot sowas nich an. Wie steigt man am besten in sowas ein? Wollte auch ma mit Assembler anfangen, weil ein Kollege das recht gut konnte und ich auf etwas Hilfe hoffte, aber leider hatte er nie lust dazu. Alles was ich im moment verstehe ist Binärcode und Hex-code. So nun würd mich auch interessieren welche Programmiersprache denn am sinnvollsten ist ^^
Hab nicht vor gleich Riesenprojekte zu starten. Doch ein kleiner Einblick hinter die Fassade würde mich schon freuen. Achso wenn die Tuts englisch sind nicht schlimm, muss das sowieso ma wieder auffrischen^^
Also freue mich auf eure Antworten.
P.S: Bitte kein flame, will kein Streit ok???
PPS: Danke im voraus ^^

Grüße Marc
 
RE: Hi @all, wo soll man anfangen ^^

Hallo,
Original von Gravity18m
Wollte ma ne Art Lehrgang machen aber die VHS bot sowas nich an
Stell ich mir lustig vor, wenn die VHS einen 'Hacker/Cracker von Anfang an'-Kurs anbieten würde...

aber leider hatte er nie lust dazu.
Ich kann deinen Kollegen verstehen

Wollte auch ma mit Assembler anfangen
Genau die falsche Wahl am Anfang. Nimm lieber eine Hochsprache wie z.B, C, C++, C# oder Java.

Und natürlich kann man Programmiersprachen über Tutorials lernen, es gibt sehr viele, sehr gute Tuts oder OpenBooks, z.B. C von A bis Z gibts als OpenBook.

Aber google sollte dir weiterhelfen, oder
Die besten Tutorials aller Zeiten
 
Lernen selber Cracks zu erstellen
Assembler-Fragen
Und Crackme-FAQ
Sinnvoll wäre es,imho, zuerst eine Programmiersprache zu erlernen, um zu wissen, wie die Grundstruktur eines Programms ausschaut. Erst dann sollte man versuchen "die andere Seite" zu betrachten - so kann man die neuen Erkenntnisse mit vorhandenem Wissen verknüpfen. Und es ist immer ganz nützlich, die Schnittstellen des OS/der Standardbibliotheken zu kennen (bei Windows eben WinAPI), da diese von den meisten Programmen genutzt werden. So kann man sich im Disassembler/Debugger an den Aufrufen dieser Schnittstellen orienetieren, um sich schnell einen groben Überblick zu verschaffen, was bestimmte Codebereiche machen.
 
Original von CDW
Lernen selber Cracks zu erstellen
Assembler-Fragen
Und Crackme-FAQ
Sinnvoll wäre es,imho, zuerst eine Programmiersprache zu erlernen, um zu wissen, wie die Grundstruktur eines Programms ausschaut. Erst dann sollte man versuchen "die andere Seite" zu betrachten - so kann man die neuen Erkenntnisse mit vorhandenem Wissen verknüpfen. Und es ist immer ganz nützlich, die Schnittstellen des OS/der Standardbibliotheken zu kennen (bei Windows eben WinAPI), da diese von den meisten Programmen genutzt werden. So kann man sich im Disassembler/Debugger an den Aufrufen dieser Schnittstellen orienetieren, um sich schnell einen groben Überblick zu verschaffen, was bestimmte Codebereiche machen.

Hallo CDW,
zu deiner Aussage hätte ich gerne eine Empfehlung

Ich stehe noch ganz am Anfang des Programmierens und weiß im Moment noch nicht welche Sprache ich zu erst lernen soll.
Habe mir aber schon Lektüre über C, C++ und Assembler besorgt ( also eine von den dreien soll es sein, Gedacht habe ich mir 1.Assembler; 2.C ; 3.C++ )
Beruflich glaube ich kann ich Assembler sehr gut gebrauchen, warum ?
Elektronik, Arbeiten an Antriebstechnik, Frequenzumrichter, Mikroprozessoren und Bustechnik.
So wie du schreibst, soll es leichter sein erst eine Hochsprache zu lernen um die Grundstruktur kennen zu lernen. Macht es da Sinn erst C zu lernen und dann Assembler?
Habe jetzt schon mit Assembler angefangen zu lesen, bin zwar erst auf Seite 50 an den Registern vorbei, aber das war für mich schon heftig. Dachte der Computer hat nur Festplatte, Motherboard, Monitor und Tastatur

Danke für event. Antworten
Thomas
 
So wie du schreibst, soll es leichter sein erst eine Hochsprache zu lernen um die Grundstruktur kennen zu lernen. Macht es da Sinn erst C zu lernen und dann Assembler?
Nunja, das war nur meine Meinung ;). Allerdings erinnere ich mich, dass sowohl in der Schule wie auch in den Unis zuerst eine Hochsprache beigebracht wird, bevor es ans "Eingemachte" geht. Vielleicht sogar statt C zuerst eine etwas "bequemere" Sprache wie Java. Wobei man sich hier über die geeignete Sprache lange streiten kann (siehe "google programmiersprache lernen" oder das Board - sind meistens ellenlange Threads :) )
Meine Empfehlung wäre also zuerst C/C++.

Dann (da du dich ja für Low-Level aka Microprozessoren/Bustechnik usw interessierst) wäre "Computerarchitektur" von Tanenbaum nicht verkehrt (Einblick/Probelesen: http://www.pearson-studium.de/main/...94&SID={146C539B-4AFB-4E48-8646-666CDB1E1970})

Sollte in jeder Unibibliothek und eventuell auch Stadtbibliothek zu finden sein - wobei bei richtigem Interesse das Buch das Geld auch wert ist. Da wird ziemlich gut der Zusammenhang erklärt.
Damit bekommst du auf jedenfall eine gute Grundlage und kannst sie dann viel einfacher vertiefen (0x86 Assembly oder Microprozessorprogrammierung ist nur eine "Spezialisierung").
 
Original von thomas-bfz
Beruflich glaube ich kann ich Assembler sehr gut gebrauchen, warum ?
Elektronik, Arbeiten an Antriebstechnik, Frequenzumrichter, Mikroprozessoren und Bustechnik.

was machst du beruflich oder willst du beruflich machen?

die von dir genannten Themen sind so komplex, dass sie heute keiner mehr rein in Assembler schreibt....
(vieleicht mal hier und da zur Hardware-Ansteuerung ein wenig Inline-ASM oder so...)

C und C++ wird auf jeden Fall viel verwendet und ist auch gut dazu geeignet, erstmal überhaupt die programmier-technischen Grund-Strukturen kennen zu lernen (von Schleifen und Funktionen bis hin zu objektorientierter Programmierung)

um Microprozessoren richtig zu verstehen ist Assembler natürlich sehr nützlich.
(gibt's hier im Forum auch schon Tipps zum Thema.... z.B. kann ich den Asuro empfehlen, Atmel Atmega8 Prozessor (AVR-RISC-Familie...))

für Antriebstechnik solltest du zuerst einmal die regelungstechnischen Grundlagen kennen (Eigenschaften von Regelstrecken und dementsprechend zu wählende Regler P / PD / PID ...)
und solche Regel-Algorithmen schreibst du dann sicherlich auch in seltenen Fällen hart in ASM...

Ansonsten ist in dem großen Gebiet von Antriebstechnik bis Bus-Systeme sicherlich, gerade für Rapid-Prototyping, LabView-Kenntnis von Vorteil.

Im Bereich Microprozessoren ist vieleicht auch die Programmierbare Logik ganz interessant. (Programmierung von FPGAs mit AHDL, VHDL)

Wenn du irgendwo Signale verarbeiten musst (also nicht nur Strom da / kein Strom da, sondern Signalströme auswerten oder manipulieren), sind Grundlagen der Signal- und Systemtheorie sicherlich auch nicht verkehrt....
In dem Bereich ist auch Simulation mit Matlab / Simulink ne sehr hilfreiche Sache...


Du siehst: die Elektronik ist ein weites Feld, sehr komplex - Hochsprachen-Kenntnisse werden überall gebraucht, Assembler in speziellen Situationen mal.


btw: wenn du wirklich tief in dieses Thema einsteigen willst, dann studiere Automatisierungstechnik oder technische Informatik - sowas lernt man nicht mal eben in paar Wochen autodidaktisch vorm PC...
 
@beavisbee Antriebstechnik... da kommt mir das Grauen. Lange wurde ich mit Theorie über Regler zu Tode gequält, mit dem Endeffekt, dass ich nichts darüber zu glauben weiß. Der Asuro ist aber top, macht Spass damit rumszuspielen und auf diesem Weg lernt man gleich einiges...

Vor kurzem hab ich erst gehört: "Viele die sich heute als Hacker bezeichnen kennen sich zwar mit Software aus, aber nicht mehr mit der Hardware"
Naja, das stimmt in einem gewissen Maß, jedoch kann man sich doch nur z.B. auf Reversing von Software spezialisieren. Die Themengebiete sind heute so komplex, da kann man kaum noch überall den Durchblick haben...
 
Hallo und danke für Eure ausführlichen Antworten,

vielleicht erstmal zu mir um einen Einblick zu bekommen warum ich eine Programmiersprache lernen will.

Ich bin in der Aufzugsbranche tätig, sozusagen Feinmontage im Neubau ( Einsteller )
also Steuerungsmäßig Regelungstechnik, Frequenzumrichter, CANBUS,Auftragsspezifische Eproms umschreiben und brennen etc.
deshalb Assembler, im Eprom kann man glaube ich nix mit C/C++ anfangen.
Das Problem ist das das Werk auch nicht mit den Quellcodes rausrückt, geschweige womit die Entwickler programmieren, mE verständlich.(nur *.Hex Dateien )
Mich interessiert aber was hinter den Kulissen abläuft, sicher haben wir Montageanleitungen und Sofortinfos die wir vom Werk bekommen, aber die gehen nicht so speziell ins Detail wie ich es mir wünschen würde.
Also eigentlich kann man sagen ich bin nicht richtig ausgelastet, wenn man zu Hause noch über die Arbeit nachdenkt und wissensdurstig ist mehr zu erfahren was Steuerungsmäßig abläuft. :rolleyes:
Oder hat das was mit Spaß am Beruf zu tun

Vorbelastet bin ich eigentlich mit der Elektrotechnik als Elektroinstallateur und mit Weiterbildung Steuerungstechnik für Elektroberufe
nur ein paar Sachen zu nennen, Antriebstechnik, Leistungselektronik, SPS 5 und 7,
E-Pneumatik, Hydraulik,ASI-BUS,Interbus, Profibus,CANBUS und Robotik
In Robotik haben wir zwar programmiert in Spell ( eine Art Basic für Epson Roboter) aber so ähnlich war das auch schon mit dem Commodore 64 früher.

Seid längerer Zeit denke ich schon drüber nach und habe mir die folgenden Lektüren gekauft oder aus der Bibliothek besorgt
*Galilleo C von A-Z
*Gallileo C/C++
*Reiner Backer Assembler
*Hartmut Ernst Grundkurs Informatik
-
Joachim Rohde Assembler Grundlagen ( bin ich jetzt dran )
Franzi`s Assembler Programmierung
Reiner Backer Assembler Maschinennahes programmieren
die mit * gekennzeichneten sind mein sodas ich mir auch viel Zeit lassen kann, sind ja auch schon schöne Schinken

wenn natürlich mehrere sagen: " Junge tue dir selber ein Gefallen und fange mit C an, gehe über C++ später nach Assembler, anstatt jedem Bit hinterher zu kriechen, warum dann nicht. Ich müßte dann nur eine klare Linie haben, denn beides paralell Assembler und C wird wohl in die Hose gehen.
Hatte nur gedacht, das mir das Maschinennahe programmieren in meinem Beruf nützlicher sei.

Schöne Grüße
Thomas
 
es kommt halt wirklich drauf an, was du an Vorkenntnissen mitbringst und wie komplexe Anwendungen du in ASM lesen und schreiben willst...

Wenn du schon paar programmier-technische Grundlagen hast (weißt, was es an Schleifen, Datentypen etc. so gibt - objektorientierte Programmierung wirst du zum schreiben von paar eproms vieleicht nicht zwingend brauchen, ist aber auch recht interessant), und wenn du schon Erfahrung mit SPS hast, dann sollte dir Assembler nicht gar zu schwer fallen...

Aber allgemein würde ich auch immer empfehlen, erst mit Hochsprache anzufangen, dann damit beschäftigen, wie Daten im Speicher abgelegt werden und wie eigentlich ein Rechner so funktioniert (wie z.B. Float-Zahlen gespeichert werden, binäres Rechnen, Unterschiede zwischen BigEndian und LittleEndian,Rechner-Architekturen,...) und dann zu Assembler übergehen...
 
wenn du schon Erfahrung mit SPS hast, dann sollte dir Assembler nicht gar zu schwer fallen...
Jein, SPS werden auf höchst unterschiedliche Art programmiert. Viele sprechen von SPS-programmierung und zeichnen "nur" den Kontaktplan (KOP) oder verwenden die Funktionsbausteinsprache (FUP), was eigentlich nicht mit "normaler" Programmierung vergleichbar ist, sondern mit Schaltplanzeichnen. Die Anweisungsliste (AWL) ist hingegen eine assemblerartige Sprache. Es klingt vielleicht langsam schon ein bisschen öde und altmodisch, aber ich finde immer noch das solide C Kenntnisse das A&O sind. Wenn man sich intensiv mit C auseinandersetzt, weiß man wohl am ehesten was in Rechenmaschinen heute so abgeht, die meisten Sprachen sind ähnlich, und man kann vom winzigen ?C über Betriebssysteme wie Linux bis hin zu komplexen Applikationen alles damit zusammenhacken.
 
stimmt... sry, mein Fehler... ich bin jetzt von AWL ausgegangen... KOP hatte ich ganz am Anfang in meiner Ausbildung mal gehabt und seit dem ich da dann AWL kennen gelernt hatte, nur noch damit gearbeitet...
 
Original von mauralix
Die Anweisungsliste (AWL) ist hingegen eine assemblerartige Sprache. Es klingt vielleicht langsam schon ein bisschen öde und altmodisch, aber ich finde immer noch das solide C Kenntnisse das A&O sind. Wenn man sich intensiv mit C auseinandersetzt, weiß man wohl am ehesten was in Rechenmaschinen heute so abgeht, die meisten Sprachen sind ähnlich, und man kann vom winzigen ?C über Betriebssysteme wie Linux bis hin zu komplexen Applikationen alles damit zusammenhacken.

Hallo zurück,

zur SPS Steuerung habe ich eigentlich KOP, FUP, AWL und Graph 7 programiert mit Siemens Simatic. "ist hingegen eine assemblerartige Sprache"

Aber ich habe mich erstmal entschlossen, das 350 Seitige Taschenbuch von BackerAssembler durchzulesen, evtl. mal mit Beispielen zu programmieren und dann mir das Buch C von A-Z intensiv durch zu arbeiten.

ich bedanke mich aber noch einmal für Eure hilfreichen Tips

Schöne Grüße

Thomas
 
Zurück
Oben