Leistungskurs Bio, Englisch oder Informatik?

Hey, also:

Ich hatte als Leistungskurse für nächstes Jahr, wenn ich in die 11 komme Deutsch, Physik und Kunst gewählt. (Bin auf einem Gymnasium in RLP)

Das ist jetzt aber nicht möglich weil das in den Stundenplan nicht passt und ich die einzige war, die Physik und Kunst gewählt hat.

Entweder wähle ich also Bio als LK und Physik als Grundkurs, jedoch habe ich gehört dass Bio ein Lernfach ist und man viel auswendig lernen muss, was mir überhaupt nicht liegt (bei Mitose und Meiose bin ich schon verzweifelt).

Chemie ist für mich gar keine Option, da ich darin total schlecht bin, das wird auf jeden Fall abgewählt.

Ich hätte noch die Möglichkeit Informatik statt Physik zu wählen. Das hatte ich ein halbes Jahr lang, hab's aber dann abgewählt, weil mir das zu langweilig war (haben nur gelernt, wie man eine Webseite programmiert, ich weiß also nicht, was noch so im Fach Informatik passieren könnte).

Auch eine Möglichkeit wäre, dass ich Physik und Kunst behalte und dafür aber Englisch statt Deutsch nehme. Viele sagen, Englisch ist total einfach. Stimmt das? Bin nicht wirklich gut in der Aussprache, im Schreiben ganz ok. Da ich aber was im Bereich Schriftstellerin werden will, wäre Deutsch wohl ganz gut als LK.

Könnt ihr mir mal eure Erfahrungen mit Englisch, Informatik und Bio LK geben? Was kommt so ungefähr dran?

Danke für's Antworten

Englisch, Lernen, Schule, Bio, Bildung, Unterricht, Biologie, Abitur, Fächer, Gymnasium, Informatik, Oberstufe, Leistungskurs
Welchen Job würdet ihr eher wählen?

1.) Job mit festem Gehalt

( 1.500 - 2.000 € monatlich , Kosten und wichtige Ausgaben können gedeckt werden , durch sparsame Lebensweise und gute Einteilung kann man trotzdem gut leben , es fehlt nicht an Geld und Lebensmitteln , Versicherung wird ohne Verzug bezahlt , man gerät nicht ins Minus , vorausgesetzt man gibt nicht Geld für das neuste iPhone oder teure Uhren oder Klamotten aus , man ist angestellt , z.B. Alltagsbegleitung für Senioren )

2.) Tätigkeit im Kleingewerbe

( Selten 2.000 - 3.000 € Umsatz pro Monat , oft Monate ohne Kunden überstehen , wenn es mal mittelmäßig läuft , dann mickrigen Monatsgewinn von ca. 900€ hinnehmen , Kosten und Ausgaben häufen sich , das Geld wird knapp und wenn man mal nicht verschuldet ist , ist man auf Null und hat auch nichts von der tollen Selbstständigkeit , keine Erfahrung bzgl. Kundengewinnung oder Steuern , z.B. Webdesigner oder Grafikdesigner )

Es gibt da nämlich so komische Menschen im Bekanntenkreis , die den zweiten Weg wählen...

Wenn ihr die Wahl hättet , würdet ihr Weg 1.) oder Weg 2.) wählen ?

Das sind nur zwei Beispiele

1 100%
2 0%
Arbeit, Finanzen, Geld verdienen, Steuern, Selbständigkeit, Rechnung, Job, Geld, Gehalt, sparen, Schulden, Webseite, programmieren, Ausbildung, Arbeitgeber, Arbeitnehmer, Grafikdesign, Einkommen, alltagsbegleiter, Firma, Freelancer, Gewerbe, Informatik, Kleingewerbe, Kunden, Lohn, Unternehmen, Webdesign, Auftrag
Wie kriege ich mit ROP einen "/bin/sh" Pointer in rdi?

Ich versuche, rücksprungorientierte Programmierung (ROP) zu lernen.

Und zwar habe ich ein Programm mit einem Pufferüberlauf auf dem Stack, und ich möchte das Programm dazu bringen, /bin/sh zu öffnen.

Das geht mit dem execve Syscall, wenn ich die richtigen Instruktionen finden kann, um die Funktionsparameter vorzubereiten. Das ist die Signatur von execve:

int execve(const char *pathname, char *const _Nullable argv[], char *const _Nullable envp[]);

Also muss ich die folgenden Register setzen:

  • rax = 0x3b (Syscallnummer von execve)
  • rdi = "/bin/sh" Pointer
  • rsi = NULL
  • rdx = NULL

Die folgenden Instruktionen habe ich bereits gefunden:

pop rax ; ret
pop rdi ; ret
pop rsi ; ret
pop rdx ; ret
syscall

Ich kann also die Instruktionen und Registerwerte mit dem Pufferüberlauf auf den Stack schreiben und so meine Register füllen. Das Problem ist aber, dass ich einen "/bin/sh" Pointer in rdi brauche (also nicht "/bin/sh" im Register, sondern eine Speicheradresse, an der "/bin/sh" steht).

Ich kann natürlich "/bin/sh" in den Puffer auf dem Stack schreiben, aber leider ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Ich weiß, dass "/bin/sh" in libc vorkommt, aber auch dort ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Wie komme ich also an einen "/bin/sh" Pointer? Gibt es Tricks oder bestimmte Instruktionen, nach denen ich mich umsehen sollte?

hacken, Hack, Programm, programmieren, pointer, Assembler, Hacker, Hacking, Informatik, IT-Sicherheit, Shell, stack, x64, assemblersprache, Assembly, Exploit, hacken lernen, IT-Sicherheitsexperte, Register, Capture The Flag

Meistgelesene Fragen zum Thema Informatik