100% found this document useful (2 votes)
9 views

(Ebook) Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 by Dmitry Vostokov ISBN 9781484290811, 148429081X - Read the ebook online or download it as you prefer

The document provides information about various ebooks available for instant download at ebooknice.com, including titles focused on ARM64 and Intel x64 Linux debugging, as well as other subjects like cooking and mathematics. Each ebook includes details such as the author, ISBN, and a link for purchase. The content also outlines the structure and topics covered in the 'Foundations of ARM64 Linux Debugging, Disassembling, and Reversing' by Dmitry Vostokov.

Uploaded by

hutbiediola
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
9 views

(Ebook) Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 by Dmitry Vostokov ISBN 9781484290811, 148429081X - Read the ebook online or download it as you prefer

The document provides information about various ebooks available for instant download at ebooknice.com, including titles focused on ARM64 and Intel x64 Linux debugging, as well as other subjects like cooking and mathematics. Each ebook includes details such as the author, ISBN, and a link for purchase. The content also outlines the structure and topics covered in the 'Foundations of ARM64 Linux Debugging, Disassembling, and Reversing' by Dmitry Vostokov.

Uploaded by

hutbiediola
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 84

Instant Ebook Access, One Click Away – Begin at ebooknice.

com

(Ebook) Foundations of ARM64 Linux Debugging,


Disassembling, and Reversing: Analyze Code,
Understand Stack Memory Usage, and Reconstruct
Original C/C++ Code with ARM64 by Dmitry Vostokov
ISBN 9781484290811, 148429081X
https://ebooknice.com/product/foundations-of-arm64-linux-
debugging-disassembling-and-reversing-analyze-code-
understand-stack-memory-usage-and-reconstruct-original-c-c-
code-with-arm64-47632832

OR CLICK BUTTON

DOWLOAD EBOOK

Get Instant Ebook Downloads – Browse at https://ebooknice.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

Start reading on any device today!

(Ebook) Foundations of Linux Debugging, Disassembling, and Reversing: Analyze Binary


Code, Understand Stack Memory Usage, and Reconstruct C/C++ Code with Intel x64 by
Dmitry Vostokov ISBN 9781484291528, 1484291522

https://ebooknice.com/product/foundations-of-linux-debugging-disassembling-and-
reversing-analyze-binary-code-understand-stack-memory-usage-and-reconstruct-c-c-
code-with-intel-x64-47633766

ebooknice.com

(Ebook) Biota Grow 2C gather 2C cook by Loucas, Jason; Viles, James ISBN
9781459699816, 9781743365571, 9781925268492, 1459699815, 1743365578, 1925268497

https://ebooknice.com/product/biota-grow-2c-gather-2c-cook-6661374

ebooknice.com

(Ebook) Matematik 5000+ Kurs 2c Lärobok by Lena Alfredsson, Hans Heikne, Sanna
Bodemyr ISBN 9789127456600, 9127456609

https://ebooknice.com/product/matematik-5000-kurs-2c-larobok-23848312

ebooknice.com

(Ebook) SAT II Success MATH 1C and 2C 2002 (Peterson's SAT II Success) by Peterson's
ISBN 9780768906677, 0768906679

https://ebooknice.com/product/sat-ii-success-math-1c-and-2c-2002-peterson-s-sat-
ii-success-1722018

ebooknice.com
(Ebook) Master SAT II Math 1c and 2c 4th ed (Arco Master the SAT Subject Test: Math
Levels 1 & 2) by Arco ISBN 9780768923049, 0768923042

https://ebooknice.com/product/master-sat-ii-math-1c-and-2c-4th-ed-arco-master-
the-sat-subject-test-math-levels-1-2-2326094

ebooknice.com

(Ebook) Cambridge IGCSE and O Level History Workbook 2C - Depth Study: the United
States, 1919-41 2nd Edition by Benjamin Harrison ISBN 9781398375147, 9781398375048,
1398375144, 1398375047

https://ebooknice.com/product/cambridge-igcse-and-o-level-history-
workbook-2c-depth-study-the-united-states-1919-41-2nd-edition-53538044

ebooknice.com

(Ebook) Accelerated Disassembly, Reconstruction and Reversing, Second Revised


Edition by Dmitry Vostokov ISBN 9781912636693, 1912636697

https://ebooknice.com/product/accelerated-disassembly-reconstruction-and-
reversing-second-revised-edition-52237588

ebooknice.com

(Ebook) Python Debugging for AI, Machine Learning, and Cloud Computing by Dmitry
Vostokov ISBN 9781484297452, 1484297458

https://ebooknice.com/product/python-debugging-for-ai-machine-learning-and-
cloud-computing-55714196

ebooknice.com

(Ebook) Advanced Windows Memory Dump Analysis with Data Structures by Dmitry
Vostokov ISBN 9781908043849, 1908043849

https://ebooknice.com/product/advanced-windows-memory-dump-analysis-with-data-
structures-6621088

ebooknice.com
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

ISBN-13 (pbk): 978-1-4842-9081-1 ISBN-13 (electronic): 978-1-4842-9082-8


https://doi.org/10.1007/978-1-4842-9082-8
Copyright © 2023 by Dmitry Vostokov
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way,
and transmission or information storage and retrieval, electronic adaptation, computer software,
or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark
symbol with every occurrence of a trademarked name, logo, or image we use the names, logos,
and images only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of
publication, neither the authors nor the editors nor the publisher can accept any legal
responsibility for any errors or omissions that may be made. The publisher makes no warranty,
express or implied, with respect to the material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Celestin Suresh John
Development Editor: James Markham
Coordinating Editor: Mark Powers
Cover designed by eStudioCalamar
Cover image by Susan Wilkinson on Unsplash (www.unsplash.com)
Distributed to the book trade worldwide by Apress Media, LLC, 1 New York Plaza, New York, NY
10004, U.S.A. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected],
or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member
(owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance
Inc is a Delaware corporation.
For information on translations, please e-mail [email protected]; for
reprint, paperback, or audio rights, please e-mail [email protected].
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook
versions and licenses are also available for most titles. For more information, reference our Print
and eBook Bulk Sales web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is
available to readers on GitHub (https://github.com/Apress). For more detailed information,
please visit http://www.apress.com/source-code.
Printed on acid-free paper
Table of Contents
About the Author���������������������������������������������������������������������������������ix

About the Technical Reviewer�������������������������������������������������������������xi

Preface����������������������������������������������������������������������������������������������xiii

Chapter 1: Memory, Registers, and Simple Arithmetic�������������������������1


Memory and Registers Inside an Idealized Computer������������������������������������������1
Memory and Registers Inside ARM 64-Bit Computer��������������������������������������������2
“Arithmetic” Project: Memory Layout and Registers��������������������������������������������3
“Arithmetic” Project: A Computer Program�����������������������������������������������������������5
“Arithmetic” Project: Assigning Numbers to Memory Locations���������������������������5
Assigning Numbers to Registers���������������������������������������������������������������������������8
“Arithmetic” Project: Adding Numbers to Memory Cells���������������������������������������9
Incrementing/Decrementing Numbers in Memory and Registers�����������������������12
Multiplying Numbers�������������������������������������������������������������������������������������������15
Summary������������������������������������������������������������������������������������������������������������18

Chapter 2: Code Optimization�������������������������������������������������������������19


“Arithmetic” Project: C/C++ Program�����������������������������������������������������������������19
Downloading GDB�����������������������������������������������������������������������������������������������20
GDB Disassembly Output – No Optimization�������������������������������������������������������21
GDB Disassembly Output – Optimization������������������������������������������������������������27
Summary������������������������������������������������������������������������������������������������������������28

iii
Table of Contents

Chapter 3: Number Representations��������������������������������������������������29


Numbers and Their Representations�������������������������������������������������������������������29
Decimal Representation (Base Ten)��������������������������������������������������������������������30
Ternary Representation (Base Three)������������������������������������������������������������������30
Binary Representation (Base Two)����������������������������������������������������������������������31
Hexadecimal Representation (Base Sixteen)������������������������������������������������������32
Why Are Hexadecimals Used?�����������������������������������������������������������������������������32
Summary������������������������������������������������������������������������������������������������������������34

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

Chapter 5: Bytes, Halfwords, Words, and Doublewords����������������������59


Using Hexadecimal Numbers������������������������������������������������������������������������������59
Byte Granularity��������������������������������������������������������������������������������������������������60
Bit Granularity�����������������������������������������������������������������������������������������������������60
Memory Layout���������������������������������������������������������������������������������������������������61
Summary������������������������������������������������������������������������������������������������������������64

iv
Table of Contents

Chapter 6: Pointers to Memory�����������������������������������������������������������65


Pointers Revisited�����������������������������������������������������������������������������������������������65
Addressing Types������������������������������������������������������������������������������������������������65
Registers Revisited���������������������������������������������������������������������������������������������70
NULL Pointers�����������������������������������������������������������������������������������������������������70
Invalid Pointers���������������������������������������������������������������������������������������������������70
Variables As Pointers������������������������������������������������������������������������������������������71
Pointer Initialization��������������������������������������������������������������������������������������������71
Initialized and Uninitialized Data�������������������������������������������������������������������������72
More Pseudo Notation�����������������������������������������������������������������������������������������72
“MemoryPointers” Project: Memory Layout�������������������������������������������������������73
Summary������������������������������������������������������������������������������������������������������������87

Chapter 7: Logical Instructions and PC����������������������������������������������89


Instruction Format����������������������������������������������������������������������������������������������89
Logical Shift Instructions������������������������������������������������������������������������������������90
Logical Operations����������������������������������������������������������������������������������������������90
Zeroing Memory or Registers�����������������������������������������������������������������������������91
Program Counter�������������������������������������������������������������������������������������������������92
Code Section�������������������������������������������������������������������������������������������������������93
Summary������������������������������������������������������������������������������������������������������������94

Chapter 8: Reconstructing a Program with Pointers��������������������������95


Example of Disassembly Output: No Optimization����������������������������������������������95
Reconstructing C/C++ Code: Part 1��������������������������������������������������������������������98
Reconstructing C/C++ Code: Part 2������������������������������������������������������������������100
Reconstructing C/C++ Code: Part 3������������������������������������������������������������������102

v
Table of Contents

Reconstructing C/C++ Code: C/C++ Program��������������������������������������������������103


Example of Disassembly Output: Optimized Program���������������������������������������104
Summary����������������������������������������������������������������������������������������������������������106

Chapter 9: Memory and Stacks��������������������������������������������������������107


Stack: A Definition���������������������������������������������������������������������������������������������107
Stack Implementation in Memory���������������������������������������������������������������������108
Things to Remember�����������������������������������������������������������������������������������������110
Stack Push Implementation������������������������������������������������������������������������������111
Stack Pop Implementation��������������������������������������������������������������������������������111
Register Review������������������������������������������������������������������������������������������������111
Application Memory Simplified�������������������������������������������������������������������������112
Stack Overflow��������������������������������������������������������������������������������������������������113
Jumps���������������������������������������������������������������������������������������������������������������114
Calls������������������������������������������������������������������������������������������������������������������115
Call Stack����������������������������������������������������������������������������������������������������������116
Exploring Stack in GDB�������������������������������������������������������������������������������������118
Summary����������������������������������������������������������������������������������������������������������121

Chapter 10: Frame Pointer and Local Variables�������������������������������123


Stack Usage������������������������������������������������������������������������������������������������������123
Register Review������������������������������������������������������������������������������������������������124
Addressing Array Elements�������������������������������������������������������������������������������124
Stack Structure (No Function Parameters)�������������������������������������������������������126
Function Prolog�������������������������������������������������������������������������������������������������127
Raw Stack (No Local Variables and Function Parameters)�������������������������������127
Function Epilog�������������������������������������������������������������������������������������������������129

vi
Table of Contents

“Local Variables” Project����������������������������������������������������������������������������������130


Disassembly of Optimized Executable��������������������������������������������������������������133
Summary����������������������������������������������������������������������������������������������������������134

Chapter 11: Function Parameters�����������������������������������������������������135


“FunctionParameters” Project��������������������������������������������������������������������������135
Stack Structure�������������������������������������������������������������������������������������������������136
Function Prolog and Epilog�������������������������������������������������������������������������������138
Project Disassembled Code with Comments����������������������������������������������������139
Parameter Mismatch Problem��������������������������������������������������������������������������144
Summary����������������������������������������������������������������������������������������������������������145

Chapter 12: More Instructions����������������������������������������������������������147


PSTATE Flags�����������������������������������������������������������������������������������������������������147
Testing for 0������������������������������������������������������������������������������������������������������147
TST – Logical Compare�������������������������������������������������������������������������������������148
CMP – Compare Two Operands�������������������������������������������������������������������������149
TST or CMP?�����������������������������������������������������������������������������������������������������150
Conditional Jumps��������������������������������������������������������������������������������������������150
Function Return Value���������������������������������������������������������������������������������������151
Summary����������������������������������������������������������������������������������������������������������152

Chapter 13: Function Pointer Parameters����������������������������������������153


“FunctionPointerParameters” Project���������������������������������������������������������������153
Commented Disassembly���������������������������������������������������������������������������������154
Summary����������������������������������������������������������������������������������������������������������161

vii
Table of Contents

Chapter 14: Summary of Code Disassembly Patterns����������������������163


Function Prolog/Epilog��������������������������������������������������������������������������������������163
ADR (Address)���������������������������������������������������������������������������������������������������164
Passing Parameters������������������������������������������������������������������������������������������164
Accessing Saved Parameters and Local Variables��������������������������������������������165
Summary����������������������������������������������������������������������������������������������������������166

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

development, and diagnostics workflow and interaction. Recent areas


of interest also include cloud native computing, security, automation,
functional programming, and applications of category theory to software
development and big data.

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 support and escalation engineers, cloud


security engineers, SRE, and DevSecOps

• Software engineers coming from JVM background

• Software testers

• Engineers coming from non-Linux environments, for


example, Windows or Mac OS X

xiii
Preface

• Engineers coming from non-ARM environments, for


example, x86/x64

• Linux C/C++ software engineers without assembly


language background

• Security researchers without assembly language


background

• Beginners learning Linux software reverse engineering


techniques

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.

© Dmitry Vostokov 2023 1


D. Vostokov, Foundations of ARM64 Linux Debugging, Disassembling, and Reversing,
https://doi.org/10.1007/978-1-4842-9082-8_1
Chapter 1 Memory, Registers, and Simple Arithmetic

Figure 1-1. Computer memory represented as a sequence of memory


cells and locations

 emory and Registers Inside ARM


M
64-Bit Computer
Here, addresses for memory locations containing integer values usually
differ by four or eight, and we also show two registers called X0 and X1.
The first halves of them are called W0 and W1 as shown in Figure 1-2.

2
Chapter 1 Memory, Registers, and Simple Arithmetic

Figure 1-2. Typical ARM 64-bit memory and register layout

Because memory cells contain “numbers,” we start with simple


arithmetic and ask a processor to compute the sum of two numbers to see
how memory and registers change their values.

“ Arithmetic” Project: Memory Layout


and Registers
For our project, we have two memory addresses (locations) that we call
“a” and “b.” We can think about “a” and “b” as names of their respective
addresses (locations). Now we introduce a special notation where (a)

3
Chapter 1 Memory, Registers, and Simple Arithmetic

means contents at the memory address (location) “a.” If we use the C


or C++ language to write our project, we declare and define memory
locations “a” and “b” as

static int a, b;

By default, when we load a program, static memory locations are filled


with zeroes, and we can depict our initial memory layout after loading the
program, as shown in Figure 1-3.

Figure 1-3. Initial memory layout after loading the program

4
Chapter 1 Memory, Registers, and Simple Arithmetic

“Arithmetic” Project: A Computer Program


We can think of a computer program as a sequence of instructions for
the manipulation of contents of memory cells and registers. For example,
addition operation: add the contents of memory cell №12 to the contents
of memory cell №14. In our pseudo-code, we can write

[14] <- [14] + [12]

Our first program in pseudo-code is shown on the left of the table:

[a] <- 1 Here, we put assembly instructions corresponding to


[b] <- 1 pseudo-code.
[b] <- [b] + [a]
[a] <- [a] + 1
[b] <- [b] * [a]

“<-” means moving (assigning) the new value to the contents of a


memory location (address). “//” is a comment sign, and the rest of the line
is a comment. “=” shows the current value at a memory location (address).
To remind, a code written in a high-level programming language is
translated to a machine language by a compiler. However, the machine
language can be readable if its digital codes are represented in some
mnemonic system called assembly language. For example, ADD X1, X1, #1
is increment by one of what is stored in the register memory cell X1.

“ Arithmetic” Project: Assigning Numbers


to Memory Locations
We remind that “a” means the location (address) of the memory cell,
and it is also the name of the location (address) 00000000004b2b00 (see
Figure 1-3). [a] means the contents (number) stored at the address “a.”

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;

In ARM64 assembly language, we write several instructions for that:

adr x0, a
mov w1, #1
str w1, [x0]

In the GDB disassembly output, we may see the following code:

adrp    x0, 0x4b2000
add     x0, x0, #0xb00
mov     w1, #0x1
str     w1, [x0]

We show the translation of our pseudo-code into assembly language in


the right column:

[a] <- 1          // x0 = a adr  x0, a


// w1 = 1 mov  w1, #1
// [a] = 1 str  w1, [x0]
[b] <- 1          // x0 = b adr  x0, b
// w1 = 1 mov  w1, #1
// [b] = 1 str  w1, [x0]
[b] <- [b] + [a]
[a] <- [a] + 1
[b] <- [b] * [a]

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

After executing the next three assembly language instructions, we have


the memory layout shown in Figure 1-4B.

Figure 1-4B. Memory layout after executing the next three assembly
language instructions

Assigning Numbers to Registers


In the previous section, we saw that assigning numbers was a part of
memory assignments. We can write in pseudo-code:

register <- 1
register <- [a]

8
Chapter 1 Memory, Registers, and Simple Arithmetic

Note that we do not use brackets when we refer to register contents.


The latter instruction means assigning (copying) the number at the
location (address) “a” to a register.
In assembly language, we write

mov  w1, #1              // 1 is copied to the first half of X1


register
mov  x1, #1              // full contents of X1 register are
replaced with 1
adr  x0, a               // copy the location (address) "a" to
X0 register
ldr  w1, [x0]            // copy the number at the location
stored in X0 to
                         // the first half of X1 register
Ldr  x1, [x0]            // copy the number at the location
stored in X0 to X1

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:

adrp x0, 0x4b2000        // 0x4b2000 + 0xb00 = 0x4b2b00


("a" address)
add  x0, x0, #0xb00
ldr  w1, [x0]

“ Arithmetic” Project: Adding Numbers


to Memory Cells
Now let's look at the following pseudo-code statement in more detail:

[b] <- [b] + [a]

9
Chapter 1 Memory, Registers, and Simple Arithmetic

To recall, “a” and “b” mean the names of locations (addresses)


00000000004b2b00 and 00000000004b2b04, respectively (see Figures 1-4A
and 1-4B). [a] and [b] mean contents at addresses “a” and “b,” respectively,
simply some numbers stored there.
In the C or C++ language, we write the following statement:

b = b + a;
b += a;

In assembly language, we use the instruction ADD. Because of ARM


architecture limitations, we cannot use memory addresses in one step
(instruction), for example, add b, b, a. We can only use the add register1,
register1, register0 instruction to add the value stored in the register0 to
the value stored in the register1 and move the result to the register1. So,
first, we need to load (ldr) contents at addresses “a” and “b” to registers
and store (str) the result back to the memory location “b” after addition.
Recall that a register is like a temporary memory cell itself here:

Register2 <- [b]


Register1 <- [a]
Register2 <- register2 + register1
[b] <- register2

In assembly language, we write

adr  x0, b
ldr  w1, [x0]
adr  x0, a
ldr  w0, [x0]
add  w1, w1, w0
adr  x0, b
str  w1, [x0]

In the GDB disassembly output, we may see the following code:

10
Chapter 1 Memory, Registers, and Simple Arithmetic

adrp x0, 0x4b2000


add  x0, x0, #0xb00
ldr  w1, [x0]
adrp x0, 0x4b2000
add  x0, x0, #0xb04
ldr  w0, [x0]
add  w1, w1, w0
adrp x0, 0x4b2000
add  x0, x0, #0xb04
str  w1, [x0]

Now we can translate our pseudo-code into assembly language:

[a] <- 1          // x0 = a adr  x0, a


// w1 = 1 mov  w1, #1
// [a] = 1 str  w1, [x0]
[b] <- 1          // x0 = b adr  x0, b
// w1 = 1 mov  w1, #1
// [b] = 1 str  w1, [x0]
[b] <- [b] + [a]  // x0 = b adr  x0, b
// w1 = 1 ldr  w1, [x0]
// x0 = a adr  x0, a
// w0 = 1 ldr  w0, [x0]
// w1 = 2 add  w1, w1, w0
// x0 = b adr  x0, b
// [b] = 2 str  w1, [x0]
[a] <- [a] + 1
[b] <- [b] * [a]

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”:

[a] <- [a] + 1


[a] <- [a] – 1

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--;

In assembly language, we use instructions ADD and SUB and write

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]

In the GDB disassembly output, we may see the similar instructions:

adrp x0, 0x4b2000


add  x0, x0, #0xb00
ldr  w0, [x0]
add  w1, w0, #0x1
adrp x0, 0x4b2000
add  x0, x0, #0xb00
str  w1, [x0]

13
Chapter 1 Memory, Registers, and Simple Arithmetic

Now we add the assembly language translation of increment:

[a] <- 1          // x0 = a adr  x0, a


                  // w1 = 1 mov  w1, #1
                  // [a] = 1 str  w1, [x0]
[b] <- 1          // x0 = b adr  x0, b
                  // w1 = 1 mov  w1, #1
                  // [b] = 1 str  w1, [x0]
[b] <- [b] + [a]  // x0 = b adr  x0, b
                  // w1 = 1 ldr  w1, [x0]
                  // x0 = a adr  x0, a
                  // w0 = 1 ldr  w0, [x0]
                  // w1 = 2 add  w1, w1, w0
                  // x0 = b adr  x0, b
                  // [b] = 2 str  w1, [x0]
[a] <- [a] + 1    // x0 = a adr  x0, a
                  // w1 = 1 ldr  w1, [x0]
                  // w1 = 2 add  w1, w1, #1
                  // [a] = 2 str  w1, [x0]
[b] <- [b] * [a]

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]

It means that we multiply the number at the location (address) “b” by


the number at the location (address) “a.”
In the C or C++ language, we can write that using two ways:

b =  b * a;
b *= a;

15
Chapter 1 Memory, Registers, and Simple Arithmetic

In assembly language, we use instruction MUL and write

adr  x0, b
ldr  w1, [x0]
adr  x0, a
ldr  w0, [x0]
mul  w1, w1, w0
adr  x0, b
str  w1, [x0]

In the GDB disassembly output, we may see the following code:

adrp x0, 0x4b2000


add  x0, x0, #0xb04
ldr  w1, [x0]
adrp x0, 0x4b2000
add  x0, x0, #0xb00
ldr  w0, [x0]
mul  w1, w1, w0
adrp x0, 0x4b2000
add  x0, x0, #0xb04
str  w1, [x0]

Now we add additional assembly instructions to our pseudo-code


assembly language translation:

16
Chapter 1 Memory, Registers, and Simple Arithmetic

[a] <- 1          // x0 = a adr  x0, a


                  // w1 = 1 mov  w1, #1
                  // [a] = 1 str  w1, [x0]
[b] <- 1          // x0 = b adr  x0, b
                  // w1 = 1 mov  w1, #1
                  // [b] = 1 str  w1, [x0]
[b] <- [b] + [a]  // x0 = b adr  x0, b
                  // w1 = 1 ldr  w1, [x0]
                  // x0 = a adr  x0, a
                  // w0 = 1 ldr  w0, [x0]
                  // w1 = 2 add  w1, w1, w0
                  // x0 = b adr  x0, b
                  // [b] = 2 str  w1, [x0]
[a] <- [a] + 1    // x0 = a adr  x0, a
                  // w1 = 1 ldr  w1, [x0]
                  // w1 = 2 add  w1, w1, #1
                  // [a] = 2 str  w1, [x0]
[b] <- [b] * [a]  // x0 = b adr  x0, b
                  // w1 = 2 ldr  w1, [x0]
                  // x0 = a adr  x0, a
                  // w0 = 2 ldr  w0, [x0]
                  // w1 = 4 mul  w1, w1, w0
                  // x0 = b adr  x0, b
                  // [b] = 4 str  w1, [x0]

After the execution of the STR instruction, we have the memory layout
illustrated in Figure 1-7.

17
Chapter 1 Memory, Registers, and Simple Arithmetic

Figure 1-7. Memory layout after the execution of the STR instruction

Summary
This chapter introduced CPU registers and explained the memory layout
of a simple arithmetic program. We learned basic ARM64 commands,
including loading values from and storing values in memory. We also
manually translated C and C++ code to assembly language.
The next chapter looks at assembly language code produced by a
debugger via disassembling binary code. Then, we reverse it to C and C++
code. We also compare the disassembly output of nonoptimized code to
optimized code.

18
CHAPTER 2

Code Optimization
“Arithmetic” Project: C/C++ Program
Let's rewrite our “Arithmetic” program in C/C++. Corresponding assembly
language instructions are put in comments:

int a, b;

int main(int argc, char* argv[])


{
      a = 1;              // adr  x0, a
                          // mov  w1, #1
                          // str  w1, [x0]

      b = 1;              // adr  x0, b


                          // mov  w1, #1
                          // str  w1, [x0]

      b = b + a;          // adr  x0, b


                          // ldr  w1, [x0]
                          // adr  x0, a
                          // ldr  w0, [x0]
                          // add  w1, w1, w0
                          // adr  x0, b
                          // str  w1, [x0]

© Dmitry Vostokov 2023 19


D. Vostokov, Foundations of ARM64 Linux Debugging, Disassembling, and Reversing,
https://doi.org/10.1007/978-1-4842-9082-8_2
Chapter 2 Code Optimization

      ++a;                // adr  x0, a
                          // ldr  w1, [x0]
                          // add  w1, w1, #1
                          // str  w1, [x0]

      b = b * a;          // adr  x0, b


                          // ldr  w1, [x0]
                          // adr  x0, a
                          // ldr  w0, [x0]
                          // mul  w1, w1, w0
                          // adr  x0, b
                          // str  w1, [x0]

                          // results: [a] = 2 and [b] = 4


      return 0;
}

Downloading GDB
We used one of the free ARM64 Linux compute instances available from
cloud providers. In our case, GDB was already available after provisioning.
If, in your case, GDB is not available, you need to install it together with
basic build tools. For example, in Debian:

$ sudo apt install build-essential


$ sudo apt install gdb

You may also need to download git to clone source code:

$ sudo apt install git


$ cd ~
$ git clone github.com/apress/arm64-linux-debugging-­
disassembling-reversing .

20
Chapter 2 Code Optimization

On our RHEL-type system, we updated the tools (git included)


and GDB via

$ sudo yum group install "Development Tools"


$ sudo yum install gdb

GDB Disassembly Output – No Optimization


The source code can be downloaded from the following location:

github.com/apress/arm64-linux-debugging-disassembling-
reversing/Chapter2/

If we compile and link the program in no optimization mode (default):

$ gcc ArithmeticProjectC.cpp -o ArithmeticProjectC

we get the binary executable module we can load in GDB and inspect
assembly code.
First, we run GDB with the program as a parameter:

$ gdb ./ArithmeticProjectC
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.0.2.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/
licenses/gpl.html>
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type
"show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...

21
Chapter 2 Code Optimization

Reading symbols from /home/coredump/pflddr/A64/Chapter2/


ArithmeticProjectC...(no debugging symbols found)...done.
(gdb)

Next, we put a breakpoint at our main C/C++ function to allow the


program execution to stop at that point and give us a chance to inspect
memory and registers. Symbolic names/function names like "main" can be
used instead of code memory locations:

(gdb) break main


Breakpoint 1 at 0x4005bc

Then we start the execution of the program (let it run). The program
then stops at the previously set breakpoint:

Starting program: /home/coredump/pflddr/A64/Chapter2/./


ArithmeticProjectC

Breakpoint 1, 0x00000000004005bc in main ()


Missing separate debuginfos, use: debuginfo-install
glibc-2.17-325.0.2.el7_9.aarch64

Now we disassemble the main function:

(gdb) disass main


Dump of assembler code for function main:
   0x00000000004005b8 <+0>:     sub     sp, sp, #0x10
=> 0x00000000004005bc <+4>:     str     w0, [sp,#12]
   0x00000000004005c0 <+8>:     str     x1, [sp]
   0x00000000004005c4 <+12>:    adrp    x0, 0x420000
   0x00000000004005c8 <+16>:    add     x0, x0, #0x20
   0x00000000004005cc <+20>:    mov     w1, #0x1          // #1
   0x00000000004005d0 <+24>:    str     w1, [x0]
   0x00000000004005d4 <+28>:    adrp    x0, 0x420000
   0x00000000004005d8 <+32>:    add     x0, x0, #0x24

22
Chapter 2 Code Optimization

   0x00000000004005dc <+36>:    mov     w1, #0x1          // #1


   0x00000000004005e0 <+40>:    str     w1, [x0]
   0x00000000004005e4 <+44>:    adrp    x0, 0x420000
   0x00000000004005e8 <+48>:    add     x0, x0, #0x24
   0x00000000004005ec <+52>:    ldr     w1, [x0]
   0x00000000004005f0 <+56>:    adrp    x0, 0x420000
   0x00000000004005f4 <+60>:    add     x0, x0, #0x20
   0x00000000004005f8 <+64>:    ldr     w0, [x0]
   0x00000000004005fc <+68>:    add     w1, w1, w0
   0x0000000000400600 <+72>:    adrp    x0, 0x420000
   0x0000000000400604 <+76>:    add     x0, x0, #0x24
   0x0000000000400608 <+80>:    str     w1, [x0]
   0x000000000040060c <+84>:    adrp    x0, 0x420000
   0x0000000000400610 <+88>:    add     x0, x0, #0x20
   0x0000000000400614 <+92>:    ldr     w0, [x0]
   0x0000000000400618 <+96>:    add     w1, w0, #0x1
   0x000000000040061c <+100>:   adrp    x0, 0x420000
   0x0000000000400620 <+104>:   add     x0, x0, #0x20
   0x0000000000400624 <+108>:   str     w1, [x0]
---Type <return> to continue, or q <return> to quit---
   0x0000000000400628 <+112>:   adrp    x0, 0x420000
   0x000000000040062c <+116>:   add     x0, x0, #0x24
   0x0000000000400630 <+120>:   ldr     w1, [x0]
   0x0000000000400634 <+124>:   adrp    x0, 0x420000
   0x0000000000400638 <+128>:   add     x0, x0, #0x20
   0x000000000040063c <+132>:   ldr     w0, [x0]
   0x0000000000400640 <+136>:   mul     w1, w1, w0
   0x0000000000400644 <+140>:   adrp    x0, 0x420000
   0x0000000000400648 <+144>:   add     x0, x0, #0x24
   0x000000000040064c <+148>:   str     w1, [x0]

23
Chapter 2 Code Optimization

   0x0000000000400650 <+152>:   mov     w0, #0x0          // #0


   0x0000000000400654 <+156>:   add     sp, sp, #0x10
   0x0000000000400658 <+160>:   ret
End of assembler dump.

We repeat the part of the formatted disassembly output here that


corresponds to our C/C++ code:

   0x00000000004005c4 <+12>:    adrp    x0, 0x420000


   0x00000000004005c8 <+16>:    add     x0, x0, #0x20
   0x00000000004005cc <+20>:    mov     w1, #0x1
   0x00000000004005d0 <+24>:    str     w1, [x0]
   0x00000000004005d4 <+28>:    adrp    x0, 0x420000
   0x00000000004005d8 <+32>:    add     x0, x0, #0x24
   0x00000000004005dc <+36>:    mov     w1, #0x1
   0x00000000004005e0 <+40>:    str     w1, [x0]
   0x00000000004005e4 <+44>:    adrp    x0, 0x420000
   0x00000000004005e8 <+48>:    add     x0, x0, #0x24
   0x00000000004005ec <+52>:    ldr     w1, [x0]
   0x00000000004005f0 <+56>:    adrp    x0, 0x420000
   0x00000000004005f4 <+60>:    add     x0, x0, #0x20
   0x00000000004005f8 <+64>:    ldr     w0, [x0]
   0x00000000004005fc <+68>:    add     w1, w1, w0
   0x0000000000400600 <+72>:    adrp    x0, 0x420000
   0x0000000000400604 <+76>:    add     x0, x0, #0x24
   0x0000000000400608 <+80>:    str     w1, [x0]
   0x000000000040060c <+84>:    adrp    x0, 0x420000
   0x0000000000400610 <+88>:    add     x0, x0, #0x20
   0x0000000000400614 <+92>:    ldr     w0, [x0]
   0x0000000000400618 <+96>:    add     w1, w0, #0x1
   0x000000000040061c <+100>:   adrp    x0, 0x420000
   0x0000000000400620 <+104>:   add     x0, x0, #0x20

24
Chapter 2 Code Optimization

   0x0000000000400624 <+108>:   str     w1, [x0]


   0x0000000000400628 <+112>:   adrp    x0, 0x420000
   0x000000000040062c <+116>:   add     x0, x0, #0x24
   0x0000000000400630 <+120>:   ldr     w1, [x0]
   0x0000000000400634 <+124>:   adrp    x0, 0x420000
   0x0000000000400638 <+128>:   add     x0, x0, #0x20
   0x000000000040063c <+132>:   ldr     w0, [x0]
   0x0000000000400640 <+136>:   mul     w1, w1, w0
   0x0000000000400644 <+140>:   adrp    x0, 0x420000
   0x0000000000400648 <+144>:   add     x0, x0, #0x24
   0x000000000040064c <+148>:   str     w1, [x0]

We can directly translate it to bare assembly code we used in the


previous chapter and put corresponding pseudo-code in comments
(memory addresses may be different on your system):

   0x00000000004005c4 <+12>:    adrp    x0, 0x420000      


// [a] <- 1
   0x00000000004005c8 <+16>:    add     x0, x0, #0x20
   0x00000000004005cc <+20>:    mov     w1, #0x1
   0x00000000004005d0 <+24>:    str     w1, [x0]
   0x00000000004005d4 <+28>:    adrp    x0, 0x420000      
// [b] <- 1
   0x00000000004005d8 <+32>:    add     x0, x0, #0x24
   0x00000000004005dc <+36>:    mov     w1, #0x1
   0x00000000004005e0 <+40>:    str     w1, [x0]
   0x00000000004005e4 <+44>:    adrp    x0, 0x420000      
// [b] <- [b] + [a]
   0x00000000004005e8 <+48>:    add     x0, x0, #0x24
   0x00000000004005ec <+52>:    ldr     w1, [x0]
   0x00000000004005f0 <+56>:    adrp    x0, 0x420000
   0x00000000004005f4 <+60>:    add     x0, x0, #0x20

25
Chapter 2 Code Optimization

   0x00000000004005f8 <+64>:    ldr     w0, [x0]


   0x00000000004005fc <+68>:    add     w1, w1, w0
   0x0000000000400600 <+72>:    adrp    x0, 0x420000
   0x0000000000400604 <+76>:    add     x0, x0, #0x24
   0x0000000000400608 <+80>:    str     w1, [x0]
   0x000000000040060c <+84>:    adrp    x0, 0x420000      
// [a] <- [a] + 1
   0x0000000000400610 <+88>:    add     x0, x0, #0x20
   0x0000000000400614 <+92>:    ldr     w0, [x0]
   0x0000000000400618 <+96>:    add     w1, w0, #0x1
   0x000000000040061c <+100>:   adrp    x0, 0x420000
   0x0000000000400620 <+104>:   add     x0, x0, #0x20
   0x0000000000400624 <+108>:   str     w1, [x0]
   0x0000000000400628 <+112>:   adrp    x0, 0x420000      
// [b] <- [b] * [a]
   0x000000000040062c <+116>:   add     x0, x0, #0x24
   0x0000000000400630 <+120>:   ldr     w1, [x0]
   0x0000000000400634 <+124>:   adrp    x0, 0x420000
   0x0000000000400638 <+128>:   add     x0, x0, #0x20
   0x000000000040063c <+132>:   ldr     w0, [x0]
   0x0000000000400640 <+136>:   mul     w1, w1, w0
   0x0000000000400644 <+140>:   adrp    x0, 0x420000
   0x0000000000400648 <+144>:   add     x0, x0, #0x24
   0x000000000040064c <+148>:   str     w1, [x0]

Now we can exit GDB:

(gdb) q
A debugging session is active.

        Inferior 1 [process 11103] will be killed.

Quit anyway? (y or n) y
$

26
Chapter 2 Code Optimization

GDB Disassembly Output – Optimization


If we compile and link the program in optimization mode:

$ gcc ArithmeticProjectC.cpp -O1 -o ArithmeticProjectC

and after repeating the same steps in GDB, we get the following output:

(gdb) disass main


Dump of assembler code for function main:
   0x00000000004005b8 <+0>:     adrp    x0, 0x420000
   0x00000000004005bc <+4>:     add     x1, x0, #0x20
   0x00000000004005c0 <+8>:     mov     w2, #0x2          // #2
=> 0x00000000004005c4 <+12>:    str     w2, [x0,#32]
   0x00000000004005c8 <+16>:    mov     w0, #0x4          // #4
   0x00000000004005cc <+20>:    str     w0, [x1,#4]
   0x00000000004005d0 <+24>:    mov     w0, #0x0          // #0
   0x00000000004005d4 <+28>:    ret

This corresponds to the following pseudo-code:

[a] <- 2
[b] <- 4

The calculation of memory addresses is a bit more complex:

   0x00000000004005b8 <+0>:   adrp  x0, 0x420000


   0x00000000004005bc <+4>:   add   x1, x0, #0x20     
// x1 = x0 +
0x20 = a
   0x00000000004005c0 <+8>:   mov   w2, #0x2          // w2 = 2
=> 0x00000000004005c4 <+12>:  str   w2, [x0,#32]      // #32 in 0x20
                                                      // [a] = [x0
+ 0x20] = 2
   0x00000000004005c8 <+16>:  mov   w0, #0x4          // w0 = 4
   0x00000000004005cc <+20>:  str   w0, [x1,#4]       // [b] = [a
+ 4] = 4

27
Chapter 2 Code Optimization

What happened to all our assembly code in this executable? This


code seems to be directly placing the end result into “a” and “b” memory
cells if we observe. Why is this happening? The answer lies in compiler
optimization. When the code is compiled in optimization mode, the
compiler can calculate the final result from the simple C/C++ source
code itself and generate only the necessary code to update corresponding
memory locations.

Summary
In this chapter, we looked at assembly language code produced by a
debugger via disassembling binary code. Then, we reversed it to C and C++
code. We also compared the disassembly output of nonoptimized code to
optimized code and understood why.
The next chapter refreshes number representations, especially the
hexadecimal one.

28
CHAPTER 3

Number
Representations
Numbers and Their Representations
Imagine a herder in ancient times trying to count his sheep. He has a
certain number of stones (twelve):

However, he can only count up to three and arranges the total into
groups of three:

© Dmitry Vostokov 2023 29


D. Vostokov, Foundations of ARM64 Linux Debugging, Disassembling, and Reversing,
https://doi.org/10.1007/978-1-4842-9082-8_3
Chapter 3 Number Representations

The last picture is a representation (a kind of notation) of the number


of stones. We have one group of three groups of three stones plus a
separate group of three stones. If he could count up to ten, we would see a
different representation of the same number of stones. We would have one
group of ten stones and another group of two stones.

Decimal Representation (Base Ten)


Let’s now see how twelve stones are represented in arithmetic notation if
we can count up to ten. We have one group of ten numbers plus two:

12dec = 1 * 10 + 2 or 1 * 101 + 2 * 100

Here is another exercise with 123 stones. We have 1 group of ten by


ten stones, another group of 2 groups of ten stones, and the last group of
3 stones:

123dec = 1 * 10*10 + 2 * 10 + 3 or 1 * 102 + 2 * 101 + 3 * 100

We can formalize it in the following summation notation:

Ndec = an*10n + an-1*10n-1 + … + a2*102 + a1*101 + a0*100


0 <= ai <= 9
Using the summation symbol, we have this formula:

n
Ndec = ∑ ai*10i
i=0

Ternary Representation (Base Three)


Now we come back to our herder’s example of twelve stones. We have
1 group of three by three stones, 1 group of three stones, and an empty
(0) group (which is not empty if we have one stone only or have thirteen

30
Chapter 3 Number Representations

stones instead of twelve). We can write down the number of groups


sequentially: 110. Therefore, 110 is a ternary representation (notation) of
twelve stones, and it is equivalent to 12 written in decimal notation:

12dec = 1*32 + 1*31 + 0*30

Ndec = an*3n + an-1*3n-1 + … + a2*32 + a1*31 + a0*30


ai = 0 or 1 or 2

n
Ndec = ∑ ai*3i
i=0

Binary Representation (Base Two)


In the case of counting up to two, we have more groups for twelve stones:
1100. Therefore, 1100 is a binary representation (notation) for 12 in
decimal notation:

12dec = 1*23 + 1*22 + 0*21 + 0*20

123dec = 1*26 + 1*25 + 1*24 + 1*23 + 0*22 + 1*21 + 1*20 or


11110112
Ndec = an*2n + an-1*2n-1 + … + a2*22 + a1*21 + a0*20
ai = 0 or 1

n
Ndec = ∑ ai*2i
i=0

31
Random documents with unrelated
content Scribd suggests to you:
CHAPITRE DEUXIÈME
1623-1626

LA DUCHESSE DE CHEVREUSE BIEN DIFFÉRENTE DE LA DUCHESSE DE


LUYNES.—FAUTE DE POUVOIR AIMER SON NOUVEAU MARI, ELLE SE
DONNE A LA REINE ANNE, DONT L'INTÉRÊT, BIEN OU MAL ENTENDU,
DEVIENT SON PRINCIPAL ET CONSTANT OBJET.—ANNE D'AUTRICHE
OPPRIMÉE PAR MARIE DE MÉDICIS, MME DE CHEVREUSE LA CONSOLE
ET AUSSI LA COMPROMET.—ELLE AIME LE COMTE DE HOLLAND,
AMBASSADEUR D'ANGLETERRE, ET ELLE TACHE D'ENGAGER LA REINE
AVEC BUCKINGHAM.—ELLE ACCOMPAGNE AVEC SON MARI LA NOUVELLE
REINE D'ANGLETERRE A LONDRES. SES SUCCÈS A LA COUR DE CHARLES
IER.—HOLLAND ET BUCKINGHAM LA METTENT DANS LEURS INTRIGUES
CONTRE RICHELIEU.—QUE BUCKINGHAM N'A JAMAIS ÉTÉ SON AMANT.—
LA RÉSISTANCE DE LA REINE ANNE AU MARIAGE DE MONSIEUR AVEC
MLLE DE MONTPENSIER, SUSCITE UNE CONSPIRATION A LAQUELLE MME
DE CHEVREUSE PREND UNE GRANDE PART.—HENRI DE TALLEYRAND,
COMTE DE CHALAIS.—ODIEUSE CONDUITE DU DUC D'ORLÉANS QUI
TRAHIT TOUS SES COMPLICES.—FAIBLESSE DE CHALAIS EN PRISON
POUSSÉE JUSQU'A LA BASSESSE. TROMPÉ PAR RICHELIEU, IL
S'EMPORTE CONTRE MME De CHEVREUSE ET LA DÉNONCE, PUIS SE
RÉTRACTE, ET MEURT AVEC COURAGE.—PREMIER EXIL DE MME DE
CHEVREUSE.

Luynes au tombeau, la reine mère, Marie de Médicis, reprit son


ascendant sur le faible Louis XIII, qui céda à la nécessité, et auquel
on donna, pour l'amuser, un nouveau favori sans conséquence, le
jeune, aimable et insignifiant Baradat. Elle s'empressa aussi de faire
part de sa nouvelle puissance à celui qui l'avait si bien servie dans
ses prospérités à la fois et dans ses disgrâces. En 1622, l'évêque de
Luçon obtint enfin ce chapeau de cardinal dont le désir passionné lui
avait fait rechercher dans les derniers temps la faveur et l'alliance [35]
de Luynes qui, tout aussi fin que lui, et discernant bien l'usage que
l'ambitieux évêque pourrait faire de cette haute dignité, la lui promit,
mais sans se presser de la lui donner. Puis, en avril 1624, le nouveau
cardinal rentra en triomphateur dans le cabinet, et commença ce
second et glorieux ministère qui dura près de vingt années, et qui
diffère essentiellement du premier. Il n'y porta pas en effet la
politique du maréchal d'Ancre, mais celle-là même qu'il avait tant
combattue dans Luynes. Comme lui, il ne se hâta point de rompre la
paix avec l'Espagne, et parce que la reine mère, sa protectrice, était
tout Espagnole, et parce qu'il lui importait avant tout de raffermir au
dedans l'ordre ébranlé par tant de secousses [36]. Il acheva la
complète incorporation du Béarn et de la Navarre à la France, et
repoussa fermement les prétentions usurpatrices des protestants, en
attendant que le moment fût venu de renouveler la campagne de
1621, de refaire le siége de Montauban et de soumettre La Rochelle.
Il avait vu de près à Angers autour de la reine mère, dans les tristes
affaires de 1620, l'égoïsme des grands, leur peu de foi, leur ambition
déréglée, leur avidité insatiable; et forcé de les ménager d'abord, il
se proposait bien de ne pas subir longtemps leur joug et de ne leur
livrer ni la royauté ni la France. Ceux-ci à leur tour ne tardèrent pas
à reconnaître que sur le cadavre de Luynes il s'était élevé un second
Luynes, bien plus redoutable que le premier; et, selon leur habitude,
après s'être empressés autour du nouveau favori de Marie de
Médicis, comme ils l'avaient fait en 1617 autour du favori de Louis
XIII, dès qu'ils désespérèrent de le gouverner au profit de leur
vanité et de leur fortune, ils se mirent à recommencer leurs vieilles
intrigues, et Richelieu vit bientôt s'agiter contre lui ses anciens
complices d'Angers, couvrant habilement leurs vues personnelles
d'un apparent dévouement à Monsieur, le jeune duc d'Anjou, qui
sera bientôt le duc d'Orléans, et, bien entendu, s'appuyant sur
l'étranger, sur la catholique Espagne ou sur la protestante
Angleterre, sur le remuant duc de Lorraine, et particulièrement sur
l'ambitieuse Savoie, impatiente de s'agrandir à tout prix et aux
dépens de qui que ce soit, l'Italie, l'Autriche ou la France. C'est ainsi
que Richelieu fut amené peu à peu à rompre avec son ancien parti,
et plus tard avec le chef de ce parti, Marie de Médicis elle-même.
Mais n'anticipons pas sur les événements, et bornons-nous à bien
marquer ce point essentiel, qu'au début même de son second
ministère, au lieu de continuer le conspirateur de 1620, Richelieu se
montra le vrai successeur de Luynes et reprit tous ses desseins, mais
avec le génie qui a rendu son nom immortel.
Pendant que s'accomplissait dans la pensée ou plutôt dans la
situation du grand cardinal, cet important et heureux changement,
un autre en sens contraire se faisait aussi dans la duchesse de
Luynes, devenue la duchesse de Chevreuse. Comme elle ne
choisissait pas son but elle-même, mais le recevait des mains de la
personne qui l'intéressait, après avoir servi avec fidélité et
dévouement Luynes, qu'elle aimait, n'ayant pas retrouvé dans M. de
Chevreuse un mari fait pour la captiver, elle se donna tout entière à
la reine Anne, sa maîtresse et son amie; et l'intérêt, bien ou mal
entendu, de la reine la jeta dans une tout autre voie que celle qu'elle
avait jusqu'alors suivie. En sorte que le même caractère, dans des
circonstances diverses, lui dicta tour à tour les conduites les plus
opposées.
Du temps de Luynes, et grâce à ses soins, le jeune roi avait fini par
aimer tendrement sa femme; il s'était complu à l'entourer d'honneur
et de considération, et lorsqu'il était parti pour la grande et brillante
campagne de 1620, il l'avait laissée à Paris à la tête du
gouvernement. Mais l'orgueilleuse Marie de Médicis, en reprenant
possession de son pouvoir, relégua dans l'ombre la jeune reine; on
dit même qu'elle s'appliqua et réussit à éloigner d'elle Louis XIII, afin
de régner sur lui sans partage. Anne d'Autriche, Espagnole et fière,
et en même temps belle, jeune, ayant besoin d'aimer et d'être
aimée, ressentit amèrement les nouvelles froideurs de son mari,
qu'elle croyait avoir vaincues; toute sa consolation était la
compagnie de sa vive et hardie surintendante. Nous avons ici le
témoignage de la véridique et si bien informée Mme de Motteville.
«La reine Marie de Médicis s'étant raccommodée avec le roi, la paix
entre la mère et le fils brouilla le mari et la femme; et la reine mère
étant persuadée que pour être absolue sur ce jeune prince, il falloit
que cette jeune princesse ne fût pas bien avec lui, elle travailla avec
tant d'application et de succès à entretenir leur mésintelligence, que
la reine, sa belle-fille, n'eut aucun crédit ni aucune douceur depuis
ce temps-là. Toute sa consolation étoit la part que la duchesse de
Luynes, qui étoit remariée avec le duc de Chevreuse, prince de la
maison de Lorraine, prenoit à ses chagrins, qu'elle tâchoit d'adoucir
par tous les divertissements qu'elle proposoit, lui communiquant,
autant qu'elle pouvoit, son humeur galante et enjouée pour faire
servir les choses les plus sérieuses et de la plus grande conséquence
de matière à leur gaieté et à leur plaisanterie: A giovine cuor tutto è
gioco [37].»
La cour de France était alors très-brillante, et la galanterie à l'ordre
du jour. C'était le temps où la marquise de Sablé soutenait et
accréditait de son esprit et de sa beauté les maximes chevaleresques
que les Espagnols avaient empruntées des Mores. Elle prétendait
«que les hommes pouvoient sans crime avoir des sentiments tendres
pour les femmes, que le désir de leur plaire leur donnoit de l'esprit
et leur inspiroit de la libéralité et toutes sortes de vertus; et que,
d'un autre côté, les femmes, qui étoient l'ornement du monde et
faites pour être servies et adorées, ne devoient souffrir des hommes
que leurs respects [38].» Anne, dans son pays, avait été de bonne
heure accoutumée à ces maximes, et elle était fort portée à les
mettre en pratique. Belle et sensible, elle aimait à plaire, et dans
l'injuste abandon où la laissait Louis XIII, elle ne s'interdisait point
de recevoir des hommages. La Rochefoucauld, qui l'a bien connue,
dit «qu'avec beaucoup de vertu, elle ne s'offensoit pas d'être
aimée [39].» Elle le fut, et Mme de Motteville ne fait pas difficulté de
nous apprendre que le beau et vaillant duc Henri de Montmorenci
conçut de tendres sentiments pour elle, et que même le héros de
l'ancienne galanterie, le grand écuyer de Bellegarde, déjà un peu sur
le retour de l'âge, lui fit une cour assez publique, sans que la
réputation de la reine en eût éprouvé la moindre atteinte. Mais les
choses ne se passèrent pas toujours ainsi. Mme de Chevreuse, qui
n'avait pas la piété et la sagesse d'Anne d'Autriche, ne se retint pas
longtemps sur la pente glissante de l'amour platonique; elle céda
aux séductions de la jeunesse et du plaisir, et elle manqua d'y
entraîner sa maîtresse. De là bien des fautes, dont nous
détournerions les yeux si elles ne se liaient à d'importants
événements, et n'exprimaient de la façon la plus frappante ce
mélange de la galanterie et de la politique, qui est l'un des traits
particuliers des mœurs de l'aristocratie et de la haute société au
XVIIe siècle.
En l'année 1624, le cardinal de Richelieu avait repris une des
meilleures pensées de Luynes, et renoué la négociation autrefois
commencée pour faire épouser au prince de Galles, fils du roi
d'Angleterre, la troisième fille d'Henri IV, la dernière sœur de Louis
XIII. D'abord, ce mariage empêchait celui du prince anglais avec une
infante d'Espagne, dont il était question depuis assez longtemps, et
qui eût été un accroissement redoutable de la puissance espagnole
en Europe. L'alliance anglaise nous était aussi fort précieuse, parce
qu'elle promettait d'enlever à la faction protestante de France l'appui
de l'Angleterre, et ce n'est pas la faute des plus sages desseins si
quelquefois des circonstances imprévues les renversent. L'amour vint
ici, contre sa coutume, seconder la politique. Le prince de Galles, en
traversant la France, avait vu la belle et aimable Henriette-Marie, et
il en était devenu éperdument épris; il pressa donc son père de
demander pour lui la main de la princesse, et Jacques Ier envoya à
Paris, outre son ministre accoutumé, deux ambassadeurs
extraordinaires pour traiter cette grande affaire, qui fut conclue le 10
novembre 1624. L'un des deux ambassadeurs, et le principal, était
Henri Rich, lord Kensington, de la maison de Warwick, premier
comte de Holland, celui qui joua un rôle dans la révolution
d'Angleterre, commanda un moment l'armée royale, et monta, en
1649, sur le même échafaud que lord Capel et lord Hamilton. Il
devint amoureux de Mme de Chevreuse. Il était jeune et bien fait [40];
il lui plut. Voilà, selon nous, le vrai début de Mme de Chevreuse dans
l'amour coupable et dans les intrigues de toute espèce où elle a
consumé sa vie.
A la mort de Jacques Ier, le prince de Galles, devenu roi d'Angleterre
sous le nom de Charles Ier, au mois de mars 1625, ordonna à ses
ambassadeurs d'abréger tous les délais et de hâter la cérémonie des
fiançailles. Grâce au crédit de Holland et de son ami Buckingham,
favori du nouveau roi comme il l'avait été du précédent, Charles Ier
choisit le duc de Chevreuse, grand chambellan de France, pour
épouser Madame en son nom et pour la conduire en Angleterre: en
même temps, on obtint de Louis XIII que le duc emmènerait avec lui
sa femme qui devait être une des parures du cortége. Cet
arrangement donnait aux deux amants le moyen de se voir souvent
et l'espoir de ne pas se séparer trop vite.
Holland était un homme de plaisir et d'intrigue. Il exerça une
mauvaise influence sur Mme de Chevreuse. Il prit sur elle un tel
empire, qu'il lui persuada d'engager sa royale maîtresse dans
quelque belle passion semblable à la leur, et il lui désigna son ami, le
premier ministre d'Angleterre, le beau, le brillant, le magnifique
Buckingham, comme le seul homme qui pût être agréé de la reine
de France. Anne d'Autriche et Buckingham ne s'étaient jamais vus. Il
fallait leur ménager l'occasion de se voir et de s'entendre. Les deux
galants conspirateurs «trouvèrent toutes les facilités qu'ils désiroient
auprès de la reine et du duc de Buckingham [41]». Celui-ci, qui était
tout aussi léger que Holland et aimait passionnément les aventures
extraordinaires, se fit envoyer par Charles Ier en France pour l'y
représenter particulièrement et faire plus d'honneur à la nouvelle
reine. Il partit de Londres en toute hâte, arriva à Paris le 24 mai, et
descendit dans ce bel hôtel de Luynes de la rue Saint-Thomas-du-
Louvre qui s'appelait alors l'hôtel de Chevreuse [42]. Il se montra à la
cour «avec plus d'éclat [43], de grandeur et de magnificence que s'il
eût été roi. La reine lui parut encore plus aimable que son
imagination ne la lui avoit pu représenter, et il parut à la reine
l'homme du monde le plus digne de l'aimer. Ils employèrent la
première audience de cérémonie à parler d'affaires qui les
touchoient plus vivement que celles des deux couronnes, et ils ne
furent occupés que des intérêts de leur passion [44].» Le duc de
Buckingham resta sept jours à Paris [45], «retardant son départ le
plus qu'il lui étoit possible, et se servant de sa qualité d'ambassadeur
pour voir la reine [46].» Le 2 juin, la nouvelle reine d'Angleterre quitta
Paris et s'achemina à petites journées vers Calais. Marie de Médicis
et la reine Anne accompagnèrent leur fille et leur belle-sœur jusqu'à
Amiens. Le duc de Chaulnes, gouverneur de la ville, leur fit une
réception magnifique, et c'est là que se passa la scène fameuse où
Anne d'Autriche apprit à ses dépens que le jeu qu'elle jouait était
mal sûr. Buckingham était entreprenant, Mme de Chevreuse fort
complaisante, et la reine ne se sauva qu'à grand'peine. «Un soir, dit
La Rochefoucauld [47], que la reine se promenoit assez seule dans un
jardin, le duc de Buckingham y entra avec le comte de Holland, dans
le temps que la reine se reposoit dans un cabinet. Ils se trouvèrent
seuls; le duc étoit hardi, l'occasion favorable, et il essaya d'en
profiter avec si peu de respect, que la reine fut contrainte d'appeler
ses femmes et de leur laisser voir une partie du trouble et du
désordre où elle étoit.» Quand, quelques jours après, Buckingham
vint officiellement prendre congé d'elle, il la trouva en voiture avec la
princesse de Conti; en s'inclinant à la portière pour baiser le bout de
sa robe, il lui fallut se couvrir un peu du rideau pour cacher les
larmes qui lui échappaient. Anne d'Autriche fut si émue que la
princesse de Conti, qui était à côté d'elle, lui dit en badinant qu'elle
pouvait répondre au roi de sa vertu, mais non pas de sa cruauté, et
que les larmes de cet amant avaient dû attendrir son cœur, puisque
ses yeux l'avaient du moins regardé avec quelque pitié [48]. Le duc de
Buckingham partit «passionnément amoureux de la reine et
tendrement aimé d'elle [49].» Arrivé à Boulogne et près de passer la
mer, «par un emportement que l'amour seul rend excusable,» il
feignit d'avoir reçu du roi Charles une lettre qui l'obligeait de
retourner sur ses pas pour avoir une nouvelle conférence avec la
reine mère; et en revenant à Amiens, après avoir entretenu Marie de
Médicis de l'affaire simulée qui lui avait servi de prétexte, il s'en alla
bien vite saluer une dernière fois la reine Anne. «Elle était au lit [50];
il entra dans sa chambre, se jetta à genoux devant elle, et fondant
en larmes, il lui tenoit les mains. La reine n'étoit pas moins touchée,
lorsque la comtesse de Lannoi, sa dame d'honneur, s'approcha du
duc et lui fit approcher un siége en lui disant qu'on ne parloit point à
genoux à la reine. Le duc de Buckingham remonta à cheval en
sortant et reprit le chemin d'Angleterre.» Ajoutez que la reine s'était
fort bien prêtée à cette visite, ou que du moins elle la connaissait;
car à Boulogne, Buckingham avait fait part à Mme de Chevreuse de la
démarche où l'entraînait sa passion, et celle-ci s'était empressée de
l'écrire à la reine [51].
Telles sont les romanesques et téméraires aventures dans lesquelles
Mme de Chevreuse et lord Holland embarquèrent la reine de France.
Grâce à Dieu, elles se sont arrêtées là: Anne et Buckingham ne se
sont jamais revus.
Sur la fin de juin, Mme de Chevreuse arriva à Londres avec le cortége
royal. Elle effaça toutes les beautés de la cour d'Angleterre [52]. Pour
reconnaître l'hospitalité qu'il avait reçue à l'hôtel de Chevreuse, le
duc de Buckingham «fit paroître toute sa magnificence et celle d'un
royaume dont il étoit le maître: il reçut l'amie de la reine avec tous
les honneurs qu'il auroit pu rendre à la reine elle-même [53].» Déjà
Mme de Chevreuse était fort liée avec la reine Henriette-Marie, et elle
plut infiniment à Charles Ier. Elle fit la conquête de plus d'un
seigneur anglais, par exemple lord Montaigu, et le comte Guillaume
de Craft, page de la nouvelle reine, jeunes cavaliers brillants et
frivoles, mais dont plus tard le dévouement ne lui fit jamais défaut.
Elle fut aussi très-vivement frappée de la puissance maritime de la
Grande-Bretagne; elle admira la flotte [54] qu'on équipait alors et qui
bientôt devait se tourner contre nous. Comme on le pense bien,
Holland la dirigea pendant tout ce voyage, et ne négligea rien pour
faire valoir les brillantes et solides qualités de celle qu'il aimait. Il en
parlait sans cesse au roi Charles et aux ministres, la présentant
comme une personne que l'Angleterre devait attacher à ses intérêts;
en même temps il écrivait à Richelieu des merveilles de la conduite
habile de Mme de Chevreuse, des services qu'elle rendait, de son
crédit sur le roi et sur la reine, et en leur nom il appelait sur elle les
grâces de la cour de France [55]. En vain le cardinal, instruit des
menées secrètes de Mme de Chevreuse avec Buckingham et avec le
cabinet anglais, pressait le retour du grand chambellan et de sa
femme: l'adroite duchesse affectait en public de vouloir revenir en
France, et sous main, à l'aide de Buckingham et de Holland, elle se
faisait inviter par Charles Ier à rester quelque temps encore. Elle en
avait une bien bonne raison, et qui n'était pas feinte: elle était dans
un état de grossesse avancée, et c'est à Londres qu'elle mit au jour
la première fille qu'elle ait eue du duc de Chevreuse, et dont la reine
d'Angleterre a été la marraine, la future abbesse du Pont-aux-
Dames [56].
Quoi qu'en dise Retz, nous sommes persuadé que Buckingham n'a
jamais été autre chose à Mme de Chevreuse que l'intime ami de son
amant, le chef du parti dans lequel Holland l'entraîna. Nous ne
saurions où placer les amours de Buckingham avec Mme de
Chevreuse. Elle le vit pour la première fois en France, en mai 1625,
et alors Buckingham était dans toute l'ivresse de sa passion pour la
reine Anne; elle le revit bientôt après à Londres, mais avec Holland,
qui la conduisait, et, Retz le dit lui-même, quand elle aimait, c'était
fidèlement et uniquement. Ce n'est pas à vingt-quatre ans qu'on se
moque à ce point d'un premier attachement, et le rôle de la pauvre
femme n'est déjà pas assez beau dans cette affaire pour se
complaire à l'enlaidir encore. Elle se trouva mal, il est vrai, en
apprenant la nouvelle de l'assassinat de Buckingham. Rien de plus
naturel: elle perdait en lui un ami éprouvé, le confident de ses
premières amours, son plus solide appui dans les luttes où elle était
engagée. Aux propos hasardés de Retz, nous opposons le récit bien
lié de La Rochefoucauld, et le silence de Tallemant, qui n'aurait pas
manqué d'ajouter ce trait à sa chronique scandaleuse, s'il en avait
jamais entendu parler. Ainsi, sans avoir la prétention de voir bien
clair en pareilles choses, surtout après deux siècles, mais en suivant
notre habitude de ne rien admettre que sur des témoignages
certains, nous estimons qu'on doit rayer Buckingham de la liste,
encore trop nombreuse, des amants de Mme de Chevreuse.
Mais il est difficile de n'y pas mettre le beau, le léger et malheureux
Chalais.
C'est encore son dévouement à la reine Anne qui jeta Mme de
Chevreuse dans cette conspiration «la plus effroyable, dit Richelieu,
dont jamais les histoires aient fait mention,» et où, dit-il encore,
«Mme de Chevreuse fit plus de mal que personne [57].» En voici le
fond et les principales circonstances.
Ainsi que nous l'avons dit, Anne d'Autriche souffrait de l'orgueil et de
la domination de Marie de Médicis; mais le chemin qu'elle avait pris
pour relever ou adoucir sa situation l'avait empirée. La reine mère
n'avait pas manqué de se faire une arme contre elle auprès du roi
des imprudences que nous avons racontées. Déjà, sous un spécieux
prétexte, on lui avait ôté Mme de Chevreuse comme surintendante de
sa maison [58]; mais leur commune disgrâce n'avait fait que resserrer
leurs liens. A son retour d'Angleterre, encore toute pleine des
magnificences de Buckingham et des vives marques de sa passion
pour la reine [59], Mme de Chevreuse ne cessait d'en entretenir Anne
d'Autriche, de réveiller et d'animer ses souvenirs [60]. De son côté
Buckingham brûlait du désir de revoir la reine, et il fit toute sorte
d'efforts pour retourner en France, sous divers prétextes
politiques [61]. Mais Richelieu et le roi n'étaient pas tentés de lui
ouvrir les portes du Louvre. D'ailleurs les espérances d'intime union
entre la France et l'Angleterre que le mariage de madame Henriette
avait fait naître, s'étaient rapidement évanouies, et se tournaient en
menaces d'une prochaine rupture. Le contrat de mariage de Madame
lui garantissait, de la façon la plus positive, la plus grande liberté
religieuse, une chapelle, un père de l'Oratoire pour confesseur,
d'abord le père de Bérulle, puis le père de Sanci, et un évêque pour
grand aumônier, avec un clergé convenable. Mais l'ombrageux
calvinisme de l'Angleterre se souleva contre le spectacle du culte
catholique à Londres, au sein du palais du roi, et Buckingham
persuada au roi Charles qu'il n'était pas obligé d'observer
scrupuleusement des stipulations qui blessaient l'opinion publique de
son pays et compromettaient son gouvernement. On renvoya donc
la plus grande partie des officiers et des dames que la reine avait
amenés avec elle [62], et on lui composa une maison tout anglaise.
On la gêna de toutes les manières dans l'exercice de sa religion, on
tourmenta les prêtres français et leur chef, l'évêque de Mende; on
alla jusqu'à dire ouvertement à la reine que l'intérêt du roi son mari
exigeait qu'elle se fît protestante [63]. Voilà comme on entendait alors
en Angleterre la liberté religieuse. Charles Ier aimait la belle
Henriette, qui joignait aux grâces de sa personne un esprit insinuant
et le cœur de la fille d'Henri IV. Buckingham craignit qu'elle ne prît
de l'ascendant sur le roi et ne diminuât cette absolue autorité qui le
faisait maître de la cour et de tout le royaume. Le jaloux et
ambitieux favori s'appliqua donc, par toute sorte de manœuvres
déplorables, à mettre assez mal ensemble le roi et la jeune reine; et
celle-ci, malgré sa douceur et sa patience, fut bientôt réduite à faire
connaître à sa mère, Marie de Médicis, et à son frère, Louis XIII,
l'oppression dans laquelle elle gémissait: elle demandait même à
revenir en France. Enfin l'amiral des Rochelois, l'obstiné et audacieux
Soubise, le frère du duc de Rohan, s'était emparé de plusieurs
vaisseaux français: pour ne pas les rendre après l'accommodement
passager qu'on avait fait avec les protestants de La Rochelle, il les
avait menés dans un port anglais, et au mépris de la foi publique on
faisait difficulté de les restituer. Mais Richelieu n'était pas homme à
supporter de pareils affronts, et il adressait à Londres d'énergiques
réclamations [64]. Les deux gouvernements s'aigrissaient de jour en
jour davantage. Buckingham et Richelieu se regardaient d'un œil
ennemi; ils voyaient bien qu'ils ne s'entendraient jamais, et
travaillèrent à se détruire. Richelieu comptait sur l'opposition
toujours croissante du parlement qui venait de mettre en accusation
l'incapable et présomptueux ministre de Charles; Buckingham
comptait sur nos éternelles divisions, sur cette faction protestante
vaincue mais non pas soumise, dont il tenait un des chefs dans sa
main à Londres, prêt à le lancer contre la France, sur le
mécontentement peu dissimulé des grands, qui n'admettaient point
qu'un ministre prétendît gouverner dans l'intérêt général et non dans
leur intérêt particulier, et s'apprêtaient à tirer l'épée contre Richelieu,
comme ils l'avaient fait contre Luynes et contre le maréchal d'Ancre.
Il y avait dans l'air un bruit sourd de conspirations et de révoltes [65].
C'est sur ces entrefaites que la reine mère et le roi songèrent à
établir Monsieur, qui atteignait sa dix-huitième année. Ils lui
destinèrent Marie de Bourbon, la fille unique du dernier duc de
Bourbon Montpensier, princesse aimable et la plus riche héritière du
royaume. Ce projet réunissait toutes sortes d'avantages, mais il
blessait Anne d'Autriche qui, n'ayant pas d'enfants, redoutait une
belle-sœur qui pouvait en avoir, et deviendrait alors toute-puissante
par l'ombre seule du trône qui l'attendait après la mort du roi. Ce
mariage lui semblait le comble de la disgrâce, le dernier coup porté à
toutes ses espérances. Elle se décida à «tout faire pour empêcher ce
mariage,» comme elle le dit elle-même à Mme de Motteville: aveu
bien grave qu'il importe de recueillir [66]. Mme de Chevreuse embrassa
la cause de la reine avec son ardeur accoutumée et cet énergique
dévouement qui ne recule devant aucun danger, ni aussi devant
aucun scrupule.
Il s'agissait d'amener Monsieur à refuser le mariage qu'on lui
proposait. Mais on ne pouvait arriver à Monsieur que par un homme
qui était en possession de sa confiance et presque de sa personne,
son gouverneur, le surintendant général de sa maison et le chef de
ses conseils, Ornano, le fils du célèbre colonel corse et maréchal de
ce nom, lui-même longtemps colonel général des Corses et fait tout
récemment maréchal; personnage très-considérable, à la fois
politique et militaire. La reine s'adressa donc au maréchal [67]. Ainsi
c'est elle qui a donné le branle à cette affaire; tout le reste n'a été
qu'une suite de moyens jugés successivement nécessaires pour
atteindre le but marqué. Or, marcher à un but quel qu'il fût par tous
les moyens quels qu'ils fussent, pourvu qu'ils promissent d'y
conduire, c'était là précisément le génie de Mme de Chevreuse.
Elle connaissait depuis longtemps Ornano: il avait été l'un des
complices les plus résolus de Luynes dans l'entreprise contre le
maréchal d'Ancre, et c'est à Luynes qu'il devait sa charge auprès de
Monsieur. Il avait rassemblé autour de lui et tenait dans sa main la
plupart des anciens amis du connétable, Modène, Déagent, Marsillac
et d'autres, tous gens de tête et de cœur, impatients de n'être plus
rien et capables de tout oser. Lui-même était aussi hardi
qu'ambitieux. Maître du frère du roi, il le poussait sans cesse à
prendre dans l'État la place que lui donnait sa naissance, afin que la
sienne s'en élevât d'autant. Lorsque le jeune prince avait obtenu de
faire partie du conseil, Ornano avait demandé à l'accompagner et à y
siéger avec le rang et le titre de secrétaire d'État. Le refus qu'il avait
essuyé l'avait irrité contre Richelieu, et son inquiète ambition
commençait à chercher d'autres voies. Mme de Chevreuse n'eut donc
pas grand'peine à le gagner à la cause de la reine. Elle lui envoya
d'ailleurs la belle princesse de Condé à qui le maréchal faisait une
sorte de cour, et qui acheva de le décider. La princesse agissait dans
l'intérêt des Condé, naturellement opposés à un mariage qui plaçait
au-dessus d'eux dans la maison royale les Montpensier leurs cadets,
et Mr le Prince, après avoir autrefois engagé sa fille, la future
duchesse de Longueville, au prince de Joinville, le fils aîné du duc de
Guise, rêvait de la faire épouser au duc d'Orléans, afin de confondre
les deux familles et d'approcher toujours un peu plus du trône. Les
Soissons pensaient en cela comme les Condé, et le jeune comte
désirait pour lui-même Mlle de Montpensier. Sa mère, Mme la
Comtesse, avait un grand ascendant sur Alexandre de Vendôme,
grand prieur de France, personnage aussi redoutable par son audace
que par ses artifices, et qui, lui aussi, comme Ornano, croyait avoir à
se plaindre du cardinal, auprès duquel il avait en vain sollicité de
pouvoir traiter avec le duc de Montmorency de la charge de grand
amiral. Il avait aisément entraîné son frère aîné, César de Vendôme,
gouverneur de Bretagne, qui, portant très-haut le nom de fils de
Henri IV, trouvait toujours qu'on ne lui rendait pas ce qui lui était dû
à lui et aux siens, et depuis la mort de son père s'était jeté dans
tous les complots des grands. Tous ensemble avaient fait effort
auprès de Monsieur, et ils avaient réussi à le détourner du mariage
qui portait atteinte à leurs intérêts et contrariait tant la reine. Quelles
raisons lui donnèrent-ils? Leur suffit-il de présenter à son goût du
plaisir l'attrait d'une indépendance prolongée, ou de faire rougir sa
vanité d'une docilité qui lui donnerait l'air d'un enfant entre les mains
de sa mère, de son frère et du cardinal, et lui ôterait toute
importance en France et en Europe? Ou firent-ils briller à ses yeux la
perspective d'une autre alliance, par exemple, celle d'une princesse
étrangère qui le mettrait hors de la dépendance du roi de France et
lui permettrait de jouer un plus grand rôle? Ou enfin osèrent-ils lui
laisser entrevoir la main même de la jeune et belle Anne d'Autriche,
après la mort du roi, que faisaient paraître imminente et sa mauvaise
santé et des prédictions d'astrologues? Le bruit de ce dernier projet
s'est au moins fort répandu, et il a passé dans les mémoires du
temps. La reine a toujours protesté qu'elle n'avait jamais trempé
dans une aussi coupable pensée, si elle était venue à l'esprit de
personne, et nous l'en croyons; mais nous connaissons assez Mme de
Chevreuse pour être assuré qu'elle ne se serait pas fait le moindre
scrupule de compromettre la reine pour la mieux servir, et que,
comme l'en accuse Richelieu [68], elle n'hésita pas, sans en parler à la
reine, à bercer d'une semblable espérance les oreilles crédules du
jeune prince, si elle jugea qu'elle pouvait par là le décider et arriver
à ses fins. Elle fit bien davantage.
«Mme de Chevreuse, dit La Rochefoucauld [69], avoit beaucoup
d'esprit, d'ambition et de beauté; elle étoit galante, vive, hardie,
entreprenante. Elle se servoit de tous ses charmes pour réussir dans
ses desseins.» Or, il y avait alors dans la maison même du roi, et
tout près de sa personne, comme maître de la garde-robe, un jeune
et brillant gentilhomme qui avait été nourri et élevé avec Louis XIII,
et qu'il aimait beaucoup: Henri de Talleyrand, comte de Chalais,
d'une ancienne maison souveraine du Périgord, et de plus, par sa
mère, petit-fils du maréchal de Montluc. Quoiqu'il ne fût que le cadet
de sa maison, il en était le représentant le plus en vue. Il avait vingt-
huit ans [70]; il était bien fait, et à des manières agréables [71] il
joignait cette bravoure téméraire qui ne déplaît pas aux dames. Il
avait fait avec honneur la terrible campagne de 1621 contre les
protestants, et s'était distingué aux siéges de Montpellier et de
Montauban. Il sortait d'un duel qui avait fait beaucoup de bruit et où
il avait tué le comte de Pongibault, de la maison de Lude. Maître de
la garde-robe, il se plaignait d'un emploi qui le condamnait à
l'oisiveté, et demandait instamment celui de maître général de la
cavalerie légère. Il était entré fort avant dans la société et la
confiance du duc d'Orléans, à ce point que les domestiques du
prince ne croyaient pas lui faire mieux leur cour qu'en témoignant à
Chalais une grande déférence. Il se prit d'une passion extraordinaire
pour Mme de Chevreuse [72]; elle l'encouragea, et le précipita au plus
épais de la ligue déjà toute formée autour de Monsieur pour
empêcher son mariage avec Mlle de Montpensier.
Ornano était, avec Mme de Chevreuse, l'âme de cette ligue. Quoi
qu'en dise Richelieu, il ne fut jamais question de porter la main sur
le roi, nul n'y pensa, et ce n'est là qu'un sinistre épouvantail jeté par
le cardinal sur toute cette affaire: c'est bien assez qu'on n'y puisse
méconnaître un de ces crimes d'État que le succès seul peut
absoudre, comme quelques années auparavant il avait absous le
complot de Luynes: fatal souvenir, trompeuse analogie qui égara
Ornano et Mme de Chevreuse: elle était trop jeune encore pour
savoir ce qu'une longue expérience lui fit si bien comprendre à la fin
de la Fronde, quelle différence c'est en France d'avoir le roi pour soi
ou contre soi.
Averti des menées du maréchal au dedans et au dehors, sûr de la
reine mère et sûr aussi du roi qui lui déclara qu'il voulait lui servir de
second dans cette rencontre, Richelieu, le 4 mai 1626, fit arrêter
Ornano à Fontainebleau même, et l'envoya à Vincennes avec la
ferme intention de lui faire son procès. Cette arrestation inattendue
tomba comme la foudre sur la tête des conspirateurs. C'en était fait,
non pas seulement de leurs desseins, mais de leurs personnes, si on
instruisait le procès d'Ornano, et il n'y eut parmi eux qu'une seule
pensée et un seul cri: délivrer le maréchal. Ils s'adressèrent donc à
Monsieur, et le pressèrent d'obtenir du cardinal la liberté de son
gouverneur, et, s'il n'y parvenait pas, comme ils s'y attendaient bien,
de recourir à l'un de ces deux moyens: ou sortir de la cour, protester
hautement, et se retirer dans quelque lieu sûr, ou s'en prendre au
cardinal et se défaire de celui qui leur faisait obstacle. Pendant tout
le mois de mai ils ne cessèrent de représenter avec force cette
alternative au jeune prince; ils agitèrent avec lui les deux partis à
prendre, et tour à tour le poussèrent à l'un et à l'autre. Il est établi:
1o Qu'une fois l'un des deux partis, et le plus violent, celui de se
défaire du cardinal, fut arrêté; qu'en conséquence Monsieur, avec les
conjurés les plus résolus, devait aller trouver le cardinal à sa maison
de campagne de Fleury, et là le poignarder, s'il refusait de mettre en
liberté le maréchal; qu'il y eut en effet une tentative d'exécution,
que le jeune duc, bien accompagné, se rendit à Fleury, mais que le
cœur lui manqua, et que le cardinal, averti, se tira d'affaire;
2o Que le comte de Soissons offrit 400,000 écus à Monsieur pour
quitter la cour et commencer la guerre;
3o Que Monsieur envoya un de ses aumôniers, l'abbé d'Obasine, au
duc d'Épernon, en Guyenne, pour l'inviter à se déclarer en sa faveur;
et Chalais, un de ses gentilshommes, en Lorraine, à Metz, au
marquis de La Valette, pour lui demander de les recevoir dans cette
place;
4o Que Monsieur avait écrit en Piémont à sa sœur et à son beau-
frère, Victor-Amédée, et qu'il entretenait une correspondance avec
l'Angleterre; que le duc de Savoie, qui conspirait la perte de
Richelieu comme il avait fait celle de Luynes et auparavant celle de
Henri IV, avait promis un secours de dix mille hommes, et
Buckingham une puissante diversion, et en désespoir de cause un
inviolable asile.
La plus grande partie du mois de mai se perdit en conversations et
en tentatives infructueuses. Cependant Monsieur était allé trouver
Richelieu et s'était plaint de l'arrestation de son gouverneur, disant
qu'autant il eût valu l'arrêter lui-même, car il était coupable si le
maréchal l'était. Il le prit d'abord assez haut, mais Richelieu le prit
plus haut encore; il répondit au prince qu'il s'agissait de crimes
effroyables, et finit par l'intimider, ce qui n'était pas difficile. Le roi et
la reine mère se mirent de la partie, et, moitié en le caressant,
moitié en lui montrant un visage sévère, le 31 mai, ils lui firent jurer
sur les saints évangiles de ne jamais se séparer du roi et de porter
loyalement à sa connaissance tout ce qu'il apprendrait qui pût être
contraire à son service. On lui fit signer un écrit, évidemment dressé
par Richelieu, et qu'il a inséré dans ses Mémoires, par lequel le duc
prenait l'engagement solennel de n'être qu'un cœur et qu'une âme
avec sa mère et son frère. Le faible jeune homme jura et signa tout
ce qu'on voulut, mais sans se croire engagé à rien, et en faisant ses
réserves mentales [73]. En effet, au milieu des pathétiques effusions
du 31 mai, et tout en jurant à son frère de l'instruire de tout ce qu'il
apprendrait contre son service, il ne lui dit pas un mot de la
conspiration qui se tramait, et de retour parmi ses amis, sans leur
rien dire aussi de ce qui venait de se passer, il leur renouvela toutes
les promesses qu'il leur avait faites, et reprit avec eux les
délibérations commencées.
Le duc de Vendôme se préparait à lui offrir une retraite assurée dans
son gouvernement de Bretagne. Il armait en secret, mettait ses
places fortes en ordre, nouait des intelligences avec La Rochelle, et
engageait le duc Henri de Montmorenci, grand amiral de France, à
ménager la flotte des protestants qui ne périraient pas, disait-il, sans
un immense dommage de l'aristocratie française, laquelle avait
besoin d'eux pour s'y appuyer dans l'occasion. Richelieu s'aperçut
des mouvements du duc de Vendôme, et, sentant de quelle
importance il était d'étouffer l'insurrection à sa naissance dans une
grande province voisine de La Rochelle et ouverte à l'Angleterre, il
persuada au roi de s'y porter de sa personne pour y rétablir son
autorité menacée. Il s'avança donc vers Nantes, et le duc de
Vendôme et le grand-prieur n'ayant pu se dispenser, sans afficher la
révolte, de venir présenter leurs hommages au roi, le cardinal, le 12
juin, se saisit des deux frères et les envoya dans la citadelle
d'Amboise. Il connaissait alors si peu la portée et les chefs de la
conspiration, qu'en partant pour Nantes il avait laissé derrière lui, à
Paris, le comte de Soissons pour y commander au nom du roi.
Monsieur y était aussi. Plus que jamais on le pressa de se déclarer et
de se joindre au comte de Soissons. Le duc promettait toujours,
parlait beaucoup et ne faisait rien. Un ordre du roi l'appela près de
lui à Nantes; il s'y achemina à petites journées.
Privée d'Ornano et du grand-prieur, à demi vaincue, mais ne
désespérant pas d'elle-même, Mme de Chevreuse n'avait plus qu'une
ressource, mais qui, bien employée, pouvait tout rétablir ou tout
remettre en question, l'influence de Chalais sur Monsieur, et elle s'en
servit jusqu'au dernier moment avec la constance, l'audace et
l'adresse qui déjà la distinguaient. Chalais restait le dernier sur la
scène. Sans cesse aiguillonné par Mme de Chevreuse, enflammé et
soutenu par l'espoir de plaire à la belle duchesse, de conquérir son
cœur et sa personne, il ne perdit pas une occasion de pousser
Monsieur du côté par où il penchait, fuir et se jeter dans quelque
place forte, Metz ou La Rochelle. Il s'était ménagé d'utiles auxiliaires
dans les deux jeunes favoris du jeune duc, Puylaurens et Bois-
d'Annemetz, tous deux hardis et résolus; il avait avec eux de
secrètes conférences, et ils réussirent ensemble à persuader au
prince de quitter la cour. A Blois, il paraissait décidé: il voulait se
retirer à La Rochelle; ses deux favoris l'en dissuadèrent par motif de
religion. Il envoya son aumônier au duc d'Épernon avec un billet qu'il
écrivit de sa main et que lui dicta Bois-d'Annemetz [74]. Il reçut là un
courrier du comte de Soissons, lui offrant de l'argent et des
troupes [75]. Chalais se chargea de préparer sa retraite et de lui
ménager partout de libres passages; il se chargea aussi d'envoyer un
messager à La Valette, et disait à Bois-d'Annemetz et à Puylaurens:
«Vous voyez comme je me confie en vous; s'il se savoit quelque
chose de notre dessein, vous feriez La Mole et Coconas, et moi
quelque chose de par-dessus [76].» A Nantes même, le plan de la
fuite de Monsieur fut arrêté: ce devait être pendant une grande
chasse, et la chose sembla moins manquer par la volonté du duc
que par de fortuites circonstances.
Tandis que Chalais travaillait ainsi à satisfaire Mme de Chevreuse,
pour tromper et endormir Richelieu il lui faisait une cour assidue, et
lui donnait même quelquefois des renseignements utiles [77]. Mais il
n'était pas de force à jouer longtemps un semblable jeu avec le
vigilant, soupçonneux et pénétrant cardinal. Plus d'une fois, étonné
et incertain devant des apparences et des allures si contraires,
Richelieu se demandait et demandait autour de lui: Qu'est-ce que
Chalais [78]? La plus lâche trahison le lui apprit. Chalais avait confié
une partie de ses secrets à un de ses amis, Roger de Gramont,
comte de Louvigni, le dernier des enfants du comte de Gramont,
gouverneur de Bayonne, l'indigne cadet du futur duc et maréchal de
Gramont. On prétend que Louvigni, étant devenu amoureux de Mme
de Chevreuse, s'irrita de la préférence qu'obtenait le maître de la
garde-robe [79]. D'autres disent qu'ayant demandé à Chalais de lui
servir de second dans un duel contre le comte de Candale, frère du
marquis de La Valette et le fils aîné du duc d'Épernon, Chalais, qui
avait de puissants motifs de ménager les d'Épernon, avait prié
Louvigni de l'excuser, et que celui-ci furieux s'était écrié: «Je vois ce
que c'est, vous voulez rompre d'amitié avec moi; je changerai aussi
d'ami et de parti [80].» Et il alla dire au cardinal tout ce qu'il savait [81].
Sur-le-champ, le 8 juillet, Richelieu fit arrêter Chalais à Nantes, et en
même temps faisant comparaître Monsieur devant le roi et devant la
reine mère, il lui imprima un tel effroi que le malheureux prince,
perdant la tête, renouvela et surpassa la triste scène du 31 mai.
Non-seulement il consentit au mariage contre lequel il s'était tant
révolté, mais il découvrit le plus intime de la conspiration dont il était
le chef, il livra sans pitié son gouverneur pour lequel il avait montré
un si grand zèle, et révéla les intelligences du maréchal avec les
grands et avec l'étranger, quand l'infortuné était à Vincennes sous la
main de Richelieu, menacé de porter sa tête sur un échafaud. Il
trahit également le grand-prieur de Vendôme; il apprit au cardinal
que c'était le grand-prieur qui lui avait donné le conseil d'aller à
Fleury le poignarder s'il ne délivrait Ornano. Il dénonça le comte de
Soissons, Longueville, Soubise et bien d'autres. Et quant à Chalais,
avec lequel la veille encore il méditait les moyens de s'enfuir, il lui
rendit toute défense impossible par les aveux les plus circonstanciés.
Enfin il avoua que la reine Anne l'avait plusieurs fois supplié de ne
consentir du moins au mariage proposé qu'à la condition qu'on mît
d'abord le maréchal en liberté [82], et il déclara que depuis plus de
deux ans Mme de Chevreuse disait qu'il ne fallait pas qu'il se mariât,
et qu'il épouserait la reine après la mort du roi. Encore on pourrait
comprendre une pareille faiblesse, si le jeune prince eût craint pour
sa vie; mais un tel danger était bien loin de lui, et, dès qu'il épousait
Mlle de Montpensier, il ne s'agissait pour lui que d'un apanage plus
ou moins considérable. C'était là aussi tout ce qui l'occupait; il
réclama avec force un grand apanage: il ne lui échappa pas un mot
de tendresse, de commisération, d'intérêt véritable pour ses
malheureux complices. Il demanda grâce, il est vrai, pour Ornano,
mais le maréchal fit bien de mourir vite en prison, car Monsieur ne
l'aurait pas plus sauvé qu'il ne sauva Chalais, qu'il ne sauva
Montmorenci, qu'il ne sauva Cinq-Mars. Il intercéda aussi en faveur
de Chalais, mais seulement par ce motif bien digne de son égoïsme,
que si on faisait mourir Chalais, il ne trouverait plus personne pour le
servir. Déjà Richelieu nous avait donné quelque idée des aveux du
prince, mais nous les avons aujourd'hui tels qu'ils sortirent de sa
bouche, consignés jour par jour dans des procès-verbaux officiels,
car il comparut devant une sorte de tribunal; il subit des
interrogatoires, un secrétaire d'État écrivit ses réponses, et toutes
ces ignominies sont maintenant sous nos yeux, revêtues du
caractère le plus authentique; nous les avons trouvées dans les
papiers de Richelieu, et les mettons au jour pour la première fois [83].
Mais voici un autre spectacle presque aussi honteux. Il semble que
Chalais ait entrepris de lutter de bassesse avec Monsieur. Lui qui
avait souvent bravé la mort dans les combats particuliers et sur les
champs de bataille en a peur tout à coup, et recule jusqu'aux
dernières extrémités de la lâcheté devant l'échafaud qu'il ne pouvait
éviter. Les dépositions du prince l'accablaient, et lui-même confessa
sans réserve tout ce qu'il avait fait. Il n'eut pas même à se défendre
d'avoir voulu assassiner le roi, cette odieuse accusation n'ayant pas
été suivie. Il n'était pas de ceux qui avaient conçu et formé la
grande conspiration qui du pied du trône s'étendait à travers tout le
royaume jusque chez l'étranger, mais il s'y était associé. S'il avait
peu connu les trames du maréchal Ornano, il n'avait ignoré aucune
de celles du grand-prieur de Vendôme; il y avait pris part, et comme
lui et avec lui il avait pressé Monsieur de ne pas abandonner son
gouverneur, et de recourir pour le sauver à l'un des moyens que le
grand-prieur proposait. Il était évidemment le complice du comte de
Soissons, puisque, après l'arrestation des Vendôme, il lui avait écrit
de ne pas venir à la cour parce qu'il y aurait le même sort qu'eux. Et,
ce qui suffisait à constituer un crime d'État au premier chef, il avait à
plusieurs reprises engagé le frère du roi à se retirer dans quelque
place d'où il pût soulever le royaume: il avait même envoyé un
messager au commandant de la forteresse de Metz pour lui
demander d'y recevoir le prince et ses amis. Ce messager à son
retour était tombé entre les mains de Richelieu, et son
interrogatoire, que nous avons retrouvé [84], ne laisse aucun doute
sur ce point capital. Ajoutez qu'il y avait contre Chalais bien des
circonstances aggravantes: il était maître de la garde-robe; il faisait
partie de cette haute domesticité qui lui imposait plus
particulièrement une loyauté à toute épreuve; et c'est lui, l'un des
premiers serviteurs du roi, qui avait mis la main dans un complot
entrepris pour renverser le gouvernement du roi. Il s'était introduit
dans la maison et dans la confiance du cardinal; il avait affecté le
plus grand zèle pour ses intérêts; il lui avait rendu même plus d'un
important service pour mieux couvrir ses desseins. Une conspiration
qui avait pensé ébranler tout l'État ne pouvait passer impunie: il
fallait un solennel et exemplaire châtiment pour bien avertir les
grands du royaume qu'il y allait de leur tête à lutter contre la
couronne. On ne pouvait s'en prendre à un prince du sang tel que le
comte de Soissons, qui d'ailleurs était en fuite et hors de France, ni à
des fils d'Henri IV tels que les Vendôme. Le maréchal Ornano se
mourait à Vincennes. Chalais était donc la victime désignée pour
cette juste et nécessaire expiation. Aussi on le livra à une
commission composée de conseillers d'État, de maîtres des requêtes
et de membres du parlement de Bretagne, parmi lesquels on
rencontre le père de Descartes qui fit l'office de rapporteur. Cette
commission s'assembla à Nantes, présidée par le nouveau garde des
sceaux, Michel de Marillac. Le procès s'instruisit selon les formes
accoutumées et dura quarante jours. Chalais ne comprit pas que
tout cet appareil judiciaire n'était pas déployé en vain, et que rien ne
pouvait le sauver. Il crut se tirer d'affaire par des aveux aussi
étendus qu'on le souhaita. Non-seulement il fit connaître tous ses
complices, mais il indiqua comme favorables en secret à leur cause
et opposés au cardinal plusieurs grands seigneurs, ainsi que l'avait
fait Monsieur; il grossit même cette liste de suspects en nommant
sans nécessité le duc de Bouillon, Senneterre, l'ami du comte de
Soissons, le père du futur maréchal, et ce fameux commandeur de
Jars, de la maison de Rochechouart [85], qui plus tard, jeté aussi en
prison, y garda un si courageux silence et monta sans pâlir sur
l'échafaud où, à la place du coup mortel, il reçut inopinément sa
grâce sans l'avoir jamais demandée. Chalais la demanda dès le
premier jour; il la demanda sans cesse au roi, à la reine mère, à
Richelieu. Il ne se contenta pas de descendre aux supplications les
plus humbles, et de faire valoir en sa faveur les renseignements que
plus d'une fois il avait donnés au cardinal et qui lui avaient été fort
utiles, prétendant que si le cardinal n'avait pas été poignardé à
Fleury, il le lui devait; il alla jusqu'à dire, et en cela il se calomniait
lui-même, que s'il avait plusieurs fois écrit au comte de Soissons,
c'était «pour entretenir créance et avoir moyen de découvrir ce qui
se passoit, afin de servir le roi et le cardinal [86].» Il s'offrit même à
les servir encore; il promit, si on voulait lui faire grâce, de donner
avis de tout ce qui se ferait chez Monsieur, particulièrement pendant
le procès du maréchal Ornano. «Encore [87] qu'il ne faille point
douter, dit-il, que le maréchal ne soit coupable, et que le roi n'ait
assez de lumière de sa faute, néantmoins lui répondant y servira
beaucoup, tant à découvrir ses anciennes cabales qu'à faire
connoître ceux qui solliciteroient pour lui... Il ne doute point que
Monsieur étant à Paris, plusieurs grands et quantité de
gentilshommes ne l'excitent à faire quelques remuements et des
violences au cardinal: il les découvrira tous jusqu'au dernier
conseiller.» «Il vous est nécessaire, écrit-il à Richelieu [88], d'avoir
quelqu'un auprès de Monsieur... Il y a bien des grands prieurs en
France [89], et Monsieur verra bien des fois le jour des personnes qui
ne vous aiment guère... Si [90] le maréchal a été assez ingrat pour
méconnoître les bons offices que vous lui avez faits, et qu'au bout de
seize mois il vous ait trompé, assurez-vous, Monseigneur, que je ne
suis pas Corse, et qu'en seize siècles cela ne m'entrera pas dans
l'esprit... Je donnerai les apparences [91] à Monsieur et les services
effectifs à qui je les dois.»
Du moins, pendant quelque temps et jusqu'à la fin de juillet, en
trahissant tout le monde, Chalais avait gardé sa foi à Mme de
Chevreuse. Ni dans ses dépositions officielles, ni dans ses
conversations avec Richelieu, il n'avait prononcé ce nom. Mais
emporté par la passion qui déjà lui avait fait faire tant de fautes, il
céda au besoin de se rappeler à celle qu'il aimait toujours, et de lui
faire hommage de ses souffrances. Il lui adressa des lettres remplies
de l'adoration et du dévouement le plus chevaleresque, et écrites
dans le jargon alors à la mode qui convenait bien mieux dans la
bouche des mourants de l'hôtel de Rambouillet, que dans celle d'un
homme aussi sérieusement menacé. En les lisant, on se demande si
Mme de Chevreuse s'était rendue à l'amour de Chalais, ou si elle ne
l'avait pas laissé sur ces espérances enivrantes et enflammées, qui
transforment leur objet encore peu connu en une divinité dont on
achèterait la possession au prix de tous les sacrifices [92]. A ces
lettres imprudentes, qui évidemment ne lui arrivaient qu'après avoir
passé par les mains de Richelieu, Mme de Chevreuse pouvait-elle
répondre autrement qu'elle ne fit? Le domestique de Chalais écrit à
son maître [93], le 4 août: «J'ai baillé la lettre à Madame; elle m'a dit
qu'elle ne fait point de réponse, que sa vie et son honneur
dépendent de cela véritablement; elle m'a dit sur sa vie qu'elle le
servira sans écrire; elle lui baille cent mille baisemains.» Le 7 août:
«Mme de Chevreuse a été bien aise; elle servira plus qu'on ne
demande, mais elle ne peut écrire.» Il paraît que ce silence si
naturel blessa Chalais, qui peut-être même ne reçut pas les lettres
de son domestique et ne connut pas les réponses de Mme de
Chevreuse. L'habile Richelieu partit de là pour jeter des soupçons
dans l'âme du prisonnier, et l'aigrir contre la duchesse. Il la lui
représenta [94] comme l'ayant fort oublié, occupée d'autres amours,
et s'étant sauvée elle-même à ses dépens; manœuvre accoutumée
d'une police déloyale qui s'étudie à tromper les accusés les uns sur
les autres, et, en faisant accroire à chacun d'eux qu'il est trahi par
son complice, le pousse à le trahir à son tour. Nous pouvons assurer
que dans tous les papiers qui ont passé sous nos yeux, nous n'avons
pas découvert l'ombre même d'une faiblesse de la part de Mme de
Chevreuse. Mais le pauvre Chalais tomba dans le piége qu'on lui
tendait, et le dépit de l'amour et du dévouement trompé ôtant tout
frein à son ardent désir de complaire au cardinal et d'en obtenir sa
grâce par des révélations importantes et inattendues, peu à peu il
commença, ce qu'il n'avait pas fait jusque-là, à parler des dames,
particulièrement de Mme de Chevreuse, et, passant sur elle de
l'adoration à l'injure, il finit par la charger des accusations les plus
graves. Il déclara que c'était elle qui l'avait engagé dans ce complot
auquel auparavant il était resté entièrement étranger, «qu'elle avoit
grande affection et liaison avec le maréchal d'Ornano sur l'affaire de
Monsieur [95], qu'elle travaille à unir ensemble M. le Prince, M. le
Comte et M. de Montmorenci, ainsi que les Huguenots par le moyen
de Mme de Rohan [96], qu'elle l'avoit exhorté [97] à faire tout ce qu'il
pourroit pour délivrer le grand-prieur, et qu'il n'y avoit rien qu'elle ne
voulût faire pour cela, et qu'à toute occasion elle disoit à Monsieur:
Ne voulez point faire sortir de prison le maréchal? qu'elle excitoit le
grand-prieur à conseiller à Monsieur de quitter la cour et de faire
violence à M. le cardinal, et qu'elle disoit continuellement au grand-
prieur: Monsieur n'aura-t-il pas de ressentiment pour le
maréchal [98]? que par ces mots: Monsieur ne se souviendra-t-il pas
du maréchal? on entendoit: Monsieur ne fera-t-il pas violence au
cardinal? qu'il le sait parce que le grand-prieur et Mme de Chevreuse
le lui ont dit, et que Mme de Chevreuse étoit dans la confidence du
dessein qui se devoit exécuter à Fleury [99],» c'est-à-dire du dessein
d'assassiner le cardinal. Enfin, pour bien montrer à Richelieu qu'il n'y
a pas de sacrifices qu'il ne soit prêt à lui faire, après celui de la
personne qu'il avait tant aimée et à laquelle, la veille encore, il
prodiguait les plus ardents hommages, il compromet jusqu'à la reine
elle-même, et répète le bruit injurieux «qu'il a ouï dire que si Dieu
rappeloit le roi, Monsieur pourroit épouser la reine [100].» Chalais ne
pouvait descendre plus bas encore qu'en s'engageant à se faire
l'espion de la reine et de Mme de Chevreuse, comme il avait promis
d'être celui de Monsieur. Il croit nuire à Mme de Chevreuse, il la
relève au contraire en la peignant obstinément attachée à la reine et
à ses amis. «C'est elle, dit-il, qui a embarqué le maréchal d'Ornano,
et elle lui conserve plus inviolablement que jamais l'amitié
promise [101].» «Si elle vouloit, s'écrie-t-il, je jure qu'elle pourroit dire
de belles choses,» excitant ainsi à la faire arrêter. Il la surveillera, il
la démasquera, il lui ôtera toute influence, «il ne veut plus vivre que
pour la damner [102].» Et sans cesse il rappelle au cardinal «les
grandes choses qu'il feroit parmi les dames [103].»
On souffre en vérité d'avoir à transcrire de pareilles bassesses, et on
voudrait les pouvoir imputer à un accès de fureur jalouse qui aurait
troublé l'esprit de l'infortuné dans la sombre solitude d'un cachot.
D'ailleurs elles furent inutiles. Dès que Richelieu sentit qu'il avait tiré
de Chalais tout ce qu'il en pouvait espérer, le procès marcha vite, et
l'inévitable sentence fut rendue le 18 août. Le lendemain on la lut au
prisonnier. Elle rendit Chalais à lui-même. Il se souvint qu'il était
gentilhomme et Talleyrand, il rougit de sa conduite envers Mme de
Chevreuse, et sur la sellette il rétracta tout ce qu'il avait dit sur elle,
déclarant particulièrement «qu'elle ne l'avoit jamais détourné du
service qu'il devoit au roi [104].» Il chargea son confesseur d'aller
demander pardon à la reine d'avoir mêlé son nom dans une pareille
affaire [105], et quelques heures après, soutenu par les prières de sa
vieille mère, la digne fille du maréchal de Montluc, agenouillée dans
une église voisine [106], le 19 août 1626, il présentait avec fermeté sa
tête à la hache du bourreau sur le premier échafaud dressé par
Richelieu.
Ainsi finit Chalais, et la première conspiration à laquelle prit part Mme
de Chevreuse. Le mois d'août était à peine écoulé, que le maréchal
Ornano succombait à Vincennes sous la menace du procès qui
l'attendait. Le grand prieur le suivit à quelques années de distance,
en février 1629. Le duc César de Vendôme ne sortit de prison qu'en
1630, et perdit pour toujours son gouvernement de Bretagne. Le
comte de Soissons s'exila quelque temps lui-même en Suisse et en
Italie. Pour Monsieur, il en fut quitte pour épouser une des
princesses les plus aimables de France, avec une dot immense, et
l'opulent apanage [107] que lui méritait bien cette première trahison
qui devait être suivie de tant d'autres. Mais un an après, la nouvelle
duchesse d'Orléans mourait en donnant le jour à une fille qui fut la
grande Mademoiselle. Déjà le roi avait été fort mécontent des
coquetteries de la reine avec Buckingham: cette fois il lui ôta à
jamais sa confiance et son cœur. Sa jalouse et soupçonneuse nature
lui persuada aisément qu'il y avait eu quelque intrigue entre elle et
son frère, non pas peut-être pour se défaire de lui, mais pour s'unir
ensemble un jour; toute sa vie il garda cette amère conviction, et
quand à son lit de mort la reine lui jura avec larmes qu'elle était
innocente, il répondit que dans son état il était obligé de lui
pardonner, mais non de la croire. Dans les premiers transports de sa
colère, il la fit comparaître devant un conseil, où elle fut traitée en
criminelle; on ne lui donna qu'un pliant au lieu d'un fauteuil, comme
si elle eût été sur la sellette, et le roi l'accusa d'être entrée dans un
complot pour avoir un autre mari. La reine indignée s'écria qu'elle
aurait trop peu gagné au change, et elle reprocha avec énergie à sa
belle-mère et au cardinal de travailler à lui nuire dans l'esprit du
roi [108]. Puis elle courba un peu plus la tête, renferma dans son sein
la haine qu'elle portait à Richelieu, et se résigna, pour quelque
temps du moins, à passer sa triste jeunesse dans la solitude de son
palais, de toutes parts surveillée, et n'ayant plus un cœur ami pour y
verser ses ennuis et ses souffrances. Mme de Chevreuse apprit à ses
dépens ce qu'il en coûte de trop aimer une reine. Elle courut grand
risque d'être enveloppée dans le funeste procès. Sur les dépositions
de Chalais, le tribunal avait ordonné [109] qu'elle serait arrêtée pour
être interrogée sur les charges qui s'élevaient contre elle. Le décret
de prise de corps fut rédigé, signé par les juges, et remis au roi qui,
dans un conseil tenu chez la reine mère, le montra au duc de
Chevreuse. Celui-ci obtint à grand'peine qu'on se contenterait de la
menace [110]. Elle quitta Nantes quelques jours avant la terrible
exécution [111], et alla s'enfermer à Dampierre, espérant qu'elle y
pourrait laisser passer la tempête. Mais on la trouva encore trop près
de la reine, et elle reçut l'ordre de sortir de France [112]. Il lui fallut
donc renoncer à toutes les douceurs de la vie, aux magnificences de
son hôtel de la rue Saint-Thomas-du-Louvre, à sa belle retraite de
Dampierre, et aller, à vingt-cinq ans, chercher un asile sur une terre
étrangère. Aussi, dit Richelieu, «elle fut transportée de fureur; elle
s'emporta jusqu'à dire qu'on ne la connoissoit pas, qu'on pensoit
qu'elle n'avoit l'esprit qu'à des coquetteries, qu'elle feroit bien voir,
avec le temps, qu'elle étoit bonne à autre chose, qu'il n'y avoit rien
qu'elle ne fît pour se venger, et qu'elle s'abandonneroit à un soldat
des gardes plutôt que de ne pas tirer raison de ses ennemis [113].»
Elle aurait bien souhaité aller en Angleterre, où elle était sûre de
l'appui de Holland, de Buckingham et de Charles Ier lui-même: cette
permission ne lui fut pas accordée, et elle prit le chemin de la
Lorraine.
CHAPITRE TROISIÈME
1627-1637

MME DE CHEVREUSE EN LORRAINE. LE DUC CHARLES IV. NOUVELLE LIGUE


CONTRE RICHELIEU. VICTOIRE DU CARDINAL. MME DE CHEVREUSE
RENTRE EN FRANCE.—ELLE EST D'ABORD ASSEZ BIEN AVEC RICHELIEU.
—SA LIAISON AVEC LE GARDE DES SCEAUX CHATEAUNEUF.—LETTRES
D'AMOUR ET D'INTRIGUE.—NOUVELLE DISGRACE.—MME DE CHEVREUSE
RELÉGUÉE EN TOURAINE. CRAFT, MONTAIGU, LA ROCHEFOUCAULD.—
AFFAIRES DE 1637. INTELLIGENCE DE LA REINE ANNE AVEC M. DE
MIRABEL, A BRUXELLES, ET AVEC SON FRÈRE LE CARDINAL-INFANT,
PENDANT QUE LA FRANCE ET L'ESPAGNE SONT EN GUERRE. ELLE
CORRESPOND AUSSI AVEC MME DE CHEVREUSE, QUI ELLE-MÊME
CORRESPOND AVEC LE DUC DE LORRAINE ET L'ENGAGE AVEC
L'ESPAGNE.—DÉCOUVERTE DE CES INTRIGUES. LA REINE ANNE PLUS
QUE JAMAIS MALTRAITEE.—MME DE CHEVREUSE CRAINT D'ÊTRE
ARRÊTÉE ET PREND LE PARTI DE SE SAUVER EN ESPAGNE.—AVENTURES
DE SA FUITE DEPUIS TOURS JUSQU'A LA FRONTIÈRE ESPAGNOLE.

Mme de Chevreuse arriva en Lorraine dans l'automne de 1626. On


sait qu'au lieu d'un refuge, elle y trouva le plus éclatant triomphe. Sa
beauté éblouit le nouveau duc de Lorraine Charles IV, qui, se
déclarant ouvertement son adorateur, en fit la reine de ces brillants
tournois à la barrière de Nancy, illustrés par le burin de Callot. Elle
n'a pas été, comme le dit La Rochefoucauld et comme on l'a tant
répété, la première cause des malheurs de ce prince; non: la vraie
cause des malheurs de Charles IV [114] était dans son caractère, dans
son ambition présomptueuse, ouverte à toutes les chimères, et qui
rencontrait devant elle, en France, un politique tel que Richelieu.
N'oublions pas qu'ils étaient déjà brouillés bien avant que Mme de
Chevreuse ne mît le pied à Nancy. Richelieu revendiquait plusieurs
parties des États du duc, et celui-ci, placé entre l'Autriche et la
France, commençait à se déclarer pour la première contre la
seconde. C'était l'homme le plus fait pour entrer dans les sentiments
de Mme de Chevreuse, comme elle était admirablement faite pour
seconder ses desseins. Elle trouva Charles IV déjà uni à l'Empire;
elle l'unit aussi à l'Angleterre, dont Buckingham disposait; elle
renoua ses anciennes intelligences avec les ennemis de Richelieu,
particulièrement avec la Savoie, et renouvela ainsi la ligue formée
sous le maréchal Ornano, en lui donnant, comme toujours, à
l'intérieur l'appui du parti protestant, que gouvernaient ses parents,
Rohan et Soubise. Le plan était sérieux: une flotte anglaise, conduite
par Buckingham lui-même, devait débarquer à l'île de Ré et se
joindre aux protestants de La Rochelle; le duc de Savoie, avec le
comte de Soissons, qui était venu chercher un asile auprès de lui,
devait descendre à la fois dans le Dauphiné et dans la Provence, le
duc de Rohan, à la tête des protestants du midi, soulever le
Languedoc, enfin le duc de Lorraine marcher sur Paris par la
Champagne. L'agent principal de ce plan, chargé de porter des
paroles à tous les intéressés, était mylord Montaigu, personnage
d'une activité et d'un courage à toute épreuve, qui passa la moitié
de sa vie dans des intrigues galantes et politiques, et la finit dans
une ardente dévotion. Il était alors ami particulier de Holland et de
Buckingham. Il allait sans cesse de Londres à Turin et à Nancy [115].
Richelieu épiait toutes ses démarches, et en novembre 1627 il le fit
arrêter jusque sur le territoire lorrain, pour s'emparer des papiers
dont il était porteur, qui lui découvrirent toute la conspiration. La
reine Anne y était si fort mêlée qu'elle trembla à la nouvelle de
l'arrestation de Montaigu, et n'eut de repos qu'après s'être bien
assurée qu'elle n'était pas nommée dans les papiers du prisonnier, et
qu'elle ne le serait pas dans ses interrogatoires [116]. Renfermé assez
longtemps à la Bastille, Montaigu montra qu'il était un serviteur des
dames d'une autre trempe que Chalais: il garda un généreux silence
sur la reine et sur Mme de Chevreuse. Mais le cardinal ne s'y trompa
pas; il vit parfaitement que cette vaste machination était l'ouvrage
de la duchesse, et que celle-ci n'avait agi qu'avec le consentement
de la reine [117]. Il se hâta de faire face au péril qui le menaçait avec
sa promptitude et sa vigueur accoutumées. L'Angleterre, poussée
par l'impétueux Buckingham, était entrée la première en campagne:
elle rencontra une résistance sur laquelle elle n'avait pas compté.
L'attaque sur l'île de Ré échoua; Buckingham battu fut forcé à une
retraite honteuse, et à peine avait-il remis le pied sur le sol anglais
que le poignard d'un assassin terminait sa vie, le 2 septembre 1628.
Le mois suivant, La Rochelle, le foyer et le boulevard de tous les
complots protestants, La Rochelle, qui passait pour imprenable,
cédait à la constance et à l'habileté du cardinal. Étonnés de pareils
succès, le duc de Lorraine et le duc de Savoie demeurèrent
immobiles; la coalition était dissoute, et l'Angleterre demandait la
paix, en mettant parmi ses conditions les plus pressantes le retour
en France de Mme de Chevreuse, devenue une puissance politique
pour laquelle on fait la paix et la guerre. «C'étoit une princesse
aimée en Angleterre, à laquelle le roi portoit une particulière
affection, et il la voudroit assurément comprendre en la paix, s'il
n'avoit honte d'y faire mention d'une femme; mais il se sentiroit très-
obligé si Sa Majesté ne lui faisoit point de déplaisir. Elle avoit l'esprit
fort, une beauté puissante dont elle savoit bien user, ne s'amollissant
par aucune disgrâce, et demeurant toujours en une même assiette
d'esprit [118]:» portrait moins brillant, mais tout autrement sérieux et
fidèle que celui de Retz, et qui pourrait bien être de la main même
de Richelieu, étant assez vraisemblable que le cardinal, selon sa
coutume, aura ici plutôt résumé à sa manière que reproduit
textuellement la dépêche du négociateur anglais. Quoi qu'il en soit,
Richelieu, qui désirait vivement, La Rochelle une fois soumise,
n'avoir plus sur les bras les Rohan, les protestants et l'Angleterre,
afin de porter toutes ses forces contre l'Espagne, accepta la
condition demandée, et à la fin de l'année 1628 Mme de Chevreuse
eut la permission de revenir à Dampierre.
Il y eut là quelques années de repos dans cette vie agitée. Du fond
de sa retraite, Mme de Chevreuse vit plus d'une fois changer la face
des affaires et de la cour. Elle vit Marie de Médicis revêtue de
nouveau, en 1629, du titre et des fonctions de régente, de nouveau
aussi dépouillée de son pouvoir en 1630, après la célèbre journée
des dupes, et, plus maltraitée par son ancien favori qu'elle ne l'avait
jamais été par Luynes, s'enfuir en 1631 à Bruxelles, se mettre sous
la protection de l'Espagne et à la tête des ennemis de Richelieu. Elle
vit le duc d'Orléans, après avoir voulu épouser la belle Marie de
Gonzague, une des filles du duc de Mantoue, devenu amoureux de
Marguerite de Lorraine, sœur de Charles IV, l'épouser contre la
volonté du roi, et s'en aller à Bruxelles grossir et fortifier le parti de
la reine mère. Anne d'Autriche et Mme de Chevreuse étaient
naturellement de ce parti, et le secondaient de tous leurs vœux,
mais en ayant grand soin de les cacher sous des démonstrations
contraires, devant le cardinal tout-puissant et irrité, prodiguant sans
pitié les destitutions, les emprisonnements, les exils, et faisant
monter tour à tour, en 1632, sur l'échafaud de Chalais, son ancien
ami le maréchal de Marillac, coupable surtout d'être resté fidèle à
leur commune maîtresse, et le dernier descendant des deux grands
connétables de Montmorency, le vainqueur de Veillane, qui s'était
laissé engager dans la révolte la plus insensée par les conseils de sa
femme, dévouée à la reine mère, et sur la parole du duc d'Orléans.
Mme de Chevreuse avait appris à mettre un voile sur ses plus chers
sentiments: peu à peu elle reparut à la cour en ayant l'air de ne
chercher que le plaisir. Elle avait à peine trente-deux ans, et il était
difficile encore de la voir impunément. On dit que Richelieu ne fut
pas insensible à sa beauté. Pourquoi s'en étonner? D'autres grands
politiques, Henri IV, Charlemagne, César, ont aussi aimé la beauté,
et le XVIIe siècle est particulièrement le siècle de la galanterie. C'est
une tradition accréditée que le cardinal fit quelque temps une cour
inutile mais fort pressante à la reine Anne. Nous écartons les propos
grossiers de Tallemant [119]; nous n'ajoutons pas foi à l'incroyable
récit du jeune Brienne [120], mais son père [121], mais La
Rochefoucauld [122], mais Retz [123], parlent de l'inclination que le
cardinal a ressentie pour la reine; et celle-ci a conté elle-même à
Mme de Motteville «qu'un jour il lui parla d'un air très-galant et lui fit
un discours fort passionné [124].» C'est encore Mme de Motteville qui
nous apprend que Richelieu, «malgré la rigueur qu'il avait eue pour
Mme de Chevreuse, ne l'avoit jamais haïe, et que sa beauté avoit eu
des charmes pour lui [125].» Il essaya de lui plaire, et un moment
l'entoura d'attentions et d'hommages [126]. L'habile duchesse se garda
bien de les repousser, sans les trop accueillir. Le cardinal s'efforça de
lui persuader de rompre avec le duc de Lorraine [127]. Tantôt elle
résistait, tantôt elle donnait des espérances [128], et mettait même
son influence sur le duc de Lorraine au service des desseins de
Richelieu [129]. Mais au fond son âme demeurait inébranlablement
attachée à sa cause et à ses amis, et au tout-puissant cardinal elle
préféra un de ses ministres, celui sur lequel il avait le plus droit de
compter: elle le lui enleva d'un regard, et le conquit au parti des
mécontents.
Charles de l'Aubépine, marquis de Châteauneuf, d'une vieille famille
de conseillers et de secrétaires d'État, avait succédé en 1630 à
Michel de Marillac dans le poste de garde des sceaux; il le devait à la
faveur de Richelieu et au dévouement qu'il lui avait montré. Il avait
poussé ce dévouement bien loin, car il présida à Toulouse la
commission qui jugea Henri de Montmorenci, et par là il mit à jamais
contre lui les Montmorenci et les Condé. Châteauneuf avait donné
des gages sanglants à Richelieu, et ils semblaient inséparablement
unis. Le cardinal l'avait comblé, comme il faisait tous les siens.
Châteauneuf avait été successivement nommé ambassadeur,
chancelier des ordres du roi, gouverneur de Touraine. C'était un
homme consommé dans les affaires, laborieux, actif, et doué de la
qualité qui plaisait le plus au cardinal, la résolution; mais il avait une
ambition démesurée qu'il conserva jusqu'à la fin de sa vie; l'amour
s'y joignant la rendit aveugle [130]. On ne se peut empêcher de
sourire quand on se rappelle ce que dit Retz, que Châteauneuf
amusa Mme de Chevreuse avec les affaires; cet amusement-là était
d'une espèce toute particulière: on y jouait sa fortune et quelquefois
sa tête, et l'intrigue où l'un et l'autre s'engagèrent était si téméraire,
que pour cette fois nous admettons que ce ne fut pas Châteauneuf
qui y jeta Mme de Chevreuse, et que c'est elle bien plutôt qui y
poussa l'amoureux garde des sceaux.
Châteauneuf avait alors cinquante ans [131], et le sentiment qu'il avait
conçu pour Mme de Chevreuse devait être une de ces passions
fatales qui précèdent et qui marquent la fuite suprême de la
jeunesse. Pour Mme de Chevreuse, elle partagea dans toute leur
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like