fixing typos

Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
This commit is contained in:
Julien CLEMENT 2022-09-04 21:40:59 +02:00
parent 55075855bb
commit 5358dc632f
7 changed files with 9 additions and 12 deletions

@ -19,7 +19,7 @@ enableEmoji = true
dateformNumTime = "2006-01-02 15:04" dateformNumTime = "2006-01-02 15:04"
# Subtitle for home # Subtitle for home
homeSubtitle = "de la conf de Julien" homeSubtitle = ""
# Set disableReadOtherPosts to true in order to hide the links to other posts. # Set disableReadOtherPosts to true in order to hide the links to other posts.
disableReadOtherPosts = false disableReadOtherPosts = false
@ -29,7 +29,7 @@ enableEmoji = true
# Metadata mostly used in document's head # Metadata mostly used in document's head
description = "" description = ""
keywords = "homepage, blog, crypto, reverse" keywords = "homepage, blog, crypto, reverse, exploit"
images = [""] images = [""]
[[params.social]] [[params.social]]
@ -69,7 +69,7 @@ enableEmoji = true
[languages.en.params.logo] [languages.en.params.logo]
logoMark = "juju@synacktiv ~$ " logoMark = "juju@synacktiv ~$ "
logoText = "cryptopouneur" logoText = "objdump -d"
logoHomeLink = "/" logoHomeLink = "/"
logoCursorColor = "#3884FF" logoCursorColor = "#3884FF"
# or # or

@ -129,12 +129,12 @@ A small fast forward in time as the main function is really straight forward,
The program takes the path to the device to encrypt as argument, calls a bunch The program takes the path to the device to encrypt as argument, calls a bunch
of function that are mostly wrappers around libext2fs functions to initialize of function that are mostly wrappers around libext2fs functions to initialize
some global variables holding structures of the EXT filesystem. It alsos checks some global variables holding structures of the EXT filesystem. It also checks
that some flags are set in the structures of libext2fs, I do not know if these that some flags are set in the structures of libext2fs, I do not know if these
flags are implementation specific or are standard EXT flags but I did not flags are implementation specific or are standard EXT flags but I did not
bother too much with this. bother too much with this.
The intersting stuff is at the end, I can see that it calls a function that The interesting stuff is at the end, I can see that it calls a function that
I called `encrypt_folder` after reversing it. It then flushes the filesystem to I called `encrypt_folder` after reversing it. It then flushes the filesystem to
disk and write the inode bitmap. disk and write the inode bitmap.
@ -145,8 +145,8 @@ disk and write the inode bitmap.
Alright so let's take a look at the `encrypt_folder` to understand why I called Alright so let's take a look at the `encrypt_folder` to understand why I called
it this way. it this way.
I could clearly see from `main` that function was called with the string `.` I could clearly see from `main` that this function was called with the string
to reference the current directory, and a function pointer that was still `.` to reference the current directory, and a function pointer that was still
unkown to me at the time but that I renamed `encrypt_file`. unkown to me at the time but that I renamed `encrypt_file`.
How I knew that the function was encrypting folders and that the parameter was How I knew that the function was encrypting folders and that the parameter was

@ -225,7 +225,7 @@ on a third bitboard at the coordinates indexed by the operands.
So my decompiler really despise this function, I told you it took the whole So my decompiler really despise this function, I told you it took the whole
context as parameters but its not exactly true as it actually packs the whole context as parameters but its not exactly true as it actually packs the whole
context in 10 `int128_t` arguments using SIMD instructions. I cleaned up the context in 10 `int128_t` arguments using SIMD instructions. I cleaned up the
function call for your eyes so you do not have de keep tracks of the 12 function call for your eyes so you do not have de keep track of the 12
parameters of the function. parameters of the function.
{{< code file="/static/diplodocus/case4_stripped.c" language="c" >}} {{< code file="/static/diplodocus/case4_stripped.c" language="c" >}}
@ -336,7 +336,7 @@ time solving it manually. I might start to implement a SAT solver or som...
But wait, did you spot something sus with this implementation ? But wait, did you spot something sus with this implementation ?
{{< image src="/diplodocus/the_rock.jpg" style="border-radius: 8px;" >}} {{< image src="/diplodocus/the_rock.gif" style="border-radius: 8px;" >}}
## Bypassing the puzzle ## Bypassing the puzzle

@ -32,7 +32,6 @@ int64_t encrypt_file2(char* name)
// Determine if another block is needed to encrypt the file // Determine if another block is needed to encrypt the file
int32_t n_blocks = len_read / 0x1000; int32_t n_blocks = len_read / 0x1000;
int32_t len_read;
if (len_read % 0x1000 != 0) if (len_read % 0x1000 != 0)
stop = 1; stop = 1;

@ -3,8 +3,6 @@ int32_t main(int32_t argc, char** argv, char** envp)
int32_t res; int32_t res;
if (argc != 2) if (argc != 2)
{ {
char** rax;
rax = 0;
printf("Usage %s <device> \n", *(int64_t*)argv); printf("Usage %s <device> \n", *(int64_t*)argv);
res = 1; res = 1;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB