Compare commits
9 Commits
f00f74c81f
...
main
Author | SHA1 | Date | |
---|---|---|---|
742274120f
|
|||
3486fd86b1
|
|||
1e7895f21a
|
|||
bf645048e6
|
|||
86f265f22d
|
|||
84135a321e
|
|||
bf74dd7e22
|
|||
914fbc5d6d
|
|||
9df5ce5b66
|
14
01-VeryEasy1/VE1.txt
Normal file
14
01-VeryEasy1/VE1.txt
Normal file
@ -0,0 +1,14 @@
|
||||
1. What compiler was used to build this executable?
|
||||
GCC
|
||||
|
||||
2. What is the target platform for this executable?
|
||||
x86_64
|
||||
|
||||
3. Is this executable linked statically or dynamically?
|
||||
dynamically linked
|
||||
|
||||
4. What kind of reverse-engineering information is still embedded in this executable?
|
||||
?
|
||||
|
||||
5. What is the secret password hardcoded into this executable? You need to email this value to pascal+sre25@mod-p.ch before Feb 24th, 2025, 12h00 CET to validate this lab and receive 1 point.
|
||||
+3kfRmlG1rqb
|
0
01-VeryEasy1/VeryEasy01.gpr
Normal file
0
01-VeryEasy1/VeryEasy01.gpr
Normal file
11
01-VeryEasy1/VeryEasy01.rep/idata/00/00000000.prp
Normal file
11
01-VeryEasy1/VeryEasy01.rep/idata/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="Program" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a801f6f84e95338696086533" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="VE1" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
01-VeryEasy1/VeryEasy01.rep/idata/00/~00000000.db/db.2.gbf
Normal file
BIN
01-VeryEasy1/VeryEasy01.rep/idata/00/~00000000.db/db.2.gbf
Normal file
Binary file not shown.
5
01-VeryEasy1/VeryEasy01.rep/idata/~index.bak
Normal file
5
01-VeryEasy1/VeryEasy01.rep/idata/~index.bak
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:VE1:a801f6f84e95338696086533
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
01-VeryEasy1/VeryEasy01.rep/idata/~index.dat
Normal file
5
01-VeryEasy1/VeryEasy01.rep/idata/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:VE1:a801f6f84e95338696086533
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
6
01-VeryEasy1/VeryEasy01.rep/project.prp
Normal file
6
01-VeryEasy1/VeryEasy01.rep/project.prp
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="OWNER" TYPE="string" VALUE="remi" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
15
01-VeryEasy1/VeryEasy01.rep/projectState
Normal file
15
01-VeryEasy1/VeryEasy01.rep/projectState
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PROJECT>
|
||||
<PROJECT_DATA_XML_NAME NAME="DISPLAY_DATA">
|
||||
<SAVE_STATE>
|
||||
<ARRAY NAME="EXPANDED_PATHS" TYPE="string">
|
||||
<A VALUE="VeryEasy01:" />
|
||||
</ARRAY>
|
||||
<STATE NAME="SHOW_TABLE" TYPE="boolean" VALUE="false" />
|
||||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
11
01-VeryEasy1/VeryEasy01.rep/user/00/00000000.prp
Normal file
11
01-VeryEasy1/VeryEasy01.rep/user/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="ProgramUserData" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a801f6f822125986500653561" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="udf_a801f6f84e95338696086533" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
01-VeryEasy1/VeryEasy01.rep/user/00/~00000000.db/db.1.gbf
Normal file
BIN
01-VeryEasy1/VeryEasy01.rep/user/00/~00000000.db/db.1.gbf
Normal file
Binary file not shown.
4
01-VeryEasy1/VeryEasy01.rep/user/~index.bak
Normal file
4
01-VeryEasy1/VeryEasy01.rep/user/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
01-VeryEasy1/VeryEasy01.rep/user/~index.dat
Normal file
5
01-VeryEasy1/VeryEasy01.rep/user/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:udf_a801f6f84e95338696086533:a801f6f822125986500653561
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
2
01-VeryEasy1/VeryEasy01.rep/user/~journal.bak
Normal file
2
01-VeryEasy1/VeryEasy01.rep/user/~journal.bak
Normal file
@ -0,0 +1,2 @@
|
||||
IADD:00000000:/udf_a801f6f84e95338696086533
|
||||
IDSET:/udf_a801f6f84e95338696086533:a801f6f822125986500653561
|
4
01-VeryEasy1/VeryEasy01.rep/versioned/~index.bak
Normal file
4
01-VeryEasy1/VeryEasy01.rep/versioned/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
4
01-VeryEasy1/VeryEasy01.rep/versioned/~index.dat
Normal file
4
01-VeryEasy1/VeryEasy01.rep/versioned/~index.dat
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
0
01-VeryEasy2/VE2
Normal file → Executable file
0
01-VeryEasy2/VE2
Normal file → Executable file
0
01-VeryEasy2/VE2.gpr
Normal file
0
01-VeryEasy2/VE2.gpr
Normal file
11
01-VeryEasy2/VE2.rep/idata/00/00000000.prp
Normal file
11
01-VeryEasy2/VE2.rep/idata/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="Program" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a801f6fb66758882284485789" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="VE2" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
01-VeryEasy2/VE2.rep/idata/00/~00000000.db/db.2.gbf
Normal file
BIN
01-VeryEasy2/VE2.rep/idata/00/~00000000.db/db.2.gbf
Normal file
Binary file not shown.
5
01-VeryEasy2/VE2.rep/idata/~index.bak
Normal file
5
01-VeryEasy2/VE2.rep/idata/~index.bak
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:VE2:a801f6fb66758882284485789
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
01-VeryEasy2/VE2.rep/idata/~index.dat
Normal file
5
01-VeryEasy2/VE2.rep/idata/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:VE2:a801f6fb66758882284485789
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
6
01-VeryEasy2/VE2.rep/project.prp
Normal file
6
01-VeryEasy2/VE2.rep/project.prp
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="OWNER" TYPE="string" VALUE="remi" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
15
01-VeryEasy2/VE2.rep/projectState
Normal file
15
01-VeryEasy2/VE2.rep/projectState
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PROJECT>
|
||||
<PROJECT_DATA_XML_NAME NAME="DISPLAY_DATA">
|
||||
<SAVE_STATE>
|
||||
<ARRAY NAME="EXPANDED_PATHS" TYPE="string">
|
||||
<A VALUE="VE2:" />
|
||||
</ARRAY>
|
||||
<STATE NAME="SHOW_TABLE" TYPE="boolean" VALUE="false" />
|
||||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
11
01-VeryEasy2/VE2.rep/user/00/00000000.prp
Normal file
11
01-VeryEasy2/VE2.rep/user/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="ProgramUserData" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a801f6fa08361347999654449" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="udf_a801f6fb66758882284485789" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
01-VeryEasy2/VE2.rep/user/00/~00000000.db/db.1.gbf
Normal file
BIN
01-VeryEasy2/VE2.rep/user/00/~00000000.db/db.1.gbf
Normal file
Binary file not shown.
4
01-VeryEasy2/VE2.rep/user/~index.bak
Normal file
4
01-VeryEasy2/VE2.rep/user/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
01-VeryEasy2/VE2.rep/user/~index.dat
Normal file
5
01-VeryEasy2/VE2.rep/user/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:udf_a801f6fb66758882284485789:a801f6fa08361347999654449
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
2
01-VeryEasy2/VE2.rep/user/~journal.bak
Normal file
2
01-VeryEasy2/VE2.rep/user/~journal.bak
Normal file
@ -0,0 +1,2 @@
|
||||
IADD:00000000:/udf_a801f6fb66758882284485789
|
||||
IDSET:/udf_a801f6fb66758882284485789:a801f6fa08361347999654449
|
4
01-VeryEasy2/VE2.rep/versioned/~index.bak
Normal file
4
01-VeryEasy2/VE2.rep/versioned/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
4
01-VeryEasy2/VE2.rep/versioned/~index.dat
Normal file
4
01-VeryEasy2/VE2.rep/versioned/~index.dat
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
8
01-VeryEasy2/VE2.txt
Normal file
8
01-VeryEasy2/VE2.txt
Normal file
@ -0,0 +1,8 @@
|
||||
1. Was this executable compiled with debugging symbols?
|
||||
yes, with debug_info
|
||||
|
||||
2. How is protected the secret password hard-coded into this executable?
|
||||
By shift of 'W'
|
||||
|
||||
3. What is the secret password hard-coded into this executable? You must send this value by email to pascal+sre25@mod-p.ch before Mar. 3rd, 2025, 12h00 CET to validate this lab and get 1 point.
|
||||
JSHGnQumN+sQ
|
43
01-VeryEasy2/code.c
Normal file
43
01-VeryEasy2/code.c
Normal file
@ -0,0 +1,43 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
char ENCSECRETPASSWORD[];
|
||||
|
||||
int main(int param_1, char* *param_2) {
|
||||
int8_t output_value;
|
||||
size_t input_length;
|
||||
char acStack_19 [13];
|
||||
|
||||
if (param_1 == 2) {
|
||||
input_length = strlen((char *)param_2[1]);
|
||||
if (input_length == 12) {
|
||||
for (uint8_t i = 0; i < 13; i++) {
|
||||
acStack_19[i] = ENCSECRETPASSWORD[i] + 'W'; // JSHGnQumN+sQ
|
||||
//f3 fc f1 f0 17 fa 1e 16 f7 d4 1c fa a9
|
||||
//
|
||||
|
||||
}
|
||||
for (uint8_t i = 0; i < 13; i++) {
|
||||
if (acStack_19[i] != *(char *)((long)i + param_2[1])) {
|
||||
fwrite("\nWrong password ! Try again...\n\n",1,32,stderr);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
fprintf(stderr,"\nCongratulations ! The right password is indeed %s :-)\n\n",param_2[1]);
|
||||
output_value = 35;
|
||||
}
|
||||
else {
|
||||
fwrite("\nWrong password ! Try again...\n\n",1,32,stderr);
|
||||
output_value = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
fwrite("\nMSE-SRE Challenge VE2 --- Enjoy !\n",1,35,stderr);
|
||||
fprintf(stderr,"\nUsage: %s <password>\n\n",*param_2);
|
||||
output_value = 1;
|
||||
}
|
||||
return output_value;
|
||||
}
|
16
01-VeryEasy2/foo.c
Normal file
16
01-VeryEasy2/foo.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
int main() {
|
||||
char foo[14] = {0xf3, 0xfc, 0xf1, 0xf0, 0x17, 0xfa, 0x1e, 0x16, 0xf7, 0xd4, 0x1c, 0xfa, 0xa9, '\0'};
|
||||
for (uint8_t i = 0; i<13; i++) {
|
||||
foo[i] += 'W';
|
||||
}
|
||||
foo[13] = '\0';
|
||||
printf("%s \r\t", foo);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void myfunc(int a, ...) {
|
||||
|
||||
}
|
0
01-VeryEasy3/VE3.gpr
Normal file
0
01-VeryEasy3/VE3.gpr
Normal file
11
01-VeryEasy3/VE3.rep/idata/00/00000000.prp
Normal file
11
01-VeryEasy3/VE3.rep/idata/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="Program" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a2e40c5a22540267163090739" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="VE3" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
01-VeryEasy3/VE3.rep/idata/00/~00000000.db/db.2.gbf
Normal file
BIN
01-VeryEasy3/VE3.rep/idata/00/~00000000.db/db.2.gbf
Normal file
Binary file not shown.
4
01-VeryEasy3/VE3.rep/idata/~index.bak
Normal file
4
01-VeryEasy3/VE3.rep/idata/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
01-VeryEasy3/VE3.rep/idata/~index.dat
Normal file
5
01-VeryEasy3/VE3.rep/idata/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:VE3:a2e40c5a22540267163090739
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
2
01-VeryEasy3/VE3.rep/idata/~journal.bak
Normal file
2
01-VeryEasy3/VE3.rep/idata/~journal.bak
Normal file
@ -0,0 +1,2 @@
|
||||
IADD:00000000:/VE3
|
||||
IDSET:/VE3:a2e40c5a22540267163090739
|
6
01-VeryEasy3/VE3.rep/project.prp
Normal file
6
01-VeryEasy3/VE3.rep/project.prp
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="OWNER" TYPE="string" VALUE="remi" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
15
01-VeryEasy3/VE3.rep/projectState
Normal file
15
01-VeryEasy3/VE3.rep/projectState
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PROJECT>
|
||||
<PROJECT_DATA_XML_NAME NAME="DISPLAY_DATA">
|
||||
<SAVE_STATE>
|
||||
<ARRAY NAME="EXPANDED_PATHS" TYPE="string">
|
||||
<A VALUE="VE3:" />
|
||||
</ARRAY>
|
||||
<STATE NAME="SHOW_TABLE" TYPE="boolean" VALUE="false" />
|
||||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
11
01-VeryEasy3/VE3.rep/user/00/00000000.prp
Normal file
11
01-VeryEasy3/VE3.rep/user/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="ProgramUserData" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a2e40c594c340888329008539" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="udf_a2e40c5a22540267163090739" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
01-VeryEasy3/VE3.rep/user/00/~00000000.db/db.1.gbf
Normal file
BIN
01-VeryEasy3/VE3.rep/user/00/~00000000.db/db.1.gbf
Normal file
Binary file not shown.
4
01-VeryEasy3/VE3.rep/user/~index.bak
Normal file
4
01-VeryEasy3/VE3.rep/user/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
01-VeryEasy3/VE3.rep/user/~index.dat
Normal file
5
01-VeryEasy3/VE3.rep/user/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:udf_a2e40c5a22540267163090739:a2e40c594c340888329008539
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
2
01-VeryEasy3/VE3.rep/user/~journal.bak
Normal file
2
01-VeryEasy3/VE3.rep/user/~journal.bak
Normal file
@ -0,0 +1,2 @@
|
||||
IADD:00000000:/udf_a2e40c5a22540267163090739
|
||||
IDSET:/udf_a2e40c5a22540267163090739:a2e40c594c340888329008539
|
4
01-VeryEasy3/VE3.rep/versioned/~index.bak
Normal file
4
01-VeryEasy3/VE3.rep/versioned/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
4
01-VeryEasy3/VE3.rep/versioned/~index.dat
Normal file
4
01-VeryEasy3/VE3.rep/versioned/~index.dat
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
8
01-VeryEasy3/VE3.txt
Normal file
8
01-VeryEasy3/VE3.txt
Normal file
@ -0,0 +1,8 @@
|
||||
1. What is the target platform of this executable?
|
||||
ARM32
|
||||
|
||||
2. Was this executable stripped?
|
||||
no
|
||||
|
||||
3. What is the secret password hardcoded into this executable? You must send this value by email to pascal+sre25@mod-p.ch before Mar. 10th, 2025, 12h00 CET to validate this lab and get 1 point.
|
||||
33X5yPBehep4
|
52
01-VeryEasy3/code.c
Normal file
52
01-VeryEasy3/code.c
Normal file
@ -0,0 +1,52 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
bool check_password(char *param_1) {
|
||||
bool uVar1;
|
||||
//33X5yPBehep4
|
||||
if (((((param_1[0] == '3') && (param_1[1] == '3')) && (param_1[2] == 'X')) &&
|
||||
((((param_1[3] == '5' && (param_1[4] == 'y')) &&
|
||||
((param_1[5] == 'P' && ((param_1[6] == 'B' && (param_1[7] == 'e')))))) &&
|
||||
(param_1[8] == 'h')))) &&
|
||||
(((param_1[9] == 'e' && (param_1[10] == 'p')) && (param_1[11] == '4')))) {
|
||||
uVar1 = true;
|
||||
}
|
||||
else {
|
||||
uVar1 = false;
|
||||
}
|
||||
return uVar1;
|
||||
}
|
||||
|
||||
uint64_t main(int param_1,char* *param_2) {
|
||||
size_t pw_length;
|
||||
bool pw_correct;
|
||||
uint64_t uVar3;
|
||||
|
||||
if (param_1 == 2) {
|
||||
pw_length = strlen((char *)param_2[1]);
|
||||
if (pw_length == 12) {
|
||||
pw_correct = check_password(param_2[1]);
|
||||
if (pw_correct == false) {
|
||||
fwrite("\nWrong password ! Try again...\n\n",1,0x20,stderr);
|
||||
uVar3 = 1;
|
||||
}
|
||||
else {
|
||||
fprintf(stderr,"\nCongratulations ! The right password is indeed %s :-)\n\n",param_2[1]);
|
||||
uVar3 = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
fwrite("\nWrong password ! Try again...\n\n",1,0x20,stderr);
|
||||
uVar3 = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
fwrite("\nMSE-SRE Challenge VE3 --- Enjoy !\n",1,0x23,stderr);
|
||||
fprintf(stderr,"\nUsage: %s <password>\n\n",*param_2);
|
||||
uVar3 = 1;
|
||||
}
|
||||
return uVar3;
|
||||
}
|
0
02-Easy1/E1
Normal file → Executable file
0
02-Easy1/E1
Normal file → Executable file
12
02-Easy1/E1.txt
Normal file
12
02-Easy1/E1.txt
Normal file
@ -0,0 +1,12 @@
|
||||
Questions
|
||||
1. What compiler was used to build this executable?
|
||||
GCC
|
||||
|
||||
2. What is the target platform for this executable?
|
||||
x86_64
|
||||
|
||||
3. Is this executable linked statically or dynamically?
|
||||
dynamically linked
|
||||
|
||||
4. What is the secret password hardcoded into this executable? You must email this value to pascal+sre25@mod-p.ch before Feb 24th, 2025, 12h00 CET to validate this lab and receive 5 points.
|
||||
DwMxRPg1cjmVTHdV
|
0
02-Easy1/Easy01.gpr
Normal file
0
02-Easy1/Easy01.gpr
Normal file
11
02-Easy1/Easy01.rep/idata/00/00000000.prp
Normal file
11
02-Easy1/Easy01.rep/idata/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="Program" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a801f6f9e1526096743070060" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="E1" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
02-Easy1/Easy01.rep/idata/00/~00000000.db/db.2.gbf
Normal file
BIN
02-Easy1/Easy01.rep/idata/00/~00000000.db/db.2.gbf
Normal file
Binary file not shown.
5
02-Easy1/Easy01.rep/idata/~index.bak
Normal file
5
02-Easy1/Easy01.rep/idata/~index.bak
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:E1:a801f6f9e1526096743070060
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
02-Easy1/Easy01.rep/idata/~index.dat
Normal file
5
02-Easy1/Easy01.rep/idata/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:E1:a801f6f9e1526096743070060
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
6
02-Easy1/Easy01.rep/project.prp
Normal file
6
02-Easy1/Easy01.rep/project.prp
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="OWNER" TYPE="string" VALUE="remi" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
15
02-Easy1/Easy01.rep/projectState
Normal file
15
02-Easy1/Easy01.rep/projectState
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PROJECT>
|
||||
<PROJECT_DATA_XML_NAME NAME="DISPLAY_DATA">
|
||||
<SAVE_STATE>
|
||||
<ARRAY NAME="EXPANDED_PATHS" TYPE="string">
|
||||
<A VALUE="Easy01:" />
|
||||
</ARRAY>
|
||||
<STATE NAME="SHOW_TABLE" TYPE="boolean" VALUE="false" />
|
||||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
11
02-Easy1/Easy01.rep/user/00/00000000.prp
Normal file
11
02-Easy1/Easy01.rep/user/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="ProgramUserData" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="c0a82f6b4fd12437693729253" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="udf_a801f6f9e1526096743070060" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
02-Easy1/Easy01.rep/user/00/~00000000.db/db.3.gbf
Normal file
BIN
02-Easy1/Easy01.rep/user/00/~00000000.db/db.3.gbf
Normal file
Binary file not shown.
4
02-Easy1/Easy01.rep/user/~index.bak
Normal file
4
02-Easy1/Easy01.rep/user/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
02-Easy1/Easy01.rep/user/~index.dat
Normal file
5
02-Easy1/Easy01.rep/user/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:udf_a801f6f9e1526096743070060:c0a82f6b4fd12437693729253
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
2
02-Easy1/Easy01.rep/user/~journal.bak
Normal file
2
02-Easy1/Easy01.rep/user/~journal.bak
Normal file
@ -0,0 +1,2 @@
|
||||
IADD:00000000:/udf_a801f6f9e1526096743070060
|
||||
IDSET:/udf_a801f6f9e1526096743070060:c0a82f6b4fd12437693729253
|
4
02-Easy1/Easy01.rep/versioned/~index.bak
Normal file
4
02-Easy1/Easy01.rep/versioned/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
4
02-Easy1/Easy01.rep/versioned/~index.dat
Normal file
4
02-Easy1/Easy01.rep/versioned/~index.dat
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
55
02-Easy1/code.c
Normal file
55
02-Easy1/code.c
Normal file
@ -0,0 +1,55 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
ulong SECRETPASSWORD;
|
||||
|
||||
int main(int param_1, int *param_2) {
|
||||
char* foo = "Hello";
|
||||
uint8_t string_equality;
|
||||
uint8_t output_value;
|
||||
size_t input_length;
|
||||
uint8_t local_20;
|
||||
uint8_t itr;
|
||||
|
||||
local_20 = 1;
|
||||
if (true /*param_1 == 2*/) {
|
||||
|
||||
itr = 0;
|
||||
while( true ) {
|
||||
//input_length = strlen((char *)param_2[1]); // 16
|
||||
input_length = strlen(foo); // 16
|
||||
if (16 <= itr) break;
|
||||
local_20 = (local_20 * 3) % 257;
|
||||
itr = itr + 1;
|
||||
}
|
||||
string_equality = strncmp(
|
||||
// SECRETPASSWORD = 00402e82
|
||||
// SECRETPASSWORD + ( (249+226)%257 ) * 8
|
||||
// SECRETPASSWORD + (475%257) * 8
|
||||
// SECRETPASSWORD + 218 * 8
|
||||
// SECRETPASSWORD + 1744
|
||||
*(char **)(SECRETPASSWORD + (ulong)((local_20 + 226) % 257) * 8),
|
||||
foo,
|
||||
16
|
||||
);
|
||||
// => DwMxRPg1cjmVTHdV
|
||||
if (string_equality == 0) {
|
||||
fprintf(stderr,"\nCongratulations ! The right password is indeed %s :-)\n\n",param_2[1]);
|
||||
output_value = 0;
|
||||
}
|
||||
else {
|
||||
fwrite("\nWrong password ! Try again...\n\n", 1, 32, stderr);
|
||||
output_value = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
fwrite("\nMSE-SRE Challenge E1 --- Enjoy !\n", 1, 34, stderr);
|
||||
fprintf(stderr, "\nUsage: %s <password>\n\n", *param_2);
|
||||
output_value = 1;
|
||||
}
|
||||
return output_value;
|
||||
}
|
||||
|
0
02-Easy2/E2
Normal file → Executable file
0
02-Easy2/E2
Normal file → Executable file
0
02-Easy2/E2.gpr
Normal file
0
02-Easy2/E2.gpr
Normal file
11
02-Easy2/E2.rep/idata/00/00000000.prp
Normal file
11
02-Easy2/E2.rep/idata/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="Program" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="c0a82eeaa7971421479596701" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="E2" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
02-Easy2/E2.rep/idata/00/~00000000.db/db.2.gbf
Normal file
BIN
02-Easy2/E2.rep/idata/00/~00000000.db/db.2.gbf
Normal file
Binary file not shown.
5
02-Easy2/E2.rep/idata/~index.bak
Normal file
5
02-Easy2/E2.rep/idata/~index.bak
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:E2:c0a82eeaa7971421479596701
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
02-Easy2/E2.rep/idata/~index.dat
Normal file
5
02-Easy2/E2.rep/idata/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:E2:c0a82eeaa7971421479596701
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
6
02-Easy2/E2.rep/project.prp
Normal file
6
02-Easy2/E2.rep/project.prp
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="OWNER" TYPE="string" VALUE="remi" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
15
02-Easy2/E2.rep/projectState
Normal file
15
02-Easy2/E2.rep/projectState
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PROJECT>
|
||||
<PROJECT_DATA_XML_NAME NAME="DISPLAY_DATA">
|
||||
<SAVE_STATE>
|
||||
<ARRAY NAME="EXPANDED_PATHS" TYPE="string">
|
||||
<A VALUE="E2:" />
|
||||
</ARRAY>
|
||||
<STATE NAME="SHOW_TABLE" TYPE="boolean" VALUE="false" />
|
||||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
11
02-Easy2/E2.rep/user/00/00000000.prp
Normal file
11
02-Easy2/E2.rep/user/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="ProgramUserData" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="c0a82ee8e31106056027371797" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="udf_c0a82eeaa7971421479596701" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
02-Easy2/E2.rep/user/00/~00000000.db/db.1.gbf
Normal file
BIN
02-Easy2/E2.rep/user/00/~00000000.db/db.1.gbf
Normal file
Binary file not shown.
5
02-Easy2/E2.rep/user/~index.dat
Normal file
5
02-Easy2/E2.rep/user/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:udf_c0a82eeaa7971421479596701:c0a82ee8e31106056027371797
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
2
02-Easy2/E2.rep/user/~journal.dat
Normal file
2
02-Easy2/E2.rep/user/~journal.dat
Normal file
@ -0,0 +1,2 @@
|
||||
IADD:00000000:/udf_c0a82eeaa7971421479596701
|
||||
IDSET:/udf_c0a82eeaa7971421479596701:c0a82ee8e31106056027371797
|
4
02-Easy2/E2.rep/versioned/~index.bak
Normal file
4
02-Easy2/E2.rep/versioned/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
4
02-Easy2/E2.rep/versioned/~index.dat
Normal file
4
02-Easy2/E2.rep/versioned/~index.dat
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
130
02-Easy2/E2.txt
Normal file
130
02-Easy2/E2.txt
Normal file
@ -0,0 +1,130 @@
|
||||
1. What is the algorithm used to check the validity of a password?
|
||||
```c
|
||||
for (int i = 0; i < 4; i++) {
|
||||
Seed[i] ^= password[i] ^ password[i + 4] ^ password[i + 8];
|
||||
}
|
||||
```
|
||||
|
||||
2. Can you break this password checker, i.e., implementing a generator of valid passwords?
|
||||
You must send 16 different valid passwords by email to pascal+sre25@mod-p.ch before Mar. 3rd, 2025, 12h00 CET to validate this lab and get 5 points.
|
||||
c.f. text.c
|
||||
remiB1RUZO10
|
||||
l96nhRI/npqM
|
||||
hRI/npqMl96n
|
||||
npqMl96nhRI/
|
||||
mjwdb6V1eG/Y
|
||||
P6TsnIh8Td2G
|
||||
Imdln4Z1MB0Q
|
||||
YqgwfAXMU+16
|
||||
dE+BV2wwXlR9
|
||||
x130TYTwFsiK
|
||||
OOYaH3gYmg04
|
||||
ta8aw8wYiBA4
|
||||
9MS867rvea/B
|
||||
IbY3LH2So1el
|
||||
Xb/zgHGDU1f2
|
||||
Q64Csfi6HKSy
|
||||
|
||||
|
||||
remivFRVn813
|
||||
n813remivFRV
|
||||
vFRVn813remi
|
||||
remiRUR2J+1W
|
||||
remisFSQk804
|
||||
remiOH7+W6TN
|
||||
remiNGU2V96W
|
||||
remi3IP5+73P
|
||||
remiAJP4Y43Q
|
||||
remipGZSh996
|
||||
remiQJ03I4SV
|
||||
remiQH1QI6R4
|
||||
remiB76WZIU2
|
||||
remi/8S/7F0J
|
||||
reminUZ/v+9J
|
||||
remiq0W/iN4J
|
||||
remiiI//q7LJ
|
||||
remiV8+RNFH7
|
||||
remiA43JYJP/
|
||||
remiHNRSP016
|
||||
remiN76UVIU0
|
||||
remis06UkNU0
|
||||
remiM90UUGS0
|
||||
remio8S7wF0R
|
||||
reminK3Wv5P2
|
||||
remiSGVRK957
|
||||
remip/6NhQU+
|
||||
remij32TrMQ1
|
||||
remi7F4//8WJ
|
||||
remi+9U43G6Q
|
||||
remiq1+QiOH4
|
||||
remivU3Nn+P+
|
||||
remiMLR+U21N
|
||||
remiu8L/mF/J
|
||||
remiKI11S7RT
|
||||
remiNGQ5V92P
|
||||
remiT46/LJUJ
|
||||
remi+9203GQU
|
||||
remiQG9UI9Z0
|
||||
remiMQS1U/0T
|
||||
remivF1Vn8R3
|
||||
remiZ7S6BI0S
|
||||
remiU4/6MJLS
|
||||
remiOLV6W25S
|
||||
remiYI+RA7H7
|
||||
remiWKV6O55S
|
||||
remiPLV6H25S
|
||||
remio8WSwF46
|
||||
remiV1+1NOHT
|
||||
remiHK7WP5T2
|
||||
remi+N7T30T1
|
||||
remi/UPR7+37
|
||||
remi33S3+M0V
|
||||
remiY/27AQQR
|
||||
remiI1H4QO+Q
|
||||
remim5/PuKL5
|
||||
remin895vFZP
|
||||
remiuFW7m84R
|
||||
remii+SRqU07
|
||||
remisHSWk602
|
||||
remimHTRu677
|
||||
remia09PyNZ5
|
||||
remioL+Jw2H/
|
||||
remiqGZSi996
|
||||
remiAI45Y7WP
|
||||
remiJURWR+12
|
||||
remiZIV2B75W
|
||||
remimMT6u37S
|
||||
remioLW0w24U
|
||||
remi30T6+N7S
|
||||
remip2U6hL6S
|
||||
remiAQ71Y/TT
|
||||
remiiG+Vq9H3
|
||||
remiiNZ1q09T
|
||||
remiP5PTHK31
|
||||
remiWJU5O46P
|
||||
remi/UV67+5S
|
||||
remiyNQ/a02J
|
||||
remi3M44+3WQ
|
||||
remil2VUtL50
|
||||
remih/90pQZU
|
||||
remia+3NyUP+
|
||||
remiQ1Z7IO9R
|
||||
remiz3L3bM/V
|
||||
remiB73RZIP7
|
||||
remiKHQSS626
|
||||
remiAOVQY154
|
||||
remiQFH1I8+T
|
||||
remiSMPUK330
|
||||
remiOF4TW8W1
|
||||
remihNP+p03N
|
||||
remilF5Ut8V0
|
||||
remis30+kMSN
|
||||
remiOH4WW6W2
|
||||
remiWK4WO5W2
|
||||
remiO534WKPQ
|
||||
remiv49QnJZ4
|
||||
remi3I64+7UQ
|
||||
remiyO91a1ZT
|
||||
remipJ21h4QT
|
||||
remiLLU5T26P
|
||||
remiwFVUo850
|
39
02-Easy2/code.c
Normal file
39
02-Easy2/code.c
Normal file
@ -0,0 +1,39 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
int main(int param_1,char* *param_2) {
|
||||
char* input_string;
|
||||
size_t input_length;
|
||||
char* pcVar2;
|
||||
char* pcVar3;
|
||||
uint32_t uVar4;
|
||||
|
||||
if (param_1 == 2) {
|
||||
input_string = (char *)param_2[1];
|
||||
input_length = strlen(input_string);
|
||||
if (input_length == 12) {
|
||||
uVar4 = 0x56253667;
|
||||
pcVar2 = input_string;
|
||||
do {
|
||||
pcVar3 = pcVar2 + 4;
|
||||
uVar4 = uVar4 ^ ((uint8_t)pcVar2[0] << 24 | (uint8_t)pcVar2[1] << 16 | (uint8_t)pcVar2[2] << 8 | (uint8_t)pcVar2[3]);
|
||||
pcVar2 = pcVar3;
|
||||
} while (input_string + 12 != pcVar3);
|
||||
if (uVar4 == 0x3c3e386b) {
|
||||
fprintf(stderr,"\nCongratulations ! A right password is indeed %s :-)\n\n",input_string);
|
||||
return 0;
|
||||
}
|
||||
fwrite("\nWrong password ! Try again...\n\n", 1, 0x20,stderr);
|
||||
} else {
|
||||
fwrite("\nWrong password length ! Try again...\n\n", 1, 0x20,stderr);
|
||||
}
|
||||
}
|
||||
else {
|
||||
fwrite("\nMSE-SRE Challenge E2 --- Enjoy !\n", 1, 0x22,stderr);
|
||||
fwrite("\nWhat I need is 1024 passwords passing the check!\n",1,0x32,stderr);
|
||||
fprintf(stderr, "\nUsage: %s <password>\n\n", *param_2);
|
||||
}
|
||||
return 1;
|
||||
}
|
95
02-Easy2/smallGenerator.c
Normal file
95
02-Easy2/smallGenerator.c
Normal file
@ -0,0 +1,95 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <time.h>
|
||||
|
||||
const uint16_t NBR_PASSWORDS_REQUESTED = 100;
|
||||
|
||||
bool hash(char* str){
|
||||
char* str1 = str;
|
||||
char* str2 = str;
|
||||
uint32_t foo = 0x56253667;
|
||||
|
||||
do {
|
||||
str2 = str1 + 4;
|
||||
foo = foo ^ ((uint8_t)*str1 << 24 | (uint8_t)str1[1] << 16 | (uint8_t)str1[2] << 8 | (uint8_t)str1[3]);
|
||||
str1 = str2;
|
||||
} while (str + 12 != str2);
|
||||
return foo == 0x3c3e386b ? true : false;
|
||||
}
|
||||
|
||||
const char list[] = {
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
|
||||
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
'/', '+'
|
||||
};
|
||||
char give_char(uint8_t index){
|
||||
if (index >= sizeof(list)) {
|
||||
printf("Error: Index out of bounds, max %zu\n", sizeof(list));
|
||||
exit(1);
|
||||
}
|
||||
return list[index];
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
srand(time(NULL));
|
||||
|
||||
// seed = 0x56253667;
|
||||
// answer = 0x3c3e386b;
|
||||
uint8_t mdw[4] = {0x6a, 0x1b, 0x0e, 0x0c};
|
||||
|
||||
char password[13];
|
||||
const uint8_t max_char = sizeof(list);
|
||||
|
||||
password[0] = 'r';
|
||||
password[1] = 'e';
|
||||
password[2] = 'm';
|
||||
password[3] = 'i';
|
||||
uint8_t foo[4];
|
||||
|
||||
for(uint16_t n = 0; n < NBR_PASSWORDS_REQUESTED; n++) {
|
||||
|
||||
for(uint8_t i = 0; i < 4; i++) {
|
||||
foo[i] = password[i] ^ mdw[i];
|
||||
}
|
||||
for(uint8_t i = 0; i < 4; i++) {
|
||||
// password[i] = give_char(rand()%max_char);
|
||||
uint32_t counter = 0;
|
||||
// for(uint8_t c2 = 0; c2 < max_char; c2++) {
|
||||
|
||||
// }
|
||||
do{
|
||||
password[i+4] = list[rand()%max_char];
|
||||
for(uint8_t j = 0; j < max_char; j++) {
|
||||
password[i+8] = list[j];
|
||||
if( ((uint8_t)password[i+4] ^ (uint8_t)password[i+8]) == foo[i]) break;
|
||||
}
|
||||
counter++;
|
||||
} while (( (uint8_t)password[i+4] ^ (uint8_t)password[i+8] ) != foo[i]);
|
||||
//printf("Counter: %zu\n", counter);
|
||||
}
|
||||
password[12] = '\0';
|
||||
if (hash(password)) {
|
||||
printf("%s\n", password);
|
||||
} else {
|
||||
printf("Fuck\n");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// l96n hRI/ npqM 471M
|
||||
//
|
||||
//
|
||||
// 56 25 36 67
|
||||
// -----------
|
||||
// 6C 39 36 6E
|
||||
// 68 52 49 2F
|
||||
// 6E 70 71 4D
|
||||
// -----------
|
||||
// 3c 3e 38 6b
|
166
02-Easy2/verificateur.c
Normal file
166
02-Easy2/verificateur.c
Normal file
@ -0,0 +1,166 @@
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <time.h>
|
||||
#include <string.h>
|
||||
|
||||
typedef char char_array[13];
|
||||
const char psw[][13] = {
|
||||
"pMuzxQDIgCV9",
|
||||
"xCQzgmCBpqu2",
|
||||
"Dum+EEIenoCD",
|
||||
"MqO4VFBXthjf",
|
||||
"kiv+IpcxMFrY",
|
||||
"uTLfrYO4hRdX",
|
||||
"GBnbBQ8XjL10",
|
||||
"3dXLhhj74SUq",
|
||||
"PBfQujB0JwCk",
|
||||
"vFreTky8MrlW",
|
||||
"Smw6NADYrsTe",
|
||||
"5cDL1pbwkLA1",
|
||||
"i3GK7GP+1+pj",
|
||||
"cPgNAuWuMzW1",
|
||||
"TJWgPtgZkaW7",
|
||||
"SUsZXkg8dash",
|
||||
"xfs6xhXloQLP",
|
||||
"dk63xX3Wslbn",
|
||||
"BiR0yzElTLpV",
|
||||
"3SAoecG29oaW",
|
||||
"+Lk+7uiysfeX",
|
||||
"AfxPOnxqaWg+",
|
||||
"vWc9cEJYzMNj",
|
||||
"WxCQAWF1ypbj",
|
||||
"rFLxXmdCEtO1",
|
||||
"bPcTXLuhUCq6",
|
||||
"BfL3NiQzcPzC",
|
||||
"JFc2N+3Ok27w",
|
||||
"WQILiwG1Qyiw",
|
||||
"mssXMUL4OyXf",
|
||||
"oi7gTr2+TDbF",
|
||||
"NahPPldbqRk8",
|
||||
"1XOVgQI19Vam",
|
||||
"miYOZFsnXpM+",
|
||||
"ifN7ACCjGzjW",
|
||||
"iRJKqJejwGH+",
|
||||
"dCUYAVy5JJKf",
|
||||
"syOlpOJTlib2",
|
||||
"uweQVZIpLrK+",
|
||||
"rR20XegMEh2w",
|
||||
"lSXVAeNeBiq9",
|
||||
"eEwKPTvwZNf6",
|
||||
"0BdTkJWu4WT+",
|
||||
"HKA0ECJTbWln",
|
||||
"liyGJbj+ITtf",
|
||||
"+eP25hETqRrl",
|
||||
"WtA5SIepkbCO",
|
||||
"icfFukEtsWD8",
|
||||
"HcI6RJanuvOR",
|
||||
"b1y5L8mYAVsf",
|
||||
"tz4biM6Qrhe9",
|
||||
"4fg+oqIC4HIb",
|
||||
"nckMGQuqFmy6",
|
||||
"dIsiQQAPZGU3",
|
||||
"dNy8AdudJukV",
|
||||
"LYnXVcneueg7",
|
||||
"mtV8FCVEDhgw",
|
||||
"n13jYX70X6cP",
|
||||
"xCr0CQfuTMsO",
|
||||
"nudiMMUTLgV7",
|
||||
"WrRamXQ8UudS",
|
||||
"PMo4xkYuGyQK",
|
||||
"CYxHOhUqcnJ3",
|
||||
"oCmy07pF0+z5",
|
||||
"nPOTiwYfhxq8",
|
||||
"0VlM0kCqobH6",
|
||||
"Ddh5malRFZcm",
|
||||
"kRJBRdWxViz0",
|
||||
"Wa2eMx8YuFm6",
|
||||
"zOiuAuh+TefT",
|
||||
"K9P6h3qoLUFS",
|
||||
"MSBvMhPOodu3",
|
||||
"zM1OXPd0MB2u",
|
||||
"gkuyPlX8XXJK",
|
||||
"HdlZhKJ9OpAi",
|
||||
"En8xcW8EIfg7",
|
||||
"eZdPe0Sqo5P+",
|
||||
"pA+Ihqz5wo6v",
|
||||
"nvlmrNF3sgMT",
|
||||
"ZsemPae0eMgW",
|
||||
"wVgVJa7mRh71",
|
||||
"GQYaLJG1dDyZ",
|
||||
"C9lWfSX6J5Sk",
|
||||
"2lZ40pwtmCJJ",
|
||||
"KPBXBco4flJf",
|
||||
"yQF3pzfUftGl",
|
||||
"8bg+9NfvnsfW",
|
||||
"+WA8qISy5AuK",
|
||||
"rjERNfwmSSU5",
|
||||
"RaQ0otAuRJwO",
|
||||
"zE49Ln2AYtar",
|
||||
"CSj5J5ynf9tQ",
|
||||
"ITzYuBxgSIe4",
|
||||
"oneuxTg+xeeT",
|
||||
"CLfsAQ2RmB3+",
|
||||
"yTq9WfnRAmxa",
|
||||
"Mqd2iTnAKzmy",
|
||||
"HmG3eXvTBjVm",
|
||||
"YIoYAOIxwYA+",
|
||||
"0Kvr1Yt1nMeI",
|
||||
};
|
||||
|
||||
bool hash(char* str){
|
||||
char* str1 = str;
|
||||
char* str2 = str;
|
||||
uint32_t foo = 0x56253667;
|
||||
|
||||
do {
|
||||
str2 = str1 + 4;
|
||||
foo = foo ^ ((uint8_t)*str1 << 24 | (uint8_t)str1[1] << 16 | (uint8_t)str1[2] << 8 | (uint8_t)str1[3]);
|
||||
str1 = str2;
|
||||
} while (str + 12 != str2);
|
||||
return foo == 0x397a516d ? true : false;
|
||||
}
|
||||
|
||||
const char list[] = {
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
|
||||
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
'/', '+'
|
||||
};
|
||||
char give_char(uint8_t index){
|
||||
if (index >= sizeof(list)) {
|
||||
printf("Error: Index out of bounds, max %zu\n", sizeof(list));
|
||||
exit(1);
|
||||
}
|
||||
return list[index];
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
srand(time(NULL));
|
||||
|
||||
// seed = 0x56253667;
|
||||
// answer = 0x3c3e386b;
|
||||
uint8_t mdw[4] = {0x6F, 0x5F, 0x67, 0x0a};
|
||||
// #define SOURCE_HASH 0x56 25 36 67
|
||||
// #define DESTINATION_HASH 0x39 7a 51 6d
|
||||
|
||||
char password[13];
|
||||
const uint8_t max_char = sizeof(list);
|
||||
|
||||
|
||||
for(uint16_t n = 0; n < 100; n++) {
|
||||
for(uint8_t c = 0; c < 12; c++) {
|
||||
password[c] = psw[n][c];
|
||||
}
|
||||
password[12] = '\0';
|
||||
if (hash(password)) {
|
||||
printf("%s\n", password);
|
||||
} else {
|
||||
printf("Fuck: %s\n", password);
|
||||
}
|
||||
}
|
||||
}
|
0
02-Easy3/E3.gpr
Normal file
0
02-Easy3/E3.gpr
Normal file
11
02-Easy3/E3.rep/idata/00/00000000.prp
Normal file
11
02-Easy3/E3.rep/idata/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="Program" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="a2e40c5a09540945517759134" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="E3" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
02-Easy3/E3.rep/idata/00/~00000000.db/db.2.gbf
Normal file
BIN
02-Easy3/E3.rep/idata/00/~00000000.db/db.2.gbf
Normal file
Binary file not shown.
5
02-Easy3/E3.rep/idata/~index.bak
Normal file
5
02-Easy3/E3.rep/idata/~index.bak
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:E3:a2e40c5a09540945517759134
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
02-Easy3/E3.rep/idata/~index.dat
Normal file
5
02-Easy3/E3.rep/idata/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:E3:a2e40c5a09540945517759134
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
6
02-Easy3/E3.rep/project.prp
Normal file
6
02-Easy3/E3.rep/project.prp
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="OWNER" TYPE="string" VALUE="remi" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
15
02-Easy3/E3.rep/projectState
Normal file
15
02-Easy3/E3.rep/projectState
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PROJECT>
|
||||
<PROJECT_DATA_XML_NAME NAME="DISPLAY_DATA">
|
||||
<SAVE_STATE>
|
||||
<ARRAY NAME="EXPANDED_PATHS" TYPE="string">
|
||||
<A VALUE="E3:" />
|
||||
</ARRAY>
|
||||
<STATE NAME="SHOW_TABLE" TYPE="boolean" VALUE="false" />
|
||||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
11
02-Easy3/E3.rep/user/00/00000000.prp
Normal file
11
02-Easy3/E3.rep/user/00/00000000.prp
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FILE_INFO>
|
||||
<BASIC_INFO>
|
||||
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="ProgramUserData" />
|
||||
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
|
||||
<STATE NAME="FILE_ID" TYPE="string" VALUE="c0a82ee89d758705805429400" />
|
||||
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
|
||||
<STATE NAME="NAME" TYPE="string" VALUE="udf_a2e40c5a09540945517759134" />
|
||||
</BASIC_INFO>
|
||||
</FILE_INFO>
|
BIN
02-Easy3/E3.rep/user/00/~00000000.db/db.1.gbf
Normal file
BIN
02-Easy3/E3.rep/user/00/~00000000.db/db.1.gbf
Normal file
Binary file not shown.
4
02-Easy3/E3.rep/user/~index.bak
Normal file
4
02-Easy3/E3.rep/user/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
5
02-Easy3/E3.rep/user/~index.dat
Normal file
5
02-Easy3/E3.rep/user/~index.dat
Normal file
@ -0,0 +1,5 @@
|
||||
VERSION=1
|
||||
/
|
||||
00000000:udf_a2e40c5a09540945517759134:c0a82ee89d758705805429400
|
||||
NEXT-ID:1
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
2
02-Easy3/E3.rep/user/~journal.bak
Normal file
2
02-Easy3/E3.rep/user/~journal.bak
Normal file
@ -0,0 +1,2 @@
|
||||
IADD:00000000:/udf_a2e40c5a09540945517759134
|
||||
IDSET:/udf_a2e40c5a09540945517759134:c0a82ee89d758705805429400
|
4
02-Easy3/E3.rep/versioned/~index.bak
Normal file
4
02-Easy3/E3.rep/versioned/~index.bak
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
4
02-Easy3/E3.rep/versioned/~index.dat
Normal file
4
02-Easy3/E3.rep/versioned/~index.dat
Normal file
@ -0,0 +1,4 @@
|
||||
VERSION=1
|
||||
/
|
||||
NEXT-ID:0
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
110
02-Easy3/E3.txt
Normal file
110
02-Easy3/E3.txt
Normal file
@ -0,0 +1,110 @@
|
||||
1. What is the target platform of this executable?
|
||||
ARM64
|
||||
|
||||
2. Was this executable stripped?
|
||||
yes
|
||||
|
||||
3. What is the algorithm used to check the validity of a password?
|
||||
A sum
|
||||
|
||||
4. Can you break this password checker, i.e., implementing a generator of valid passwords? You must send 16 different valid passwords by email to pascal+sre25@mod-p.ch before Mar. 10th, 2025, 12h00 CET to validate this lab and get 5 points.
|
||||
remiPGRz2oEt
|
||||
remikljzAME/
|
||||
remiYOxms6U2
|
||||
remi0eFRgAsu
|
||||
remimvApt0L9
|
||||
remisnB2BbvN
|
||||
remi2KTkcZvN
|
||||
remi+SUFTsrk
|
||||
remiRfREU/pz
|
||||
remilVPBPu5o
|
||||
remiHRP0Bsww
|
||||
remi8MhIHsak
|
||||
remiH9zy7NxL
|
||||
remigMB24ytt
|
||||
remiY+9atQeu
|
||||
remiEtFt+lIj
|
||||
remi+R2Lniry
|
||||
remiwUUJOgd8
|
||||
remiac+ZdwDU
|
||||
remiSXlJGapD
|
||||
remiIl7m2xBx
|
||||
remiEU+jWtUn
|
||||
remiaxC+vdk1
|
||||
remiHiSw7Bbg
|
||||
remilkOGhVOC
|
||||
remi0gaHUWzW
|
||||
remi8TwmiD4l
|
||||
remiNaewP4u9
|
||||
remiym1yGVJF
|
||||
remiOgHlqnB2
|
||||
remitImS5o8d
|
||||
remi8LoMz9df
|
||||
remiNOHgblLW
|
||||
remiAfqSJzFH
|
||||
remidpDk9COo
|
||||
remihkNOV8pO
|
||||
remiAu84iiah
|
||||
remi5VGexqVG
|
||||
remiTkZCq9uB
|
||||
remiuLCxf7KY
|
||||
remikfKzVV+P
|
||||
remiXWLR1Xox
|
||||
remiyZEGxL9a
|
||||
remiYIylFB5y
|
||||
remijGqFed9S
|
||||
remidQBkrcV0
|
||||
remiuwrG5GIS
|
||||
remic/C0wrVy
|
||||
remi2yPCGpag
|
||||
remiYjgOhdG1
|
||||
remi/Hi2gVtz
|
||||
remiX8Ebrrl6
|
||||
remi/kzJPaAm
|
||||
remiT1OShoKt
|
||||
remiiqIX2RtJ
|
||||
remisDGFQyAn
|
||||
remiZhbYBFUc
|
||||
remirboCaPO7
|
||||
remiXxhCuLR/
|
||||
remiwZ93maz8
|
||||
remiQg2N5gxq
|
||||
remiZ1bg5dwY
|
||||
remiJrg9kFy7
|
||||
remiFsWCSSMw
|
||||
remi5U1vzkBe
|
||||
remid2eZweX4
|
||||
remiVLx+JsdW
|
||||
remi9hEyHu6k
|
||||
remiByJ9AkzY
|
||||
remiB27epxnW
|
||||
remi6VpV8puN
|
||||
remiPACuhfCc
|
||||
remicv9OPBXr
|
||||
remie10Odvlb
|
||||
remi1x0UemzC
|
||||
remigEZl+ksB
|
||||
remiuLbX0bBn
|
||||
remiPPu2GJmx
|
||||
remiz5DCyd7s
|
||||
remi0otpk2NO
|
||||
remiXA5ZhMms
|
||||
remix+/QkrUh
|
||||
remigZaFyW+Z
|
||||
remiaq+xXLcA
|
||||
remilSn6AUVn
|
||||
remigz8tO4Kb
|
||||
remiblkTOX0Y
|
||||
remiEeXzs2i3
|
||||
remiVtkmnA75
|
||||
remiMN0XipuL
|
||||
remiiMJE7lfo
|
||||
remiFQ4cpzq4
|
||||
remiZJG+Ykzi
|
||||
remiQTSe6qRg
|
||||
remi/WcGuyJU
|
||||
remi77NvCekx
|
||||
remiHZV2szXN
|
||||
remiLCRr7tTk
|
||||
remitgnFQNLC
|
||||
remiZYpUKKgH
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user