Cryptography

Challenge
Link

Notes Manager (113 pts)

Notes Manager (113 pts)

Description

-

Solution

Diberkan file .class, decompile dengan luyten.

import java.util.Arrays;

class Coba
{
    public static int[][] multiply(final int[][] array, final int[][] array2) {
        final int length = array.length;
        final int length2;
        final int n = length2 = array2[0].length;
        final int[][] array3 = new int[length][length2];
        for (int i = 0; i < length; ++i) {
            for (int j = 0; j < length2; ++j) {
                for (int k = 0; k < n; ++k) {
                    final int[] array4 = array3[i];
                    final int n2 = j;
                    final int[] array5 = array4;
                    final int n3 = n2;
                    array5[n3] += array[i][k] * array2[k][j];
                }
            }
        }
        return array3;
    }
    
    public static int[][][] string_to_matrix(final String s) {
        final int[][][] array = new int[s.length() / 9][3][3];
        for (int i = 0; i < s.length(); i += 9) {
            final int[][] array2 = new int[3][3];
            for (int j = 0; j < 9; ++j) {
                array2[j / 3][j % 3] = s.charAt(i + j);
            }
            array[i / 9] = array2;
        }
        return array;
    }
    
    public static void main(final String[] array) {
        final int[][][] string_to_matrix = string_to_matrix("123456789");
        final int[][] multiply = multiply(string_to_matrix[0], string_to_matrix[0]);
        for (int i = 0; i < multiply.length; ++i) {
            System.out.println(Arrays.toString(multiply[i]));
        }
    }
}

Dapat dilihat bahwa program menerima input kita lalu mengubahnya ke bentuk matrix 3x3 dan melakukan matrix multiplication. Matrix multiplication yang dilakukan adalah matrix-i dikali matrix-0. Karena kita tahu 9 bytes pertama dari flag yaitu INTECHFES jadi lakukan matrix multiplication inverse terhadap keseluruhan nilai CT untuk mendapatkan flag. Berikut solver yang kami gunakan.

Flag: INTECHFEST{y3t_4n0th3r_m4tr1x_ch4ll_bu7_wr1tt3n_1n_j4v4}

Last updated