./ MultiCS.r82 / ipenc.c
#include "common.h" #include <stdio.h> #include <string.h> #include <stdarg.h> #include <unistd.h> #include <stdint.h> #ifdef WIN32 #include <windows.h> #include <sys/types.h> #else #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #include <signal.h> #include <errno.h> #include <sys/time.h> #include <time.h> #include <sys/socket.h> #include <netdb.h> #include <netinet/in.h> #include <netinet/ip.h> #include <netinet/tcp.h> #include <errno.h> #endif #include "iplock.c" #define IMAGE_VIRT_OFS 0x00000000004020e0 #define IMAGE_FILE_OFS 0x000020e0 #define DATA_VIRT_OFS 0x452ff0 #define DATA_SIZE 9760 int main() { uint8_t pass[4] = { 1, 2, 3, 4 }; FILE *fhandle; fhandle=fopen("x/multics", "r+"); if (fhandle==0) return 0; uint8_t *buf = malloc(DATA_SIZE); fseek ( fhandle , (DATA_VIRT_OFS-IMAGE_VIRT_OFS) + IMAGE_FILE_OFS , SEEK_SET ); fread ( buf, 1, DATA_SIZE, fhandle ); message_encrypt( buf, DATA_SIZE, pass ); fseek ( fhandle , (DATA_VIRT_OFS-IMAGE_VIRT_OFS) + IMAGE_FILE_OFS , SEEK_SET ); fwrite ( buf, 1, DATA_SIZE, fhandle ); fclose(fhandle); }