mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-04-06 01:16:37 +02:00

This commit includes a bunch of changes that are working towards being able to build the Meterpreter source from CMake. Changes include: * Updated `make.bat` which does the stuff that we need. * Removed a bunch of stuff from the python extension source tree so that CMake generator would not include them. * Moved a few things around in the priv extension. * Created `CMakeFileLists.txt` for all the projects. There are a few hacks required in things like stdapi and kiwi to ignore files that are on disk but shouldn't be included in the build. Initial testing indicates that sessions run, extensions load, but some things don't work as intended. It's a start! Still much to do.
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/* cryptmodule.c - by Steve Majewski
|
|
*/
|
|
|
|
#include "Python.h"
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <openssl/des.h>
|
|
|
|
/* Module crypt */
|
|
|
|
|
|
static PyObject *crypt_crypt(PyObject *self, PyObject *args)
|
|
{
|
|
char *word, *salt;
|
|
|
|
if (!PyArg_ParseTuple(args, "ss:crypt", &word, &salt)) {
|
|
return NULL;
|
|
}
|
|
/* On some platforms (AtheOS) crypt returns NULL for an invalid
|
|
salt. Return None in that case. XXX Maybe raise an exception? */
|
|
return Py_BuildValue("s", DES_crypt(word, salt));
|
|
|
|
}
|
|
|
|
PyDoc_STRVAR(crypt_crypt__doc__,
|
|
"crypt(word, salt) -> string\n\
|
|
word will usually be a user's password. salt is a 2-character string\n\
|
|
which will be used to select one of 4096 variations of DES. The characters\n\
|
|
in salt must be either \".\", \"/\", or an alphanumeric character. Returns\n\
|
|
the hashed password as a string, which will be composed of characters from\n\
|
|
the same alphabet as the salt.");
|
|
|
|
|
|
static PyMethodDef crypt_methods[] = {
|
|
{"crypt", crypt_crypt, METH_VARARGS, crypt_crypt__doc__},
|
|
{NULL, NULL} /* sentinel */
|
|
};
|
|
|
|
PyMODINIT_FUNC
|
|
initcrypt(void)
|
|
{
|
|
Py_InitModule("crypt", crypt_methods);
|
|
}
|