Professional Documents
Culture Documents
Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 1st Edition Dmitry Vostokov full chapter instant download
Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 1st Edition Dmitry Vostokov full chapter instant download
https://ebookmass.com/product/foundations-of-arm64-linux-
debugging-disassembling-and-reversing-dmitry-vostokov/
https://ebookmass.com/product/fundamentals-of-trace-and-log-
analysis-a-pattern-oriented-approach-to-monitoring-diagnostics-
and-debugging-1st-edition-dmitry-vostokov-2/
https://ebookmass.com/product/fundamentals-of-trace-and-log-
analysis-a-pattern-oriented-approach-to-monitoring-diagnostics-
and-debugging-1st-edition-dmitry-vostokov/
Python Debugging for AI, Machine Learning, and Cloud
Computing: A Pattern-Oriented Approach 1st Edition
Dmitry Vostokov
https://ebookmass.com/product/python-debugging-for-ai-machine-
learning-and-cloud-computing-a-pattern-oriented-approach-1st-
edition-dmitry-vostokov/
https://ebookmass.com/product/visual-studio-code-distilled-
evolved-code-editing-for-windows-macos-and-linux-third-edition-
alessandro-del-sole/
https://ebookmass.com/product/visual-studio-code-distilled-
evolved-code-editing-for-windows-macos-and-linux-3-converted-
edition-alessandro-del-sole/
https://ebookmass.com/product/international-swimming-pool-and-
spa-code-2021-1st-edition-international-code-council/
https://ebookmass.com/product/international-fire-code-
international-code-council-series-2021-1st-edition-international-
code-council/
Foundations of ARM64
Linux Debugging,
Disassembling, and
Reversing
Analyze Code, Understand Stack
Memory Usage, and Reconstruct
Original C/C++ Code with ARM64
—
Dmitry Vostokov
Foundations of
ARM64 Linux
Debugging,
Disassembling, and
Reversing
Analyze Code, Understand
Stack Memory Usage,
and Reconstruct Original C/C++
Code with ARM64
Dmitry Vostokov
Foundations of ARM64 Linux Debugging, Disassembling, and Reversing:
Analyze Code, Understand Stack Memory Usage, and Reconstruct Original
C/C++ Code with ARM64
Dmitry Vostokov
Dublin, Ireland
Preface����������������������������������������������������������������������������������������������xiii
iii
Table of Contents
Chapter 4: Pointers�����������������������������������������������������������������������������35
A Definition���������������������������������������������������������������������������������������������������������35
“Pointers” Project: Memory Layout and Registers����������������������������������������������36
“Pointers” Project: Calculations��������������������������������������������������������������������������38
Using Pointers to Assign Numbers to Memory Cells�������������������������������������������39
Adding Numbers Using Pointers�������������������������������������������������������������������������46
Incrementing Numbers Using Pointers���������������������������������������������������������������51
Multiplying Numbers Using Pointers�������������������������������������������������������������������54
Summary������������������������������������������������������������������������������������������������������������58
iv
Table of Contents
v
Table of Contents
vi
Table of Contents
vii
Table of Contents
Index�������������������������������������������������������������������������������������������������167
viii
About the Author
Dmitry Vostokov is an internationally
recognized expert, speaker, educator, scientist,
and author. He is the founder of the pattern-
oriented software diagnostics, forensics,
and prognostics discipline and Software
Diagnostics Institute (DA+TA: DumpAnalysis.
org + TraceAnalysis.org). Vostokov has also
authored more than 50 books on software
diagnostics, anomaly detection and analysis,
software and memory forensics, root cause analysis and problem solving,
memory dump analysis, debugging, software trace and log analysis,
reverse engineering, and malware analysis. He has more than 25 years
of experience in software architecture, design, development, and
maintenance in various industries, including leadership, technical, and
people management roles. Dmitry also founded Syndromatix, Anolog.
io, BriteTrace, DiaThings, Logtellect, OpenTask Iterative and Incremental
Publishing (OpenTask.com), Software Diagnostics Technology and
Services (former Memory Dump Analysis Services; PatternDiagnostics.
com), and Software Prognostics. In his spare time, he presents various
topics on Debugging TV and explores Software Narratology, its further
development as Narratology of Things and Diagnostics of Things (DoT),
Software Pathology, and Quantum Software Diagnostics. His current
areas of interest are theoretical software diagnostics and its mathematical
and computer science foundations, application of formal logic, artificial
intelligence, machine learning and data mining to diagnostics and anomaly
detection, software diagnostics engineering and diagnostics-driven
ix
About the Author
x
About the Technical Reviewer
Sundar Pandian has more than three
years of experience in embedded software
development, including development of device
drivers, middleware software, and application
services for the infotainment system on the
Android platform. He’s also developed CAN
protocol drivers for the automotive braking
system on the Autosar platform.
He’s developed software with C, C++,
and Java and worked in the automotive,
semiconductor, and telecom industries. He has
a bachelor’s in electronics and communication engineering. Currently, he
serves as a firmware/middleware engineer for audio DSPs.
xi
Preface
The book covers topics ranging from ARM64 assembly language
instructions and writing programs in assembly language to pointers, live
debugging, and static binary analysis of compiled C and C++ code.
Diagnostics of core memory dumps, live and postmortem debugging
of Linux applications, services, and systems, memory forensics, malware,
and vulnerability analysis require an understanding of ARM64 assembly
language and how C and C++ compilers generate code, including
memory layout and pointers. This book is about background knowledge
and practical foundations that are needed to understand internal Linux
program structure and behavior, start working with the GDB debugger, and
use it for disassembly and reversing. It consists of practical step-by-step
exercises of increasing complexity with explanations and many diagrams,
including some necessary background topics.
By the end of the book, you will have a solid understanding of how
Linux C and C++ compilers generate binary code. In addition, you will be
able to analyze such code confidently, understand stack memory usage,
and reconstruct original C/C++ code.
The book will be useful for
• Software testers
xiii
Preface
This book can also be used as an ARM64 assembly language and Linux
debugging supplement for relevant undergraduate-level courses.
Source Code
All source code used in this book can be downloaded from github.com/
apress/arm64-linux-debugging-disassembling-reversing.
xiv
CHAPTER 1
Memory, Registers,
and Simple Arithmetic
emory and Registers Inside an
M
Idealized Computer
Computer memory consists of a sequence of memory cells, and each cell
has a unique address (location). Every cell contains a “number.” We refer
to these “numbers” as contents at addresses (locations). Because memory
access is slower than arithmetic instructions, there are so-called registers
to speed up complex operations that require memory to store temporary
results. We can also think about them as stand-alone memory cells. The
name of a register is its address. Figure 1-1 illustrates this.
2
Chapter 1 Memory, Registers, and Simple Arithmetic
3
Chapter 1 Memory, Registers, and Simple Arithmetic
static int a, b;
4
Chapter 1 Memory, Registers, and Simple Arithmetic
5
Chapter 1 Memory, Registers, and Simple Arithmetic
If we use the C or C++ language, “a” is called “the variable a,” and we
write the assignment as
a = 1;
adr x0, a
mov w1, #1
str w1, [x0]
adrp x0, 0x4b2000
add x0, x0, #0xb00
mov w1, #0x1
str w1, [x0]
adrp x0, 0x4b2000, and subsequent add x0, x0, #0xb00 is how the
compiler generates code to calculate the address “a” instead of specifying it
directly. Such code is required for addressing large regions of memory, and
6
Chapter 1 Memory, Registers, and Simple Arithmetic
the compiler uses it even for smaller regions where just one adr instruction
is sufficient.
Literal constants have the # prefix, for example, #0x1. The 0x prefix
means the following number is hexadecimal. We explain such numbers
in Chapter 3. Please also notice that the movement direction is the same
in both the disassembly output and the pseudo-code: from right to left
(except for the str instruction).
After executing the first three assembly language instructions, we have
the memory layout shown in Figure 1-4A.
Figure 1-4A. Memory layout after executing the first three assembly
language instructions
7
Chapter 1 Memory, Registers, and Simple Arithmetic
Figure 1-4B. Memory layout after executing the next three assembly
language instructions
register <- 1
register <- [a]
8
Chapter 1 Memory, Registers, and Simple Arithmetic
In the GDB disassembly output, we may see the output where one
adr instruction is replaced by adrp/add instructions with parts of the
address value:
9
Chapter 1 Memory, Registers, and Simple Arithmetic
b = b + a;
b += a;
adr x0, b
ldr w1, [x0]
adr x0, a
ldr w0, [x0]
add w1, w1, w0
adr x0, b
str w1, [x0]
10
Chapter 1 Memory, Registers, and Simple Arithmetic
After executing ADR, LDR, ADD, and STR instructions, we have the
memory layout illustrated in Figure 1-5.
11
Chapter 1 Memory, Registers, and Simple Arithmetic
Figure 1-5. Memory layout after executing ADR, LDR, ADD, and STR
instructions
Incrementing/Decrementing Numbers
in Memory and Registers
In pseudo-code, it looks simple and means increment (decrement) a
number stored at the location (address) “a”:
In the C or C++ language, we can write this using three possible ways:
12
Chapter 1 Memory, Registers, and Simple Arithmetic
a = a + 1;
++a;
a++;
b = b – 1;
--b;
b--;
add x0, x0, #1
sub x0, x0, #1
adr x0, a
ldr w1, [x0]
add w1, w1, #1
str w1, [x0]
adr x0, b
ldr w1, [x0]
sub w1, w1, #1
str w1, [x0]
13
Chapter 1 Memory, Registers, and Simple Arithmetic
After the execution of the ADD instruction, we have the memory layout
illustrated in Figure 1-6.
14
Chapter 1 Memory, Registers, and Simple Arithmetic
Figure 1-6. Memory layout after the execution of the ADD instruction
Multiplying Numbers
In pseudo-code, we write
b = b * a;
b *= a;
15
Chapter 1 Memory, Registers, and Simple Arithmetic
adr x0, b
ldr w1, [x0]
adr x0, a
ldr w0, [x0]
mul w1, w1, w0
adr x0, b
str w1, [x0]
16
Another random document with
no related content on Scribd:
afterlos. Zwischen Darm und Leibesschlauch liegen die
Fortpflanzungsorgane, welche einen zwitterartigen Charakter tragen.
Die Begattung ist dieser Einrichtung gemäss stets eine
wechselseitige. In manchen Gattungen (Microstoma, Stenostoma)
kommt aber neben der geschlechtlichen auch eine
ungeschlechtliche Vermehrung vor und letztere bildet mehrfach
sogar die Regel. Das zierliche M e e r l i n s e n k e t t c h e n (Catenula
lemnae) z. B. pflanzt sich ganz ausschliesslich auf diese Weise fort.
Zum besseren Verständnis des G e s c h l e c h t s a p p a r a t e s der
Rhabdocölen diene die untenstehende Abbildung (Fig. 49), in
welcher die hauptsächlich in Betracht kommenden Teile desselben
schematisch dargestellt sind.
Die zentral liegende Geschlechtsöffnung (pg) führt zunächst in
das Atrium genitale (a), einen erweiterungsfähigen Hohlraum, der
jederseits den Ausführungsgang des K e i m - und D o t t e r s t o c k e s (ks
und ds) aufnimmt, während sich an seinem oberen (resp. vorderen)
Ende das männliche Zeugungsorgan (p) inseriert, welches mit den
beiden H o d e n (h) in Verbindung steht. Die reife Keimzelle gelangt
nach ihrer Ablösung vom Keimstocke in jenes Atrium und nimmt hier
eine entsprechende Portion Dottermasse in sich auf. Dann erfolgt
die Befruchtung durch ein anderes hermaphroditisches Individuum
der nämlichen Spezies, welches seinen Penis (p) durch den Porus
genitalis bei pg einführt. Die Umhüllung des nunmehr
entwickelungsfähig gewordenen Eies mit einer schützenden
Chitinschale — zu welcher das Material von besonderen Drüsen
oder vom Zellenbelag der Atriumwand geliefert wird — bildet den
Schluss zu diesen Vorgängen.
Die geschilderten Verhältnisse finden wir indessen nur bei den
höchstorganisierten Rhabdocöliden-Familien (bei Mesostomiden,
Vorticiden u. s. w.), während z. B. die einfacher gebauten
Macrostomiden (Fig. 52 S. 256) der gesonderten Dotterstöcke
ermangeln und lediglich O v a r i e n besitzen. An letzteren zeigt aber
der untere Abschnitt die merkwürdige Eigenschaft, Dotterkörnchen
produzieren zu können, sodass die heranreifenden Keimzellen jenes
Sekret aus ihrer unmittelbaren Umgebung zu beziehen und sich auf
Kosten desselben zu vergrössern im stande sind.
Zwischen diesem primitiven Verhalten und
dem Geschlechtsapparate mit vollständig
getrennten Keim- und Dotterstöcken
vermittelt der bei Prorhynchus stagnalis
vorliegende Fall, wo sich die einheitliche
Eierstocksdrüse in zwei verschieden
funktionierende Abschnitte differenziert hat,
von denen der eine bloss Keimzellen, der
andere nur Dotterflüssigkeit sezerniert. Durch
räumliche Sonderung jener beiden
Drüsenhälften, also durch eine allmählich
eingetretene Arbeitsteilung zwischen
denselben, haben wir uns die zuerst
Fig. 49. beschriebene und in Fig. 49 dargestellte
Schema des Einrichtung hervorgegangen zu denken.
Geschlechtsapparates. Bei der Mehrzahl der Rhabdocöliden
besteht eine Duplizität der weiblichen
Geschlechtsdrüsen; doch giebt es auch einige Gattungen (Vortex,
Mesostoma, Gyrator), bei denen sie nur in einfacher Anzahl
erscheinen. Eine Reduktion der männlichen Drüsen ist seltener zu
konstatieren, doch kommt sie gleichfalls bei Gyrator und noch
einigen anderen Gattungen vor.
Zur genaueren Orientierung über den Bau der Turbellarien ist es
erforderlich, dass wir nach Betrachtung der Generationsorgane nun
auch den ungegliederten, weichen Körper und den
Verdauungsapparat derselben einer näheren Analyse unterziehen.
Ersterer besteht, wenn wir bei unserer Untersuchung von innen nach
aussen gehen, aus einem mächtig entwickelten
H a u t m u s k e l s c h l a u c h e , dessen Zusammensetzung aus Längs- und
Querfasern, welche parallel und unmittelbar an einander liegen,
schon den älteren Forschern bekannt war. Jene Fasern besitzen bei
0.0005 bis 0.002 mm Breite eine oft sehr bedeutende Länge;
wenigstens lassen sich an Zupfpräparaten nicht selten Fragmente
von 0.5 bis 0.9 mm isolieren. Ihrer sonstigen Beschaffenheit nach
sind sie homogen, stark lichtbrechend, glatt und kernlos. Je nach
den einzelnen Arten und Gattungen weist der Hautmuskelschlauch
eine verschiedene Anordnung seiner Elemente auf. Bei manchen
Spezies liegen die Längsfasern zu innerst und werden von einer
äusseren Ringfaserschicht umgeben. Dies ist z. B. der Fall bei
Mesostoma Ehrenbergii. Bei einer nahe verwandten Art (Mesostoma
lingua) befindet sich zwischen beiden Schichten noch eine solche
aus Diagonalfasern, und bei Microstoma lineare ist die
Zusammensetzung des Muskelnetzes gerade umgekehrt, nämlich
so, dass die Längsfasern die äussere, die Ringfasern die innere
Schicht bilden. Auf diesen (seiner Gestalt nach sehr
veränderungsfähigen) Muskelschlauch folgt die sogenannte
B a s a l m e m b r a n , ein gallertartiges Häutchen von feinkörniger
Struktur, welches dem Turbellarienkörper Festigkeit verleiht und
zugleich dem darüber liegenden E p i t h e l zur Unterlage dient.
Letzteres besteht aus einer einfachen Zellenlage, deren einzelne
Elemente durch eine Kittsubstanz mit einander verbunden sind.
Zwischen ganz flachen Epithelzellen und hohen cylindrischen
existieren bei den verschiedenen Spezies alle möglichen
Übergänge. Jede solche Zelle besitzt, je nach ihrer Gestalt, einen
scheiben- oder spindelförmigen Kern und mehrere feine
Protoplasmafortsätze (Cilien), die in ihrer Gesamtheit das
charakteristische Wimperkleid darstellen, womit die
Körperoberfläche aller Strudelwürmer bedeckt ist. Bei manchen
Spezies lässt sich über dem Epithel noch eine äusserst feine
K u t i k u l a nachweisen, welche mit zahllosen winzigen Öffnungen für
den Durchtritt der Cilien versehen ist. Mit Hilfe einer einprozentigen
Höllensteinlösung habe ich dieses äusserst zarte Gebilde an
frischen Exemplaren von Macrostoma viride, Microstoma lineare und
Stenostoma leucops deutlich sichtbar gemacht. Man lässt zu diesem
Zwecke einen einzigen Tropfen jener Flüssigkeit unter das Deckglas
laufen und kann dann unterm Mikroskop wahrnehmen, wie sich
jenes glashelle, doppelt contourierte Häutchen auf einzelnen
Strecken oder auch im ganzen Umkreise des Wurmes binnen
wenigen Minuten abhebt. Bei der zuletzt genannten Art geschieht die
Loslösung so schnell, dass zur Herstellung des betreffenden
Präparates oft nur einige Sekunden erforderlich sind.
Ausser den Cilien kommen bei gewissen Gattungen von
Rhabdocöliden auch noch längere, borstenähnliche
E p i t h e l f o r t s ä t z e vor, die vielfach zitternde oder schwingende
Bewegungen ausführen. Bei Macrostoma viride (Fig. 52) sind diese
„Geisselhaare“ über den ganzen Körper verbreitet; die längsten
stehen aber am vorderen und hinteren Ende des Tierchens. Das
Gleiche sehen wir bei Macrostoma hystrix und anderen Vertretern
desselben Genus. Auch bei der von E . S e k e r a neuerdings
beschriebenen Bothrioplana alacris[92] finden wir (am vorderen
Saume des Kopfes) starre Borsten, die — wie es den Anschein hat
— zur Vermittelung von Tastempfindungen dienen.
Als eigentümliche Einlagerungen treten in der Haut bei fast allen
Strudelwürmern des Süsswassers ausserordentlich winzige
S t ä b c h e n (R h a b d i t e n ) auf, welche — zu kleinen Paketen oder
Bündeln vereinigt — sich über die gesamte Leibesoberfläche
verteilen. Ihre Entstehung nehmen diese bald nadel-, bald
keulenförmigen Gebilde in besonderen Zellen, die dem zwischen
Darm und Hautmuskelschlauch sich ausspannenden Bindegewebe,
welches als P a r e n c h y m bezeichnet wird, angehören. Von hier aus
rücken die Stäbchen auf eine noch nicht hinlänglich festgestellte
Weise bis zum Epithel vor und dringen in die Zellen desselben ein,
wo sie dauernd verbleiben. Bei manchen Rhabdocöliden ist auch
das Parenchym selbst mit zahlreichen Rhabditen durchsetzt, und sie
bilden dann im Innern desselben ganze Reihen oder Strassen, die
gewöhnlich im Vorderende der betreffenden Tiere zusammenlaufen.
Das sieht man deutlich bei mehreren Mesostomiden, z. B. bei M.
rostratum und M. viridatum.
Eine mikroskopische Analyse des P a r e n c h y m s ergiebt, dass
dasselbe aus Muskelfasern, Bindegewebssträngen und mehrfach
verästelten Zellen besteht, die gleichfalls bindegewebiger Natur sind.
Erst durch die Methode der Schnittserien war es möglich, die
einzelnen Bestandteile des Parenchyms festzustellen und ein
Lückensystem innerhalb desselben nachzuweisen, welches von
einer farblosen, blutartigen Flüssigkeit erfüllt ist. Diese besitzt aber
keine selbständige Zirkulation, sondern wird lediglich durch die
Kontraktionen des Hautmuskelschlauchs gelegentlich in Bewegung
versetzt.
Sehr häufig sind die Fasern des Parenchymgewebes mit
P i g m e n t k ö r n c h e n durchsetzt, und es kommt dann das zu stande,
was v. G r a f f [93] sehr passend „reticuläre Pigmentierung“ genannt
hat. Hiervon rührt die dunklere Färbung der Rückenfläche bei
manchen Rhabdocölen her, die niemals in den epithelialen Zellen
ihren Sitz hat — obwohl dies bei flüchtiger Ansicht so scheinen
könnte.
Im Parenchym ist auch das G e h i r n g a n g l i o n der Turbellarien
gelegen oder, richtiger gesagt, es ist in dieses Gewebe meistenteils
vollständig eingebettet. Seinem feineren Baue nach besteht
dasselbe aus einer Anhäufung von feinkörniger oder zartfaseriger
Substanz und einer Rinde von Ganglienzellen mit runden oder auch
ovalen Kernen. Zwei Längsnervenstämme, die vom Gehirn abgehen
und zu beiden Körperseiten verlaufen, sind bei zahlreichen
Rhabdocölen nachgewiesen; bei einigen Spezies hat man auch
mehrfache Kommissuren, welche die Hauptstämme mit einander
verbinden, vorgefunden.
Hinsichtlich des Parenchyms ist noch zu bemerken, dass es bei
den verschiedenen Gattungen in mehr oder minder starker
Entwickelung angetroffen wird. Wir kennen Formen, deren
Leibeshöhlung so gut wie frei von parenchymatösen Muskeln und
Bindegewebsbalken ist, während andere wieder das gerade
Gegenteil solchen Verhaltens darbieten.
Was nun schliesslich den Ve r d a u u n g s a p p a r a t der Rhabdocölen
anlangt, so besteht derselbe aus Schlund (Pharynx) und Darm.
Letzterer ist nach dem Parenchym zu entweder durch eine
bindegewebige Scheide abgegrenzt, oder er besitzt eine
Muskelausstattung, an welcher wir — wie beim Hautschlauche —
Längs- und Ringfasern unterscheiden können. Das Darmlumen ist
mit einem kontinuierlichen Epithelbelag ausgestattet, dessen Zellen
membranlos sind, und die an ihrer Basis rundliche, resp. ovale
Kerne besitzen. Gewöhnlich ist dieses Epithel an der unteren
(ventralen) Seite des Darmes etwas höher als an der oberen. Die
einzelnen Zellen desselben erscheinen häufig an ihrem freien Ende
keulig verdickt und mit zahlreichen Fetttröpfchen erfüllt. Was die
Verdauung und Assimilation der in den Darm aufgenommenen
Nahrungsobjekte anlangt, so scheinen die grösseren Epithelzellen
kleine organische Partikelchen direkt in sich aufnehmen zu können,
indem sie dieselben nach Art der Rhizopoden (vergl. Kapitel 4) mit
ihrem Protoplasmaleibe umfliessen. Es fände demnach in diesem
Falle eine sogenannte „intracelluläre Verdauung“ statt. Diese Ansicht
wird durch darauf bezügliche Experimente von I s a o I j i m a (jetzt
Professor an der Universität Tokio) zu fast vollkommener Gewissheit
erhoben. Dr. Ijima fütterte Planarien mit dem Dotter von Hühnereiern
und fand bald darauf die gefressenen Dotterkugeln überall in den
Zellen der Darmverzweigungen seiner Versuchs-Dendrocölen
wieder. Auch entdeckte derselbe Forscher, dass der Darmkanal bei
Dendrocoelum lacteum, welcher so deutlich durch die Haut sichtbar
ist, seine schwärzliche Beschaffenheit von kleinen Schlammteilchen
erhält, welche eingeschlürft und in die Epithelzellen mit
aufgenommen worden sind[94]. Was in diesem Bezug für die
Planarien experimentell erwiesen ist, darf ohne Zweifel auch für die
Rhabdocöliden als gültig angesehen werden, zumal K r u k e n b e r g
auch an mehreren Zoophyten die Aufnahme von Fremdkörpern
durch die Entodermzellen konstatiert hat.
Zum Ergreifen oder Einschlürfen der Nahrung besitzen alle
Turbellarien ein dickmuskulöses, kompliziert gebautes Organ, den
Schlund (Pharynx), welcher entweder die Gestalt eines
starkwandigen Rohres oder diejenige eines zwiebelartigen Bulbus
hat. Die übergrosse Mehrzahl der Rhabdocölen ist mit einem
Pharynx bulbosus ausgestattet, der bei den Mesostomiden eine
plattgedrückte kugelige Form zeigt und sich, von oben her gesehen,
wie eine Rosette ausnimmt. Das ist der sogenannte Pharynx
rosulatus. Seine Achse steht stets senkrecht auf der Längsachse
des Körpers. Eine Modifikation desselben ist der allen Vorticiden
zukommende tonnenförmige Schlund (Pharynx doliiformis). In
seinem feinen Bau ist er dem vorigen sehr ähnlich, aber doch auch
leicht wieder von ihm zu unterscheiden, weil er im ganzen eine
stärker entwickelte Muskulatur besitzt. Ausserdem ist seine Achse
der Körperachse immer parallel, oder doch nur wenig gegen
dieselbe geneigt. Mit seiner Spitze ist das Schlundtönnchen in den
weitaus meisten Fällen dem Vorderende des Wurmleibes zugekehrt.
Hierzu kommt noch der Pharynx variabilis, dessen Merkmal eine
grosse Fähigkeit zu Gestaltveränderungen ist, insofern er
mannigfache Windungen und Krümmungen auszuführen vermag
und ausserdem weit hervorgestülpt werden kann. Einen derartigen
Schlund finden wir bei dem merkwürdigen Plagiostoma Lemani,
einer Rhabdocöle von marinem Habitus, die aber im Süsswasser
lebt und von Prof. F. A . F o r e l zuerst im Genfersee entdeckt wurde.
In der Familie der Monotiden, welche gleichfalls nur einen einzigen
Vertreter im salzfreien Wasser hat[IV], begegnet uns eine
Schlundform, die als Pharynx plicatus bezeichnet wird. Der
hauptsächlichste Unterschied zwischen dieser und den anderen
Pharyngealformen besteht darin, dass bei ihr der zwischen innerer
und äusserer Muskelschicht gelegene Raum in offener Verbindung
mit der Leibeshöhle steht, und nicht — wie beim Ph. bulbosus —
gegen letztere abgeschlossen ist. Der Monotidenschlund stellt
demnach eine blosse Ringfalte der Körperhaut dar, die indessen
eine grosse Beweglichkeit zeigt und sich in überraschender Weise
rüsselartig verlängern kann.
[IV] Es ist dies der von mir 1884 in den Koppenteichen des
Riesengebirges aufgefundene Monotus lacustris. Z.
B. Dendrocoela.
(Dendrocoelida, L . v. G r a f f . )
Macrostoma viride E . v. B e n .
Dies ist ein etwa 2 mm grosses Tierchen, an dem man schon bei
Lupenbesichtigung den grünlich oder gelb gefärbten Darm erkennt.
Bei stärkerer Vergrösserung (Fig. 52) entdecken wir sofort ein
abgerundetes Vorderende und einen spatelartig geformten
Schwanzteil, der reichlich mit Stäbchenpaketen gespickt ist, die
zumteil über die Haut hervorragen. Auch der übrige Körper ist mit
solchen Rhabditenbündeln versehen, aber nicht in dem Masse wie
das Kopf- und Hinterende. Die Stäbchen liegen in sehr
verschiedener Anzahl (zu 2–5 Stück) beisammen und haben eine
keulenförmige Gestalt. Die Flimmerhaare der Epithelzellen sind sehr
fein und kurz; dazwischen stehen aber lange Geisselborsten, die
sich über die ganze Oberfläche des Tieres verbreiten. Im Übrigen
bietet die Organisation der Macrostomiden mancherlei primitive
Verhältnisse dar. Sie besitzen ein ganz einfaches Schlundrohr,
welches die schlitzförmige Mundöffnung (m) mit dem Darmsack (d)
verbindet. Das Gehirn (g) erscheint lediglich als eine
Bogenkommissur der beiden Längsnervenstämme, und
unterscheidet sich in Form und Masse nicht viel von diesen.
Dasselbe trägt indessen hochentwickelte Sehorgane, die mit einer
stark gewölbten Linse ausgestattet sind. Die Höhlung des
Darmkanals ist durchweg mit Cilien besetzt, deren Länge etwa der
Höhe der Epithelzellen gleichkommt, denen sie aufsitzen. Zu beiden
Seiten des Darms liegen die kompakten kegelförmigen Hoden (h)
und dicht dahinter die paarigen Ovarien (ov). Bei p sehen wir den
Penis, der bei allen Arten der Gattung Macrostoma mit einem
chitinösen Ansatze versehen ist. Bei der in Rede stehenden Spezies
ist letzterer S-förmig, aber so, dass die beiden Krümmungen nicht in
einer Ebene liegen. Fig. 53 stellt diese Penis-Armatur bei sehr
starker Vergrösserung dar.
Fig. 52.
Macrostoma viride.
Fig.
53.
S-
förmig
es
Kopul
ations
organ
von
Macro
stoma
viride.
Fig. 54.
Spermatogenese (M.
viride).
Was das W a s s e r g e f ä s s s y s t e m anlangt, so kann man sich bei
M. viride die zwei seitlichen Hauptstämme leicht zur Ansicht bringen.
Es scheint, dass sich dieselben oberhalb des Mundes vereinigen
und noch einige kleine Verästelungen nach dem Vorderende
hinschicken.
Die Macrostomiden gehören zu den Rhabdocölen mit zwei
Geschlechtsöffnungen, einer männlichen und einer weiblichen. Die
erstere liegt im verbreiterten Hinterteile, die andere in der
ungefähren Höhe der Ovarien; beide natürlich auf der Bauchseite.
Bei Macrostoma viride konnte ich auch einige Beobachtungen
über die S p e r m a t o z o e n - E n t w i c k e l u n g machen, welche diesen
Vorgang in seinen Hauptzügen klarstellen. Zerzupft oder zerquetscht
man einen reifen Hoden vorsichtig auf dem Objektträger, so hat man
in einem und demselben Präparate gleich alle Stadien der
Spermatogenese beisammen. Ich habe dieselben der Reihe nach in
Fig. 54 abgebildet und mit Buchstaben bezeichnet. Den
Ausgangspunkt für die Entwickelung der Samenkörper bilden die
vollkommen kugeligen und ganz durchsichtigen Hodenzellen oder
S p e r m a t o g o n i e n (a). Diese zumeist mehrkernigen Gebilde
verwandeln sich durch Einschnürung ihres Protoplasmaleibes in
ebensoviele S p e r m a t o c y t e n oder Samenzellen (d), die aber
zunächst in Zusammenhang mit einander bleiben. Jede einzelne
Spermatocyte lässt zwei kleine Fortsätze aus sich hervorsprossen,
von welchen der eine in der Folge zum Schwanzfaden des
Spermatozoon, der andere zur sogenannten „Nebengeissel“
desselben wird. Die einkernigen Spermatogonien (b) entwickeln sich
genau auf dieselbe Weise; nur zuweilen kommt es vor (c), dass die
Nebengeissel schon weit hervorgesprosst ist, ehe sich noch irgend
eine Spur von der Bildung des Schwanzfadens zeigt. Bei
fortschreitender Entwickelung lösen sich die Spermatocyten aus
ihrem ursprünglichen Verband (d) und nehmen das in e dargestellte
Aussehen an, indem sich ihr protoplasmatischer Teil in die Länge
streckt. Erst zu allerletzt kommt die bislang im Ruhezustande
verbliebene Kernsubstanz in Bewegung, um in dem immer
spindelförmiger werdenden Spermatozoenkopfe sich gleichmässig
zu verteilen. In f sehen wir dann das völlig fertige Samenkörperchen
von Macrostoma viride, wie es zu vielen hunderten in dem Präparate
eines zerdrückten Hodens vorhanden zu sein pflegt. Der
Schwanzteil dieser Körperchen besitzt eine ausserordentlich
lebhafte Schlängelbewegung, wogegen die steife Nebengeissel nur
mit mässiger Geschwindigkeit hin und her pendelt.
Die am meisten verbreitete Spezies der Gattung Macrostoma ist
übrigens nicht diese, sondern M. hystrix Oerst.; in den wesentlichen
Bauverhältnissen stimmen aber beide mit einander überein. Die
letztgenannte Art ist dadurch merkwürdig, dass sie nicht bloss im
süssen, sondern auch im salzigen Wasser vorkommt. Auch lebt sie
nicht bloss in seichten Pfützen und Tümpeln, sondern verträgt
ebensogut den Aufenthalt in beträchtlichen Tiefen. Nach einer
Angabe von D u p l e s s i s ist sie sogar noch im Grundschlamme des
Genfersees zu finden[102]. An schwimmenden Holzstückchen und
dem Wellenschlag ausgesetzten Wasserpflanzen vermögen sich die
Tierchen mit Hilfe ihrer „K l e b z e l l e n “ festzuhalten, welche am untern
Saume des spatelähnlichen Hinterendes in grosser Anzahl befindlich
sind. Solchen eigentümlichen Haftapparaten begegnen wir auch bei
mehreren anderen Turbellariengattungen.
Microstoma lineare O e r s t .
Einzelindividuen von dieser Spezies kommen höchst selten vor;
gewöhnlich findet man nur Ketten, die, wie Fig. 55 veranschaulicht,
aus mehreren ungleichaltrigen Exemplaren bestehen. Dieser Befund
findet seine Erklärung in der Thatsache, dass Microstoma lineare
sich vorwiegend durch Querteilung oder, richtiger gesagt, durch
t e r m i n a l e K n o s p e n b i l d u n g fortpflanzt. In nachstehender Figur
haben wir eine Kette von vier Individuen vor uns, deren
Entwickelung wie folgt zu denken ist. Aus dem ursprünglichen
Muttertiere (A) ging B als Tochterspross auf die nämliche Art hervor,
wie jetzt die Knospe b aus ihm selbst, oder wie a aus A. Der Zeit
nach ist die Reihenfolge dabei diese: A, B, b, a. Das heisst: A
erzeugte zunächst B; hierauf entstand die Knospe b und dann erst
die mit a bezeichnete neue aus dem alten Mutterindividuum A.
Bei genauerer Beobachtung dieser eigentümlichen
Fortpflanzungsweise bemerkt man, dass stets nur das hinterste
Drittel des Muttertieres zur Erzeugung des Tochtersprosses
verwendet wird. Mit dem Auftreten zweier Augenpunkte und der
Bildung einer Einschnürung, welche die künftige Trennungsstelle
andeutet, nimmt der Knospungsprozess seinen Anfang. In der Folge
vergrössert sich das Tochterstück allmählich und holt mit seinem
rascheren Wachstum den sich gleichfalls regenerierenden
mütterlichen Teil ein, bis beide in ihren Dimensionen sich fast
vollkommen gleichen. Mit der Neubildung eines Gehirns und
Schlundes am Spross erreicht die Entwickelung des letztern ihren
Abschluss, und es erfolgt seine Lostrennung vom
Stammorganismus. Aber bevor er selbst noch fertig ausgebildet war,
wurde in seinem hintern Leibesdrittel bereits die dritte Generation
angelegt, bezüglich deren sich der nämliche Sprossungsvorgang
wiederholt, und so geht diese Vermehrung immer fort, den ganzen
Sommer hindurch.