From b7e74ae38bfac9d632a256c29a072037e5b4884f Mon Sep 17 00:00:00 2001 From: horville Date: Thu, 16 Mar 2023 13:55:12 +0100 Subject: [PATCH] Android ++ --- DEV 4.4/TP01/ex1.c | 11 +- DEV 4.4/TP01/test | Bin 0 -> 38616 bytes DEV 4.4/TP01/test.crypt | 2 + DEV 4.4/TP01/test.txt | 2 +- DEV-4.5/TP04/grille/.idea/gradle.xml | 1 + DEV-4.5/TP05/Reticule/.idea/.gitignore | 3 - DEV-4.5/TP05/Reticule/.idea/gradle.xml | 1 + DEV-4.5/TP05/Reticule/.idea/misc.xml | 8 + DEV-4.5/TP05/Reticule/app/build.gradle | 4 +- .../com/example/reticule/MainActivity.java | 7 + .../reticule/ReticuleMovementListener.java | 37 +++- .../com/example/reticule/ReticuleView.java | 62 +++++- .../app/src/main/res/layout/activity_main.xml | 12 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- DEV-4.5/TP06/Desoxyribonucleique/.gitignore | 15 ++ .../TP06/Desoxyribonucleique/.idea/gradle.xml | 6 + .../TP06/Desoxyribonucleique/.idea/misc.xml | 11 +- .../TP06/Desoxyribonucleique/app/.gitignore | 1 + .../TP06/Desoxyribonucleique/app/build.gradle | 39 ++++ .../app/proguard-rules.pro | 21 ++ .../ExampleInstrumentedTest.java | 26 +++ .../app/src/main/AndroidManifest.xml | 27 +++ .../desoxyribonucleique/ButtonListener.java | 22 ++- .../desoxyribonucleique/MainActivity.java | 31 +++ .../desoxyribonucleique/SettingsActivity.java | 16 +- .../drawable-v24/ic_launcher_foreground.xml | 30 +++ .../res/drawable/ic_launcher_background.xml | 170 ++++++++++++++++ .../app/src/main/res/layout/activity_main.xml | 64 ++++++ .../app/src/main/res/menu/menu_liste.xml | 11 +- .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../app/src/main/res/values-night/themes.xml | 16 ++ .../app/src/main/res/values/colorChoices.xml | 11 ++ .../app/src/main/res/values/colors.xml | 10 + .../app/src/main/res/values/strings.xml | 11 ++ .../app/src/main/res/values/themes.xml | 16 ++ .../app/src/main/res/xml/backup_rules.xml | 13 ++ .../main/res/xml/data_extraction_rules.xml | 19 ++ .../app/src/main/res/xml/preferences.xml | 30 ++- .../desoxyribonucleique/ExampleUnitTest.java | 17 ++ DEV-4.5/TP06/Desoxyribonucleique/build.gradle | 9 + .../Desoxyribonucleique/gradle.properties | 21 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + DEV-4.5/TP06/Desoxyribonucleique/gradlew | 185 ++++++++++++++++++ DEV-4.5/TP06/Desoxyribonucleique/gradlew.bat | 89 +++++++++ .../TP06/Desoxyribonucleique/settings.gradle | 16 ++ 57 files changed, 1096 insertions(+), 25 deletions(-) create mode 100644 DEV 4.4/TP01/test create mode 100644 DEV 4.4/TP01/test.crypt delete mode 100644 DEV-4.5/TP05/Reticule/.idea/.gitignore create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/.gitignore create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/.gitignore create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/build.gradle create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/proguard-rules.pro create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/androidTest/java/com/example/desoxyribonucleique/ExampleInstrumentedTest.java create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/AndroidManifest.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/java/com/example/desoxyribonucleique/MainActivity.java create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/layout/activity_main.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/values-night/themes.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/values/colors.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/values/strings.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/values/themes.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/xml/backup_rules.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/app/src/test/java/com/example/desoxyribonucleique/ExampleUnitTest.java create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/build.gradle create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/gradle.properties create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/gradle/wrapper/gradle-wrapper.jar create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/gradle/wrapper/gradle-wrapper.properties create mode 100755 DEV-4.5/TP06/Desoxyribonucleique/gradlew create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/gradlew.bat create mode 100644 DEV-4.5/TP06/Desoxyribonucleique/settings.gradle diff --git a/DEV 4.4/TP01/ex1.c b/DEV 4.4/TP01/ex1.c index 17733d9..e4ca9d7 100644 --- a/DEV 4.4/TP01/ex1.c +++ b/DEV 4.4/TP01/ex1.c @@ -35,6 +35,7 @@ int treatFile(FILE* input, FILE* output, uint32_t key[4], char method) { int n; uint32_t buffer[2]; + char eofbuffer; int m; //TODO: Padding management @@ -42,8 +43,16 @@ int treatFile(FILE* input, FILE* output, uint32_t key[4], char method) { switch (method) { case 'd': - while ((n = fread(buffer, 4, 2, input)) > 0) { + while (fread(buffer, 4, 2, input)) { decrypt(buffer, key); + + if (fread(&eofbuffer, 1, 1, input) == 0) { + char padding = (buffer[1] & 0xFF000000) >> 24; + + printf("%d\n", padding); + } else { + fseek(input, -1, SEEK_CUR); + } if (( m = fwrite(buffer, 4, 2, output)) != 2) { return 1; diff --git a/DEV 4.4/TP01/test b/DEV 4.4/TP01/test new file mode 100644 index 0000000000000000000000000000000000000000..dd22fed33b7bc113683a427347d64c9a74de65c1 GIT binary patch literal 38616 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

4?U(bWPJ$E&Kju#y!7rOdA0 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

Cyf9|5VTkn&SPbT4`6ve@l1S}BK{ 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 literal 0 HcmV?d00001 diff --git a/DEV 4.4/TP01/test.crypt b/DEV 4.4/TP01/test.crypt new file mode 100644 index 0000000..a9b0549 --- /dev/null +++ b/DEV 4.4/TP01/test.crypt @@ -0,0 +1,2 @@ +bmgÚá + „€.PÆV€Ç N \ No newline at end of file diff --git a/DEV 4.4/TP01/test.txt b/DEV 4.4/TP01/test.txt index 1656f92..c285f58 100644 --- a/DEV 4.4/TP01/test.txt +++ b/DEV 4.4/TP01/test.txt @@ -1 +1 @@ -abcdefgh \ No newline at end of file +The missile knows where it is at all times. \ No newline at end of file diff --git a/DEV-4.5/TP04/grille/.idea/gradle.xml b/DEV-4.5/TP04/grille/.idea/gradle.xml index 7394c74..ad32906 100644 --- a/DEV-4.5/TP04/grille/.idea/gradle.xml +++ b/DEV-4.5/TP04/grille/.idea/gradle.xml @@ -1,5 +1,6 @@ +