> For the complete documentation index, see [llms.txt](https://twentysick.gitbook.io/twentysick/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://twentysick.gitbook.io/twentysick/writeup/flare-on/flare-on-2025/8-flareauthenticator.md).

# 8 - FlareAuthenticator

### Description

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FyrKVHAgDMQ3GoxJk0XJL%2F8.png?alt=media&amp;token=a8ebdd38-5984-4919-bbdd-6f56818ad699" alt=""><figcaption></figcaption></figure>

### Solution

Sau khi giải nén, mình có nhận được ngần này file

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2F2fkLHPYjq1RPANeEqCmG%2Fimage.png?alt=media&amp;token=8e2bee82-8551-4afa-8b40-251d6498e006" alt=""><figcaption></figcaption></figure>

Mình có kiểm tra file run.bat và nó có nội dung như sau

```batch
@echo off
set QT_QPA_PLATFORM_PLUGIN_PATH=%~dp0
start %~dp0\FlareAuthenticator.exe
```

Đại khái là nó sẽ set biến môi trường và thực thi file. Không có gì cả vì nó xài *Qt6*.

Ok, tiếp theo là nhân vật chính, mình load file FlareAuthenticator.exe vào trong CFF Explorer để xem file này thế nào

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FHyKRQDzYjwR56nAijuLM%2Fimage.png?alt=media&amp;token=f840783c-652e-4bd2-bf66-c0a5b14985be" alt=""><figcaption></figcaption></figure>

Hmmmmm, rất phù hợp để sử dụng IDA nên mình đã load file vào IDA và

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FCjMI7wqgKN8Fv37AJClz%2Fimage.png?alt=media&amp;token=59513aa5-58c1-44b4-b2c6-7549d8562ec4" alt=""><figcaption></figcaption></figure>

Với một hàm *main* nhìn đau lưng không kém gì bài 7, mình đã đưa ra quyết định phân tích động file này chứ phân tích tĩnh kiểu gì ☹

Nên mình đã quyết định monitor nó trước rồi mới đưa vào debugger, sau khi confirm được không có kết nối internet và nghịch ngợm linh tinh thì em nó trông sẽ như thế này khi được thực thi

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FnsrFNLdSXZoBxn96kmpc%2Fimage.png?alt=media&amp;token=ec922482-6c90-4f64-84df-e1989bcdf81e" alt=""><figcaption></figcaption></figure>

Và tiếp theo là gì ạ? Load vào debugger và tìm cách đặt breakpoint tại nút OK (Hình ảnh bên dưới là số lượng breakpoint mình đã đặt để tìm chỗ phím OK trong quá trình giải bài này, mình còn không nhớ là mình đã xóa cái nào chưa nữa :clown:)

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2F6odoIGChv4csHNfDKEJY%2Fimage.png?alt=media&amp;token=e165f1df-2501-49fc-80c1-7db1b60bef51" alt=""><figcaption></figcaption></figure>

Lúc đó ngồi tìm đến mức trĩ tái phát, thì mình đã tìm thấy chỗ check ở đây

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FmmHJRyPaQBvQfxQV2r3c%2Fimage.png?alt=media&amp;token=61a02ac3-b17a-4eaa-863e-33f4768d51b9" alt=""><figcaption></figcaption></figure>

Và ngay bên dưới, có kiểm tra kết quả check vừa rồi và hiện thông báo đúng hay sai (flag in ra phụ thuộc vào input nên kể cả cố tình sửa các giá trị để nó in thông báo đúng thì cũng không có flag nếu input sai nhé 🙃)

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FQZt715YlfDlxo3eldApN%2Fimage.png?alt=media&amp;token=caf8b955-6273-4195-a414-3e7af1d317cb" alt=""><figcaption></figcaption></figure>

Tới đây, mình chỉ thấy nó trừ thôi mà sao lại biết được đúng hay sai. Mình đã lên mạng tìm về lệnh `sete` và lệnh `sub` thì kết quả có được như này đây:

* `sete` : "*Set byte if equal (ZF=1).*" ([*https://www.felixcloutier.com/x86/setcc*](https://www.felixcloutier.com/x86/setcc))&#x20;
* `sub` : "*The OF, SF, ZF, AF, PF, and CF flags are set according to the result*" ([*https://www.felixcloutier.com/x86/sub*](https://www.felixcloutier.com/x86/sub)) và "*If the result were a non-zero value, the flag would be cleared (ZF = 0).*" ([*https://medium.com/@Star01110/understanding-the-zero-flag-in-assembly-language-a9be98b479aa*](https://medium.com/@Star01110/understanding-the-zero-flag-in-assembly-language-a9be98b479aa))

Vậy là dựa vào kết quả khi lấy giá trị nào đó trừ đi *0x0BC42D5779FEC401* phải bằng 0 thì mới là kết quả đúng (chắc chắn là kết quả nào đó là kết quả từ input)

Tới đoạn này thì có thể thấy được giá trị *rax* kia được lấy từ *rax+78*. Và mình đã set thêm *breakpoint hardware* các kiểu và tìm được chỗ này (mặc kệ cái comment đi, vì trong lúc làm, mình có set comment cho dễ nhớ ☹)

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FFnfk9Jq7v6GlJgKJNkRa%2Fimage.png?alt=media&amp;token=8170ea6b-f061-4869-b20a-849e780c6301" alt=""><figcaption></figcaption></figure>

Đại khái đoạn này là set thế này:

* Có 25 ô, mỗi ô có 10 giá trị tương ứng khi nhập từ 0 -> 9
* Tổng của 25 giá trị khi nhập sẽ phải bằng *0x0BC42D5779FEC401* (Vì sẽ có đoạn trừ để check như bên trên mình có tìm thấy)

Mình đã ngồi kiên nhẫn:

* Tạo một bảng 5x5 giống với các vị trí khi chạy, trông nó kiểu:

```
+------+------+------+------+------+
| k0_0 | k0_1 | k0_2 | k0_3 | k0_4 |
+------+------+------+------+------+
| k1_0 | k1_1 | k1_2 | k1_3 | k1_4 |
+------+------+------+------+------+
| k2_0 | k2_1 | k2_2 | k2_3 | k2_4 |
+------+------+------+------+------+
| k3_0 | k3_1 | k3_2 | k3_3 | k3_4 |
+------+------+------+------+------+
| k4_0 | k4_1 | k4_2 | k4_3 | k4_4 |
+------+------+------+------+------+
```

* Chạy 10 lần và lấy ra được các giá trị sau, index của nó tương ứng với số khi nhập luôn (hình như hơn để confirm các giá trị không đổi sau mỗi lần nhập)

```
k0_0 = [0x19b3240445aa06,0xf2eb6684284ac,0xc38d14df6d665,0x1d3a557cd3a980,0x26d8e6dc23319d,0x1c544f24d1b429,0x17f846e0621293,0x1b6e4030f71f3d,0x80f42a7139e80,0x1fcac56f82739c]
k0_1 = [0x6f63394844df78,0x3ed168087f3548,0x6391d7049dde8,0x8114813c91a610,0xa8fa7b20f1e228,0x786666be83b978,0x6ae188a0bc46f0,0x6fb9a153c78328,0x1b18d762cb44c8,0x921c4279b1a9a8]
k0_2 = [0x6df6a4586e71c0,0x49de34ffc63ec0,0x39fee368e99380,0x7a11de14c79e80,0xd8dc90e996e40,0x7146bfc66e2740,0x680673db489e00,0x6e31309b7b8940,0x316c3afcb92ac0,0x82deefe21a73c0]
k0_3 = [0x4ea15fc542c9c0,0x1ca2f34f18cd40,0xa614b2dc1c6980,0x60d84a48824900,0x9280b83fadd240,0x60801a9a7374c0,0x49fe057966cc00,0x579189abc15440,0xb2f907a133b2c0,0x612f00f6ea6080]
k0_4 = [0x3ac57453ace252,0x6229b366fe169,0xacb3ff351198ab,0x4c6c9cdbce1fe5,0x7c9128173ea742,0x47ed36357ff53c,0x321b2c8decc760,0x436e1cad683194,0x97de278c5e1226,0x489730c9aa7e6a]
k1_0 = [0x6402164c9fdb19,0x483f192b06217f,0x1e5cb35f54fa69,0x6e1e405c548974,0x137e71b08ca2aa,0x6928a14a143271,0x616eb297eddb28,0x6431716b60df88,0x2a4a823d6d822d,0x6e4f38a8434132]
k1_1 = [0x69b5253875b96,0x2be31f155ab714,0x21ae09901bf552,0xb221597f1d3d8,0x1556ddaa385c92,0x7d821185844ec,0x462d157005089,0x6b104399cedbc,0x1e79b0a36cdaff,0xa266dd02d7453]
k1_2 = [0x9c0d47eac35d2d,0x6fd7cb84fd4ad7,0x6255b824338303,0xac26e207a0a6c5,0x23700dd18b0e3c,0xabd8d1a448644c,0x97f36052caa668,0xa3f30cb6971d36,0x4f56bf7afe673b,0x708e71fcee988]
k1_3 = [0x30b9da3c1bfe7,0x16f0557c6f1b97,0x105a5256455ed6,0x575f94a1e493b,0xc0c1389db1c28,0x4d8773736490a,0x1dc3a46d3eb22,0x43afa29a5046e,0x12101a50f4e1fb,0x737572378fc07]
k1_4 = [0x3a03c1d1d02f29,0x255e081f63ba07,0x1b8260c83dd73c,0x4188e0049c9eba,0x527eec073c111b,0x3dd8df72e747e1,0x38195731a5d0ae,0x3a28381b02c813,0x162f7a6e9d784f,0x48c67301dafecb]
k2_0 = [0x1d392355df459c,0xbc35faa41240,0x4d5ba7b7c6db28,0x26c6dd80773e62,0x3c52c884071124,0x1fd5838c6c7f50,0x188898b9e96d66,0x1d66839ef1a1c0,0x58a12d4900a2fa,0x2db81c4ae88d20]
k2_1 = [0x8484a22a795e4,0x5eb45f3e513ac,0x46247570894a4,0x924ce94df0690,0x1d5530ea52210,0x920a24b9448d0,0x81027f2a79420,0x8b4887801a9fc,0x35e3da634fb94,0x928d4d1040ed8]
k2_2 = [0xbe331dd3107ad,0x5e391dd240e89d,0x39874c7ffb294c,0x15e2ab5e23c478,0x312496ae1c4433,0x1356d94e3c824f,0x6fb9313a4228e,0x10cafc6dd92ae3,0x409bc32bba4e37,0x13b66fde55b77c]
k2_3 = [0x19c7c11da4e4a2,0x7fa2b9a827fae,0x42193cc5270058,0x2043847b9eedd8,0x2ee265cbaea1ae,0x1d1555557808f2,0x1820c6ca831f20,0x19e699125f8740,0x3d81e379f6b82a,0x2062f49da45ab4]
k2_4 = [0x1796e76685e997,0x5dc0c3e3261cdf,0x3a76362613dd95,0x201bb9ea8ed81c,0x33509b969e3741,0x19eb1c9c94e6a8,0x1368e07f2e794f,0x17bfd098c23630,0x448303cfd4dd31,0x1e41e65b7afc35]
k3_0 = [0x9bdc1f78073127,0x75583891352145,0x4f18252739a5ac,0xc857c28be5198,0x32c55970ea1358,0xc421f0a303c70,0x984973478dc5ac,0x56017c15fbdd1,0x5906717cf6c571,0x1a062a307bcabd]
k3_1 = [0xcce53b2df56140,0x926ec5880f9992,0x81fa523e38b793,0x481af6ccb653b,0x39fc6f33cb770b,0xdb8605e2f4aa0e,0xc34699db257145,0xd6872c5cc11542,0x6ad52b4c617cf3,0x12c1ca7eae79a6]
k3_2 = [0x1dc6931c286db2,0xed19ad19480be,0x3a82193f6ef346,0x23394341031ac0,0x2f828795a6e6be,0x208d625a5fd472,0x1c635aa6df8398,0x1de0f95cf827ae,0x3d2149d449636,0x28782f9453efde]
k3_3 = [0x139d946e9d6d82,0xb0e0c55a4d6238,0x97d9725be8876e,0x26b598f9022c30,0x51c2fa15841d7e,0x18d5fbe4cda4c8,0xa3f26df601552,0x13f8dff2fe8408,0x8a5498f0183bb0,0x3496095ef45282]
k3_4 = [0x72a31cfde71ef6,0x46a5661935d9ca,0xbd4c34161b102,0x82a99a5de4c84f,0xae5a988393338f,0x825e0ae4d3d5f5,0x6e8ea108204593,0x7a7fe273c35a4c,0x172c91b106b2ed,0x82f69b85b1a2a1]
k4_0 = [0x40a5db3578d586,0x22f572e6839826,0x1133b875bed53a,0x4a9b4a38cf1460,0x65c33e4f5a2fc0,0x481234127842a2,0x3bc3c87f8c0454,0x4588ce32dcf25a,0x573d341f00d72,0x48724d79b38078]
k4_1 = [0xc427156a9e2860,0x88b763cb6fb9f0,0x2f08d6e954e096,0xd9ccf65d9cd7a4,0x17c3e165050bf0,0xcf2b002b1ad140,0xbea37cef15e1fa,0xc48cee7bae850c,0x489420271c9606,0xda31dc2c7fdbce]
k4_2 = [0x537869c92a42d0,0x1da1d095b7c0b4,0xbf7b1f10223116,0x6586f47fc6cf52,0x8e40676e4927e0,0x58692f2e100a24,0x4a9ca491835636,0x53cfddbdd2f61c,0xb2b5098a832538,0x619c35508aeaba]
k4_3 = [0x8cc856e432bc50,0x62360169143a78,0x55333012d9dd23,0x9c4964e3f15005,0x18a07ddc589b2c,0x9bfe0fedbf05dc,0x88d54339cf6cf1,0x9463624aaca2c6,0x42e7af41e9bd7c,0xab36b7c0777858]
k4_4 = [0x20ccd008ad41a,0x3684bcd9a0f789,0x2525f943737b70,0x86bb1a4a4aa7d,0x19ca34adee1b3a,0x6cc51df5a1f44,0x4661d5224e5470,0x52ced44ed58cc,0x29a7cada9c4cb1,0xd0cb5244ca7fd]
```

Rồi, thế còn để xử lý cái điều kiện thứ 2 là tổng của các giá trị sau khi nhập phải bằng *0x0BC42D5779FEC401*, mình đã viết 1 đoạn script bằng Python để giải

```python
import z3

values = [
	[0x19b3240445aa06,0xf2eb6684284ac,0xc38d14df6d665,0x1d3a557cd3a980,0x26d8e6dc23319d,0x1c544f24d1b429,0x17f846e0621293,0x1b6e4030f71f3d,0x80f42a7139e80,0x1fcac56f82739c],
	[0x6f63394844df78,0x3ed168087f3548,0x6391d7049dde8,0x8114813c91a610,0xa8fa7b20f1e228,0x786666be83b978,0x6ae188a0bc46f0,0x6fb9a153c78328,0x1b18d762cb44c8,0x921c4279b1a9a8],
	[0x6df6a4586e71c0,0x49de34ffc63ec0,0x39fee368e99380,0x7a11de14c79e80,0xd8dc90e996e40,0x7146bfc66e2740,0x680673db489e00,0x6e31309b7b8940,0x316c3afcb92ac0,0x82deefe21a73c0],
	[0x4ea15fc542c9c0,0x1ca2f34f18cd40,0xa614b2dc1c6980,0x60d84a48824900,0x9280b83fadd240,0x60801a9a7374c0,0x49fe057966cc00,0x579189abc15440,0xb2f907a133b2c0,0x612f00f6ea6080],
	[0x3ac57453ace252,0x6229b366fe169,0xacb3ff351198ab,0x4c6c9cdbce1fe5,0x7c9128173ea742,0x47ed36357ff53c,0x321b2c8decc760,0x436e1cad683194,0x97de278c5e1226,0x489730c9aa7e6a],
	[0x6402164c9fdb19,0x483f192b06217f,0x1e5cb35f54fa69,0x6e1e405c548974,0x137e71b08ca2aa,0x6928a14a143271,0x616eb297eddb28,0x6431716b60df88,0x2a4a823d6d822d,0x6e4f38a8434132],
	[0x69b5253875b96,0x2be31f155ab714,0x21ae09901bf552,0xb221597f1d3d8,0x1556ddaa385c92,0x7d821185844ec,0x462d157005089,0x6b104399cedbc,0x1e79b0a36cdaff,0xa266dd02d7453],
	[0x9c0d47eac35d2d,0x6fd7cb84fd4ad7,0x6255b824338303,0xac26e207a0a6c5,0x23700dd18b0e3c,0xabd8d1a448644c,0x97f36052caa668,0xa3f30cb6971d36,0x4f56bf7afe673b,0x708e71fcee988],
	[0x30b9da3c1bfe7,0x16f0557c6f1b97,0x105a5256455ed6,0x575f94a1e493b,0xc0c1389db1c28,0x4d8773736490a,0x1dc3a46d3eb22,0x43afa29a5046e,0x12101a50f4e1fb,0x737572378fc07],
	[0x3a03c1d1d02f29,0x255e081f63ba07,0x1b8260c83dd73c,0x4188e0049c9eba,0x527eec073c111b,0x3dd8df72e747e1,0x38195731a5d0ae,0x3a28381b02c813,0x162f7a6e9d784f,0x48c67301dafecb],
	[0x1d392355df459c,0xbc35faa41240,0x4d5ba7b7c6db28,0x26c6dd80773e62,0x3c52c884071124,0x1fd5838c6c7f50,0x188898b9e96d66,0x1d66839ef1a1c0,0x58a12d4900a2fa,0x2db81c4ae88d20],
	[0x8484a22a795e4,0x5eb45f3e513ac,0x46247570894a4,0x924ce94df0690,0x1d5530ea52210,0x920a24b9448d0,0x81027f2a79420,0x8b4887801a9fc,0x35e3da634fb94,0x928d4d1040ed8],
	[0xbe331dd3107ad,0x5e391dd240e89d,0x39874c7ffb294c,0x15e2ab5e23c478,0x312496ae1c4433,0x1356d94e3c824f,0x6fb9313a4228e,0x10cafc6dd92ae3,0x409bc32bba4e37,0x13b66fde55b77c],
	[0x19c7c11da4e4a2,0x7fa2b9a827fae,0x42193cc5270058,0x2043847b9eedd8,0x2ee265cbaea1ae,0x1d1555557808f2,0x1820c6ca831f20,0x19e699125f8740,0x3d81e379f6b82a,0x2062f49da45ab4],
	[0x1796e76685e997,0x5dc0c3e3261cdf,0x3a76362613dd95,0x201bb9ea8ed81c,0x33509b969e3741,0x19eb1c9c94e6a8,0x1368e07f2e794f,0x17bfd098c23630,0x448303cfd4dd31,0x1e41e65b7afc35],
	[0x9bdc1f78073127,0x75583891352145,0x4f18252739a5ac,0xc857c28be5198,0x32c55970ea1358,0xc421f0a303c70,0x984973478dc5ac,0x56017c15fbdd1,0x5906717cf6c571,0x1a062a307bcabd],
	[0xcce53b2df56140,0x926ec5880f9992,0x81fa523e38b793,0x481af6ccb653b,0x39fc6f33cb770b,0xdb8605e2f4aa0e,0xc34699db257145,0xd6872c5cc11542,0x6ad52b4c617cf3,0x12c1ca7eae79a6],
	[0x1dc6931c286db2,0xed19ad19480be,0x3a82193f6ef346,0x23394341031ac0,0x2f828795a6e6be,0x208d625a5fd472,0x1c635aa6df8398,0x1de0f95cf827ae,0x3d2149d449636,0x28782f9453efde],
	[0x139d946e9d6d82,0xb0e0c55a4d6238,0x97d9725be8876e,0x26b598f9022c30,0x51c2fa15841d7e,0x18d5fbe4cda4c8,0xa3f26df601552,0x13f8dff2fe8408,0x8a5498f0183bb0,0x3496095ef45282],
	[0x72a31cfde71ef6,0x46a5661935d9ca,0xbd4c34161b102,0x82a99a5de4c84f,0xae5a988393338f,0x825e0ae4d3d5f5,0x6e8ea108204593,0x7a7fe273c35a4c,0x172c91b106b2ed,0x82f69b85b1a2a1],
	[0x40a5db3578d586,0x22f572e6839826,0x1133b875bed53a,0x4a9b4a38cf1460,0x65c33e4f5a2fc0,0x481234127842a2,0x3bc3c87f8c0454,0x4588ce32dcf25a,0x573d341f00d72,0x48724d79b38078],
	[0xc427156a9e2860,0x88b763cb6fb9f0,0x2f08d6e954e096,0xd9ccf65d9cd7a4,0x17c3e165050bf0,0xcf2b002b1ad140,0xbea37cef15e1fa,0xc48cee7bae850c,0x489420271c9606,0xda31dc2c7fdbce],
	[0x537869c92a42d0,0x1da1d095b7c0b4,0xbf7b1f10223116,0x6586f47fc6cf52,0x8e40676e4927e0,0x58692f2e100a24,0x4a9ca491835636,0x53cfddbdd2f61c,0xb2b5098a832538,0x619c35508aeaba],
	[0x8cc856e432bc50,0x62360169143a78,0x55333012d9dd23,0x9c4964e3f15005,0x18a07ddc589b2c,0x9bfe0fedbf05dc,0x88d54339cf6cf1,0x9463624aaca2c6,0x42e7af41e9bd7c,0xab36b7c0777858],
	[0x20ccd008ad41a,0x3684bcd9a0f789,0x2525f943737b70,0x86bb1a4a4aa7d,0x19ca34adee1b3a,0x6cc51df5a1f44,0x4661d5224e5470,0x52ced44ed58cc,0x29a7cada9c4cb1,0xd0cb5244ca7fd]
]

keys = [z3.BitVec(f"K_{x}", 8*8) for x in range(25)]

s = z3.Solver()

for i in range(25):
	s.add(z3.Or([keys[i]  == v for v in values[i]]))

summ = z3.Sum(keys)
s.add(summ == 0x0BC42D5779FEC401)

print(s.check())
if(s.check()  == z3.sat):
	m = s.model()
	for i in range(25):
		print(values[i].index(m.evaluate(keys[i]).as_long()), end = " ")
```

Và kết quả khi chạy script là (đương nhiên là *sat* rồi)

```
sat
4 4 9 8 2 9 1 3 1 4 8 9 1 2 1 0 5 2 1 4 4 9 2 9 6 
```

Chạy là chương trình và nhập dãy số mình vừa tìm được, mình đã có được flag

<figure><img src="https://3579869334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqj23826F0xExp2MNexN5%2Fuploads%2FQENUpO2KSyIljiQI4bbt%2Fimage.png?alt=media&amp;token=41ca1263-cd48-4b69-b345-1d919b37ec3c" alt=""><figcaption></figcaption></figure>

***Flag:*** `s0m3t1mes_1t_do3s_not_m4ke_any_s3n5e@flare-on.com`
