It compiles no encript

This commit is contained in:
Nikola Petrov
2024-01-14 21:43:49 +01:00
parent 3935c3f34e
commit 36de6ec412
19 changed files with 500 additions and 406 deletions

View File

@@ -1,33 +1,35 @@
#include <ctime>
#include "func.h"
#include "glob.h"
#include "Buffer.h"
#include <cstring>
int find_logininfo_in_buffer(Buffer& buffer, const char* label)
#include "func.hpp"
#include "glob.hpp"
#include "buffer.hpp"
int find_logininfo_in_buffer(Buffer &buffer, const char *label)
{
Index* index = (Index*)buffer.buffer;
LoginInfo* pass = (LoginInfo*)(buffer.buffer + sizeof(Index));
Index *index = (Index *)buffer.buffer;
LoginInfo *pass = (LoginInfo *)(buffer.buffer + sizeof(Index));
for (size_t i = 0; i < index->count; i++)
{
if (glob(label, (const char*)buffer.buffer + pass[i].label + index->offset) == Glob_Result::MATCHED)
if (glob(label, (const char *)buffer.buffer + pass[i].label + index->offset) == Glob_Result::MATCHED)
return i;
}
return -1;
}
void delete_logininfo_from_buffer(Buffer& buffer, int index_of_pass)
void delete_logininfo_from_buffer(Buffer &buffer, int index_of_pass)
{
Index* in_index = (Index*)buffer.buffer;
LoginInfo* in_pass = (LoginInfo*)(buffer.buffer + sizeof(Index));
Index *in_index = (Index *)buffer.buffer;
LoginInfo *in_pass = (LoginInfo *)(buffer.buffer + sizeof(Index));
int size_of_label = strlen((char*)buffer.buffer + in_pass[index_of_pass].label + in_index->offset) + 1;
int size_of_username = strlen((char*)buffer.buffer + in_pass[index_of_pass].username + in_index->offset) + 1;
int size_of_password = strlen((char*)buffer.buffer + in_pass[index_of_pass].password + in_index->offset) + 1;
int size_of_label = strlen((char *)buffer.buffer + in_pass[index_of_pass].label + in_index->offset) + 1;
int size_of_username = strlen((char *)buffer.buffer + in_pass[index_of_pass].username + in_index->offset) + 1;
int size_of_password = strlen((char *)buffer.buffer + in_pass[index_of_pass].password + in_index->offset) + 1;
int size_pass = size_of_label + size_of_username + size_of_password;
uint8_t* start_of_pass = buffer.buffer + in_pass[index_of_pass].label + in_index->offset;
uint8_t *start_of_pass = buffer.buffer + in_pass[index_of_pass].label + in_index->offset;
buffer.remove_fast(start_of_pass, size_pass);
for (size_t i = index_of_pass; i < in_index->count; i++)
@@ -36,42 +38,41 @@ void delete_logininfo_from_buffer(Buffer& buffer, int index_of_pass)
in_pass[i].password -= size_pass;
}
buffer.remove_fast((uint8_t*)&in_pass[index_of_pass], sizeof(LoginInfo));
buffer.remove_fast((uint8_t *)&in_pass[index_of_pass], sizeof(LoginInfo));
in_index->count -= 1;
in_index->offset -= sizeof(LoginInfo);
}
void add_logininfo_to_buffer(Buffer& buffer, const char* label, const char* username, const char* password)
void add_logininfo_to_buffer(Buffer &buffer, const char *label, const char *username, const char *password)
{
int label_start = buffer.add_end((uint8_t*)label, strlen(label) + 1);
int username_start = buffer.add_end((uint8_t*)username, strlen(username) + 1);
int password_start = buffer.add_end((uint8_t*)password, strlen(password) + 1);
int label_start = buffer.add_end((uint8_t *)label, strlen(label) + 1);
int username_start = buffer.add_end((uint8_t *)username, strlen(username) + 1);
int password_start = buffer.add_end((uint8_t *)password, strlen(password) + 1);
Index* index = (Index*)buffer.buffer;
Index *index = (Index *)buffer.buffer;
label_start = label_start - index->offset;
username_start = username_start - index->offset;
password_start = password_start - index->offset;
LoginInfo pass = { label_start, username_start, password_start };
LoginInfo pass = {label_start, username_start, password_start};
index->count++;
index->offset += sizeof(LoginInfo);
buffer.add_middle((uint8_t*)&pass, sizeof(LoginInfo), index->offset - sizeof(LoginInfo));
buffer.add_middle((uint8_t *)&pass, sizeof(LoginInfo), index->offset - sizeof(LoginInfo));
}
LoginInfoPointer get_logininfo_pointer_from_buffer(Buffer& buffer, int index_of_pass)
LoginInfoPointer get_logininfo_pointer_from_buffer(Buffer &buffer, int index_of_pass)
{
Index* index = (Index*)buffer.buffer;
LoginInfo* pass = (LoginInfo*)(buffer.buffer + sizeof(Index));
Index *index = (Index *)buffer.buffer;
LoginInfo *pass = (LoginInfo *)(buffer.buffer + sizeof(Index));
LoginInfoPointer ret;
ret.label = (const char*)buffer.buffer + pass[index_of_pass].label + index->offset;
ret.username = (const char*)buffer.buffer + pass[index_of_pass].username + index->offset;
ret.password = (const char*)buffer.buffer + pass[index_of_pass].password + index->offset;
ret.label = (const char *)buffer.buffer + pass[index_of_pass].label + index->offset;
ret.username = (const char *)buffer.buffer + pass[index_of_pass].username + index->offset;
ret.password = (const char *)buffer.buffer + pass[index_of_pass].password + index->offset;
return ret;
}
void generate_password(std::string& password, int len)
void generate_password(std::string &password, int len)
{
srand(time(NULL));
char characters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_-+={[}]|:;<,>.?";