C-Programmierung. Gibt es Unterschiede?

un.inc

Member
Hallo!

Mich würde es mal interessieren wie es mit der C-Programmierung unter FreeBSD steht.
Also ist der Syntax gleich? Vor allem bei Socketprogrammierung oder Hardwarenaher Programmierung?

Und was ich auch noch gerne wissen würde ist ob ein unter BSD kompiliertes Programm auch unter Linux läuft und andersherum?

Vielen Dank
grüße!
 
un.inc schrieb:
Mich würde es mal interessieren wie es mit der C-Programmierung unter FreeBSD steht.
Also ist der Syntax gleich? Vor allem bei Socketprogrammierung oder Hardwarenaher Programmierung?

Die Syntax von C-Quellcode ist auf jedem System gleich. Spezielle Funktionsnotationen koennen sich unterscheiden. Meines Wissens nach sind die Socketcalls nahezu identisch, da POSIX-konform.
Die hardwarenahe Programmierung ist je nach dem, was Du machen willst, aehnlich oder anders :-).

Erlaeutere erstmal, was Du vorhast.

Und was ich auch noch gerne wissen würde ist ob ein unter BSD kompiliertes Programm auch unter Linux läuft und andersherum?

Linux unter BSD: geht bedingt (linux-compat, etc.)
BSD unter linux: Nicht, dass ich wuesste.

gruss
 
vorhaben tu ich im Moment noch wenig. Außer vielleicht einen relativ funktionalen Keylogger für Linux zu schreiben(zusammen mit einem Freund) und da setzt eigentlich schon mein Problem an.
Er benutzt Linux und der Keylogger soll schlussendlich auch auf Linux seinen Einsatz finden.

Dankeschön!

Achja.Es interessiert mich aber auch allgemein, da ich vorhabe mehr in Hardwarerichtung zu programmieren und später vielleicht auch beruflich. Nur da werde ich wohl eher für Linux und noch wahrscheinlicher für Windows schreiben.

Mir gefaellt FreeBSD aber ziemlich gut.

Ich schlaf einfach mal drüber was mir wichtiger ist. Antworten dürfen aber trotzdem weiterhin noch kommen.

MfG
 
un.inc schrieb:
Hallo!

Mich würde es mal interessieren wie es mit der C-Programmierung unter FreeBSD steht.
Also ist der Syntax gleich? Vor allem bei Socketprogrammierung oder Hardwarenaher Programmierung?

Und was ich auch noch gerne wissen würde ist ob ein unter BSD kompiliertes Programm auch unter Linux läuft und andersherum?

Vielen Dank
grüße!

ANSI-C ist auf jedem System gleich verwendbar. Bitte informiere dich über die Grundlagen einer Sprache, bevor du überhaupt anfängst deinen Code auf diverse Systeme zu portieren.

Die Compiler behandeln einige "Extras" u.Ähnliches teilweise unterschiedlich. Beispielsweise die Macroprozessoranweisung #pragma - der GNU-Compiler wird diese wohl anders handhaben als der von Windows. Weitere unterschiede findest du in den einzelnen Manpages. Etwa die Formatstring-Anweisungen für die Funktionen der printf-Familie (printf(3)) für 64-Bit "long long"-Variablen mittels %lld.

Doch bitte zieh' ein Grundlagenbuch zu rate wenn es um solche Fragen geht.
 
un.inc schrieb:
vorhaben tu ich im Moment noch wenig. Außer vielleicht einen relativ funktionalen Keylogger für Linux zu schreiben(zusammen mit einem Freund)
keylogger und socketprogrammierung?
aehm... was zum teufel hast du vor?
 
wohlmöglich Hack3r spielen. Aber Hardwareprogrammierung hört sich ganz vernünftig an. Treiber für noch nicht unterstützte Hardware kann BSD immer gebrauchen.

Ich hoffe, du willst keine "Hacker-Tools" für den Ego entwickeln, @originalposter. Das währe sehr schade und ist leider bei vielen der Fall.
 
Zuletzt bearbeitet:
Wenn du vorhast einen Keylogger zu schreiben, dann schau mal bei www.thc.org vorbei. Dort gibt es ein Paper mit dem Namen vlogger, worin beschrieben wird, wie du einen Kernel-Mode Keylogger für Linux schreiben kannst. Ziemlich interessant.
 
@cdp_xe

Ich kenne ANSI C und ich weiss auch das grundlegende Sachen gleich sind.

Meine Frage hat sich eher auf Hardwareprogrammierung und Sockets bezogen.

Aber was habt ihr denn gegen "Hackertools"?
Ich interessieren mich für Sicherheit und Hacken(was auch immer hier darunter verstanden wird^^).
Da es glaube ich momentan noch unrealistisch ist Tastaturtreiber für BSD zu schreiben, will ich mich erstmal rantasten. Keylogger scheint mir da recht ideal und auch ganz nützlich.
Nicht jeder "Hacker" richtet schaden an, sondern mag einfach die Herausforderung und die meisten die ich kenne informieren im Nachhinein die betroffenen,...

Das hört sich jetzt vielleicht für die, die sich auskennen bescheuert an, aber offenbar haben hier noch ein paar Leute das Medienbild eines Hackers im Kopf.

na wie dem auch sei.
Ist es dann hier erlaubt Quellcodes zu solchen Programmen zu posten wenn man Hilfe braucht? Oder wird das nicht gern gesehen?(Ich hoffe mal nicht^^)

grüße!
 
un.inc schrieb:
Ist es dann hier erlaubt Quellcodes zu solchen Programmen zu posten wenn man Hilfe braucht? Oder wird das nicht gern gesehen?(Ich hoffe mal nicht^^)

grüße!
Hi un.inc,

hier ist es eher ungern gesehen. Erstens ist das hier eigentlich kein Programmiererboard (vielleicht ist http://mrunix.de da besser) und ich persönlich bin auch der Meinung, dass du vielleicht solche Programme verantwortungsvoll benutzt, aber andere, denen die Quelltexte in die Hand fallen, vielleicht sowas in, naja, nicht ganz so legalen Bereichen einsetzen.

Von daher bitte keine Quelltexte hier posten, die in irgendeiner Art und Weise "malicious" sein könnten. Danke

Gruß
 
O.k. Schade :(

Nochmal kurz wegen Hacker udn Hacken^^

Ich will nicht falsch verstanden werden, also wollt ich nur noch einmal sagen, dass ich mich persönlich für keinen Hacker halte(noch lange nicht).Habe aber nicht die Absicht Schaden anzurichten, sondern verfolge wie die meisten wohl auch die Hackerethik(Oh Gott hört sich das krank an. Ich glaub ich mach mich hier zum Affen^^). Ich denke sich einen Keylogger selbst zu schreiben, ist nicht mehr Script-Kiddie like, eigentlich das Gegenteil^^

Nunja. Ich hoffe es hat jetzt jeder verstanden was meine Ziele sind *g*

Und nochmal vielen Dank an alle.
Ich denke werde es nun so machen, dass ich mich mit so Plattformspezifischen Sachen erstmal unter Linux einarbeite, denn dort wird man wohl mehr Quelltexte und Anleitungen finden.
Später kann ich ja dann immernoch zu BSD wechseln und mir anschauen wie es dort so läuft.
allzu unterschiedlich werden die Grundlage wohl nicht sein...

MfG
un.inc
 
Achso, wenn es dir um Hardwareprogrammierung geht, dann sind die folgenden Bücher von Oreilly wahrscheinlich sehr hilfreich: Linux Device Driver(oder so ähnlich der Titel, ist online erhältlich, auf oreilly unter dem openbookproject) und Understanding the Linux Kernel, 2nd Edition. Besonders im zweiten finden sich viele Informationen zu Hardware. Was dir auch noch helfen kann, sind die Spezifikationen von Intel, sind wohl etwas trocken, weiss es aber nicht, da ich sie nicht gelesen habe.
 
dettus schrieb:
@un.inc: wie alt sagtest du noch bist du?

Was soll die Frage? Hälst du mich nicht für seriös?
Nunja. So alt bin cih wirklich noch nicht, aber immerhin schon stolze 16 Jahre :apaul:

Also für mich sind vorerst keine Fragen mehr offen.

Kann mich ja nochmal bedanken(siehe oben^^)

Dankeschön ;)
 
un.inc schrieb:
@cdp_xe

Ich kenne ANSI C und ich weiss auch das grundlegende Sachen gleich sind.

Meine Frage hat sich eher auf Hardwareprogrammierung und Sockets bezogen.

(...)

Das stimmt nicht, du fragtest zudem explizit nach der Syntax .
 
Stimmt auch, war aber nicht gemeint. Tut mir leid. Ich meinte z.B die Syntax um Sockets zu erstellen, aber das ist auch wiede komisch formuliert, bzw. falsch.
Wenn man von etwas noch nicht so viel Ahnung hat oder es nicht perfekt beherrscht, dann ist es oft schwer brauchbare Fragen zu formuliere. Das geben ich auch gerne zu.

@Mama. Dir auch nochmal ein spezielles Dankeschön. Das How to über den vlogger ist sehr gut und das Openbook Projekt von O'Reilly auch(kannte es zuvor gar nicht).
Habe bei dem Buch "Linux Device Driver" zwar fast nichts verstanden, habs aber auch nur überflogen.
Muss mir dafür mal ein Wochenende reservieren.

cheers
 
Aber was habt ihr denn gegen "Hackertools"?
Prinzipiell natürlich garnichts, gegebenenfalls vielleicht pf, nessus, netfilter, snort und so was.

Das hört sich jetzt vielleicht für die, die sich auskennen bescheuert an, aber offenbar haben hier noch ein paar Leute das Medienbild eines Hackers im Kopf.
Ich glaube kaum, dass hier jemand das Medienbild eines Hackers im Kopf hat, Du verwechselst das aber mit hAx0r, Hack3r und anderen coolen Typen. Wenn hier jemand kommt und fragt: "Ich will 'nen Keylogger schreiben, wie geht das?", dann geht hier bei vielen 'ne Warnlampe an; "Oh, schon wieder ein hAx0r!"
Nimm das niemandem übel, hier hat keiner was gegen Hacker (Wir könnten uns nicht gepflegt mit BSD ärgern, wenn es diese Typen nicht gäbe. Ein Dank also an die Teams von Free-,Net-,OpenBSD :-) ).

Wenn Du das nächste mal kommst, deinen Code postest (das wird Dir hier niemand untersagen, denke ich), erzählst, dass Du seit 2 Wochen pausenlos mit den man-pages kämpfst und trotzdem noch nicht die richtige Info gefunden hast und die Sch**** einfach nicht funktioniert, dann hast Du ziemlich gute Chancen Hilfe zu kriegen (gesetzt den Fall, jemand versteht den Code :-) ).
 
Junge, ich glaube du musst dir da ein bisschen mehr als ein Wochenende reservieren. Außerdem gibt es auf www.thc.org und www.phrack.org auch Artikel, wie man Kernel-Module schreibt, auch hilfreich. Aber um dir ein realistisches Bild zu geben, du musst dich schon ziemlich viel mit der Materie befassen, da reicht nicht ein Wochenende oder zwei, wohl eher ein Jahr oder zwei, um auch das nötige Wissen zu haben, ausserdem musst du ziemlich viel Code lesen, und das geht nicht alles so ruck zuck
 
Kernelcode lesen bringt am meisten. Setz dich mal ein paar Wochen hin und schau die Teile an, die dich interessieren. Hatte ich auch mal gemacht. Bücher hatte ich keine und Dokumente von THC und Phrack helfen höchstens beim Verstehen, können aber (natürlich) immer nur Ausschnitte zeigen. Ich empfehle mal TCP/IP Illustrated Vol.2, Understanding the Linux Kernel, Design+Implementation of the 4.4BSD O.S., Kernelcode von irgend nem BSD oder von Linux.

Nimm lieber den Linux-Kernelcode. Unter den meisten BSD-Systemen kannst du eh keine Kernelmodule laden, weil das default verhindert wird (was ich übrigens für sehr sinvoll halte).

Aber bitte: schreibe keinen Scheiß um dein Ego aufzumotzen, sondern trage produktiv zu den Systemen bei. Vielleicht kannst du in ein paar Jahren ja deinen ersten Treibercode committen.

Aber noch eins: Bevor du mit solchen Dingen anfängst, solltest du C beherrschen. Das schließt die Sprache und die Algorithmen wie Binärbäume, SLists usw. mit ein. Ein gutes Buch dazu ist Datenstrukturen und Algorithmen (auch wenn der Pseudo-Code teilweise etwas eklig ist).
 
cdp_xe schrieb:
Ein gutes Buch dazu ist Datenstrukturen und Algorithmen (auch wenn der Pseudo-Code teilweise etwas eklig ist).

Du meinst das Buch von Nicklaus Wirth? Das ist dann aber kein Pseudocode, sondern Pascal ;)

Im Ernst: Meinst du das Buch? Dann werde ich es mir auch einmal zulegen.

Gruß,
K
 
Kathse schrieb:
Du meinst das Buch von Nicklaus Wirth? Das ist dann aber kein Pseudocode, sondern Pascal ;)

Im Ernst: Meinst du das Buch? Dann werde ich es mir auch einmal zulegen.

Gruß,
K

*dönk* falsch. Das, was du meinst ist bestimmt "Algorithmen und Datenstrukturen". Ich rede aber von "Datenstrukturen und ALgorithmen". Und das Buch ist von Ralf Hartmut Güting und Stefan Dieker. (Teubner-Verlag).

PS: Neben Pseudo-Code ist auch Java drin, seh ich grade.
 
Da hier gerade von Literatur zu Algorithmen und Datenstrukturen gesprochen wird, kann ich nur " Introduction to Algorithms" von Cormen, Leiserson und Rivest empfehlen. Das ist zwar englisch aber gut verständlich und DAS Nachschlagewerk schlechthin.
 
meine 2 cent:

freies forum, freies land. nicht jeder der ein keylogger codet ist ein potentielles arschloch. und auch noch kein böser hacker. ich hab auch mal nen keylogger programmiert und heute verdiene ich mein geld mit sinnvoller software-entwicklung (und hab nie irgendwas oder irgendwen gehackt oder penetriert oder weiss der geier). damals hat es mich halt einfach mehr gereizt nen keylogger zu schreiben, als .....sagen wir mal: nen screensaver... oder was weiss ich (es reicht der king zu sein, wenn man seinem kumpel sein passwort unter die nase reibt). darum find ich helfen in diesem fall besser, als blöd anmachen. könnte übermorgen jemand sein, der freie software programmiert. deshalb, gegenfrage: wieviele von euch programmieren open source software und wieviele benutzen sie nur ? und: wieviele würden rumblärren, wenns keine gäb ?

problem war meines erachtens einfach nur der eröffnungsthread, der stark nach troll roch, wegen dem schlechten deutsch. sollte sich aber erledigt haben.

ach ja: für keylogger unter windows, halte dich an den namen assarbad. zu finden in www.delphi-praxis.net.


meine 2 cent,

sewin
 
sewin schrieb:
deshalb, gegenfrage: wieviele von euch programmieren open source software [....]
*meld*
...und wieviele benutzen sie nur ? und: wieviele würden rumblärren, wenns keine gäb ?
*meld* ;-)

problem war meines erachtens einfach nur der eröffnungsthread, der stark nach troll roch, wegen dem schlechten deutsch. sollte sich aber erledigt haben.

Man sollte nicht kritisieren, was man selbst nicht besser macht.

Das Problem ist einfach (wie zuvor schon angesprochen), dass heutzutage jeder Hinz und Kunz sowas machen will, gerade _um_ elitaer zu sein. Warum, weiss keiner, es ist aber leider so. Die Schwemme dieser Leute im Usenet ist gluecklicherweise vorbei, auf Boards findet man sie immernoch, dahoer wohl die (nicht unbedingt negative) Kritik daran.

Wenn man immer wieder solche Anfragen kriegt, wirst man halt vorsichtig, das kann man den Leuten nicht ankreiden. Andererseits ist nicht bei jedem, der so eine Anfrage stellt eine boeswillige Absicht der Beweggrund.

Ein zweischneidiges Schwert also, egal wie man sich verhaelt ;-).

gruss
 
Zurück
Oben