Я решил попробовать для общего развития, закейгенить эту штуку. Но скила моего тут мало, поэтому было бы здорово если будешь наталкивать на правильные мысли, статьи, ссылки и т.д.
Ну начал изучение с иды и с соответствующей ветки на краклабе.
Для начало бы хотел узнать как определить это просто функция или какая-то реализация хеша md4/md5/rsa etc.. ?? Парень создавший ветку выложил на pastebin его видение алгоритма http://pastebin.com/6Lt7EBZQ. И там есть например такой момент.
Code:
ctxmd4.state[1] = 0xEFCDAB89u;
ctxmd4.state[2] = 0x98BADCFEu;
ctxmd4.state[3] = 0x10325476u;
ctxmd4.total[0] = 0;
ctxmd4.total[1] = 0;
md4_update(&ctxmd4, (int)tmp0, strlen((const char *)tmp0));
md4_result((int)&hash2, (int)&ctxmd4);
aes_128_set_key((int)&hash2, &ctxaes128);
aes_ecb_decrypt((int)k, (int)k, &ctxaes128);
так вот как он определил что это именно md4_update ? или там md4_result?
Предполагаю что тут просто нужно было до этого знать алгоритм данного хеша, и просто узнать его очертания в хекс - рейсе, или я ошибаюсь и есть какие то маркеры функций хеширования?
Второй момент, где можно толково ознакомиться с данными алгоритмами. Мне подсказали, что нужно OpenSSL скачать и там копаться, но я насколько понял нашел лишь какие-то тесты и хедеры (*\Desktop\openssl-1.0.1h\openssl-1.0.1h\crypto\md4) а сам код? (например MD4_Update).