• XSS.stack #1 – первый литературный журнал от юзеров форума

[ПОМОЩЬ] - Реверс кода на WebAssembly

Kendric_s

HDD-drive
Пользователь
Регистрация
16.03.2019
Сообщения
30
Реакции
7
Есть модуль одного сайта написанный на WebAssembly отвечающий за генерацию сигнатуры, которая уходит вместе с запросом в хидерах, не могу разобраться что конкретно делает код, чтобы повторить
https://send.exploit.in/download/efc8c1f594d54f6c/#jLf-66jfmDh48JdeMo5TZw

Точкой входа является функция c_s_f на 468 строке вот её прототип (func $c_s_f (;11;) (export "c_s_f") (param $var0 i32) (param $var1 i32) (param $var2 i32) (param $var3 i32) (param $var4 i32) (param $var5 i32) (result i32)

В Js скрипте функция вызывается вот так t.c_s_f(b[0].byteOffset, b[1].byteOffset, b[2].byteOffset, b[3].byteOffset, b[4].byteOffset, a.byteOffset)
Передается всего 6 аргументов, первые 5 - ссылки на кусок памяти как например в C, но только на манере Js, но это неважно, первые 5 аргументов это массивы байтов(uint8) содержащих в себе параметры запроса переведенные в ASCII коды символов, последним параметром выступает ссылка на буфер длинной 64 куда будет записан результат, который и является искомой сигнатурой

Прошу помочь понять, что творится под капотом в этом коде

Пример упорядоченных исходных данных по порядку как оригинальный скрипт передает их в функцию c_s_f по 1 на строку на конце нуль-терминатор
71 69 84 0
47 116 111 107 101 110 47 98 97 108 97 110 99 101 95 108 105 115 116 0
99 104 97 105 110 61 104 109 121 38 105 115 95 97 108 108 61 102 97 108 115 101 38 117 115 101 114 95 97 100 100 114 61 48 120 97 98 53 56 48 49 97 55 100 51 57 56 51 53 49 98 56 98 101 49 49 99 52 51 57 101 48 53 99 53 98 51 50 53 57 97 101 99 57 98 0
110 95 73 50 110 54 84 79 79 121 74 77 112 99 114 75 50 68 53 81 119 115 105 66 122 84 74 77 75 84 48 104 107 119 85 54 87 78 101 55 83 83 0
49 54 55 49 49 51 49 48 51 53 0

Должно вернуть сигнатуру(HEX): 746fb3b21508276bfc4cfedd0f4ff84f655b348562c8a62ec865172981af2fcf
Должно вернуть сигнатуру(ASCII): 55 52 54 102 98 51 98 50 49 53 48 56 50 55 54 98 102 99 52 99 102 101 100 100 48 102 52 102 102 56 52 102 54 53 53 98 51 52 56 53 54 50 99 56 97 54 50 101 99 56 54 53 49 55 50 57 56 49 97 102 50 102 99 102
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх