С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Алгоритм дешифрования. Всё горит, помогите лузеру - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Загрузка переменной из DLL (GetProcAddress не берет значение переменной из *.dll) http://www.cyberforum.ru/cpp-beginners/thread498674.html
GetProcAddress не берет значение переменной из *.dll Не могу понять почему. Помогите. ------------------------- *********** DLL.h *********** #define DLL __declspec(dllexport) extern...
C++ Преобразование типов (long -> массив char) Здравствуйте! имеется функция void sendchar(unsigned char data);не могу ее использовать т.к. не знаю как преобразовать long в unsigned char.. понимаю, что с помощью указателей, но что-то ничего... http://www.cyberforum.ru/cpp-beginners/thread498535.html
Где можно взять Страуструпа в электронном варианте? C++
Подскажите, где можна взять Страуструпа С++, в електронном варианте Ещё хотелось бы что-нибуть хорошее по С
C++ Как получить указатель на объект класса CDocument
Как получить указатель на объект класса CDocument в любом месте программы? Например, функция ::AfxGetMainWnd()->GetMenu(); возвращает указатель на объект класса CMenu. А как для CDocument? Создать...
C++ Помощь с установкой С++ http://www.cyberforum.ru/cpp-beginners/thread498437.html
Я скачал C++ по интернету и немогу установить, подскажите?
C++ Начальное программирование на С Имеется локальная банерка, данные храняться в Mysql, выбор банера по параметрам производится на сервере php скриптом. Слышал что если переписать скрипт на С, то будет работать явно быстрее... Но так... подробнее

Показать сообщение отдельно
Женёк

Алгоритм дешифрования. Всё горит, помогите лузеру - C++

15.09.2011, 22:55. Просмотров 908. Ответов 1
Метки (Все метки)

Помогите разобраться с кодом программы для работы с файлами СУБД Cronos, особенно с процедурой encode (что есть offset, buf, kod..). Как эта процедура будет реализована в VB? Буду очень благодарен за комментарии. Ну в крайнем случае можете послать меня на ... другой форум.

#include <stdio.h>
#include <alloc.h>
#include <share.h>
#include <fcntl.h>
#include <stat.h>

int nbases;
unsigned char n_bank[30];
unsigned char adr_bank[60];
unsigned char adr_sl[60];

struct POLE {
unsigned int p_number;
unsigned char number[4];
unsigned char name[36];
unsigned char type[3];
unsigned int len;
unsigned int mn;
unsigned int slovar;
};

struct BANK {
unsigned int b_number;
unsigned char name[36];
unsigned char mnk[3];
unsigned int n;
struct POLE * p_pole;
int fd;
int fi;
} * bank_stru=NULL;

int get_stru()
{
int i,j,l;
FILE *fin;
fin=fopen('c:\cronet\stru.','rb');
if (fin==NULL) return(-1);
fread(&l,2,1,fin); fread(n_bank,l,1,fin);
fread(&l,2,1,fin); fread(adr_bank,l,1,fin);
fread(&l,2,1,fin); fread(adr_sl,l,1,fin);
fread(&nbases,2,1,fin);
bank_stru=(struct BANK *) calloc(nbases,sizeof(struct BANK));
if (bank_stru==NULL) return(-2);
for (i=0; i<nbases; i++) {
bank_stru[i].fd=-1; bank_stru[i].fi=-1;
fread(&bank_stru[i].b_number,2,1,fin);
fread(bank_stru[i].name,36,1,fin);
fread(bank_stru[i].mnk, 3,1,fin);
fread(&bank_stru[i].n, 2,1,fin);
bank_stru[i].p_pole=(struct POLE*)calloc(bank_stru[i].n,sizeof(struct POLE));
if (bank_stru[i].p_pole==NULL) return(-3);
for (l=0;l<bank_stru[i].n;l++) {
fread(&bank_stru[i].p_pole[l].p_number,2,1,fin);
fread(bank_stru[i].p_pole[l].number,4,1,fin);
fread(bank_stru[i].p_pole[l].name,36,1,fin);
fread(bank_stru[i].p_pole[l].type,3,1,fin);
fread(&bank_stru[i].p_pole[l].len,2,1,fin);
fread(&bank_stru[i].p_pole[l].mn,2,1,fin);
fread(&bank_stru[i].p_pole[l].slovar,2,1,fin);
}
}
return(0);
}

int datopen(i) /* Ќг¬Ґа жЁп б 1 */
int i;
{ unsigned char buf[100];
if (bank_stru==NULL) if (get_stru()<0) return(-2);
i--;
if (bank_stru[i].fd==-1) {
sprintf(buf,'%sb%02d.dat',adr_bank,i+1);
bank_stru[i].fd=open(buf,O_BINARY|O_DENYNONE,S_IFREG);
if (bank_stru[i].fd==-1) return(-1);
}
if (bank_stru[i].fi==-1) {
sprintf(buf,'%sb%02d.tad',adr_bank,i+1);
bank_stru[i].fi=open(buf,O_BINARY|O_DENYNONE,S_IFREG);
if (bank_stru[i].fi==-1) return(-1);
}
return(0);
}

datclose(i) /* Ќг¬Ґа жЁп б 1 */
int i;
{ i--; close(bank_stru[i].fd); close(bank_stru[i].fi);
bank_stru[i].fd=-1; bank_stru[i].fi=-1;
}

unsigned char kod[256] = {
0x08, 0x63, 0x81, 0x38, 0xa3, 0x6b, 0x82, 0xa6, 0x18, 0x0d, 0xac, 0xd5, 0xfe, 0xbe, 0x15,

0xf6,
0xa5, 0x36, 0x76, 0xe2, 0x2d, 0x41, 0xb5, 0x12, 0x4b, 0xd8, 0x3c, 0x56, 0x34, 0x46, 0x4f,

0xa4,
0xd0, 0x01, 0x8b, 0x60, 0x0f, 0x70, 0x57, 0x3e, 0x06, 0x67, 0x02, 0x7a, 0xf8, 0x8c, 0x80,

0xe8,
0xc3, 0xfd, 0x0a, 0x3a, 0xa7, 0x73, 0xb0, 0x4d, 0x99, 0xa2, 0xf1, 0xfb, 0x5a, 0xc7, 0xc2,

0x17,
0x96, 0x71, 0xba, 0x2a, 0xa9, 0x9a, 0xf3, 0x87, 0xea, 0x8e, 0x09, 0x9e, 0xb9, 0x47, 0xd4,

0x97,
0xe4, 0xb3, 0xbc, 0x58, 0x53, 0x5f, 0x2e, 0x21, 0xd1, 0x1a, 0xee, 0x2c, 0x64, 0x95, 0xf2,

0xb8,
0xc6, 0x33, 0x8d, 0x2b, 0x1f, 0xf7, 0x25, 0xad, 0xff, 0x7f, 0x39, 0xa8, 0xbf, 0x6a, 0x91,

0x79,
0xed, 0x20, 0x7b, 0xa1, 0xbb, 0x45, 0x69, 0xcd, 0xdc, 0xe7, 0x31, 0xaa, 0xf0, 0x65, 0xd7,

0xa0,
0x32, 0x93, 0xb1, 0x24, 0xd6, 0x5b, 0x9f, 0x27, 0x42, 0x85, 0x07, 0x44, 0x3f, 0xb4, 0x11,

0x68,
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.