
A quick experiment or two with the real Windows version suggests that the hash function in question is just MD5, repackaged as an array of four little-endian 32-bit words instead of 16 bytes.
14 lines
647 B
C
14 lines
647 B
C
char *ascii(const char16_t *wstr, bool translate_slashes);
|
|
void system_argv(const char *cmd, ...);
|
|
void system_argv_array(char **args);
|
|
void c16cpy(char16_t *out, uint32_t *outsize, char *s);
|
|
void *smalloc(size_t size);
|
|
void *srealloc(void *ptr, size_t size);
|
|
char *dupcat(const char *str, ...);
|
|
unsigned le(const unsigned char *buf, size_t len, size_t off, size_t nbytes);
|
|
void MD5Simple(void const *p, unsigned len, uint32_t output[4]);
|
|
|
|
#define snew(type) ((type *)smalloc(sizeof(type)))
|
|
#define snewn(n,type) ((type *)smalloc((n)*sizeof(type)))
|
|
#define sresize(ptr,n,type) ((type *)srealloc(ptr,(n)*sizeof(type)))
|
|
#define sfree(ptr) free(ptr)
|