Перейти до

Roman Pogosyan

Сitizens
  • Всього повідомлень

    255
  • Приєднався

  • Останній візит

Все, що було написано Roman Pogosyan

  1. я еще не дошел до того чтоб закодировать весь протокол , я только пытаюсь закодировать первые 32 байта
  2. прикол только в том что после отсылки этого пакета старгайзер его как то не понимает
  3. кодирование C# отсюда http://www.schneier.com/code/blowfish.cs только / /ToUInt32 requires the bytes in reverse order закоментировал // Array.Reverse(block1); // Array.Reverse(block2);
  4. test out Encrypted string: e7 b0 9e e4 16 21 62 ca e7 b0 9e e4 16 21 62 ca Decrypted string: '1234567812345678' программа Original string: 1234567812345678 Encrypted E7 B0 9E E4 16 21 62 CA E7 B0 9E E4 16 21 62 CA
  5. cat test.c #include <stdint.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include "stg/blowfish.h" uint32_t n2l(const unsigned char * c) { uint32_t t = *c++ ; t += *c++ << 8; t += *c++ << 16; t += *c<<24; return t; } void l2n(uint32_t t, unsigned char * c) { *c++ = t & 0x000000FF; *c++ = t >> 8 & 0x000000FF; *c++ = t >> 16 & 0x000000FF; *c = t >> 24 & 0x000000FF; } void Encrypt(BLOWFISH_CTX * ctx, const char * src, char * dst, int length) { uint32_t a; uint32_t b;
  6. private void button1_Click(object sender, EventArgs e) { string original = "1234567812345678"; byte[] encrypted; byte[] decrypted; string password = "pr7Hhen"; int length = 16; int i; BlowFish bf = new BlowFish(Encoding.UTF8.GetBytes(password)); richTextBox1.Text += String.Format("Original string: {0}", original); encrypted=bf.Encrypt_ECB(Encoding.UTF8.GetBytes(original)); string encstr=""; for (i = 0; i < 16; ++i) { encstr+=String.Forma
  7. взял blowgish.c старгайзера , закодировал им строку в 16 байт , закодировал своим криптером в 16 байт совпадают тем же кодирую пакет передаю по сети . User '▒▒▒▒▒da▒▒▒▒▒da▒▒▒▒▒da▒▒▒▒▒da' NOT found!
  8. прикол в том что у меня совпало закодированное как раз с обратным порядком как на be платформе
  9. ну тогда я вообще ничерта не пойму , вспомнил про bloc2byte посмотрел в тесте он в обратном порядке , разозлился , заменил у старгайзера порядок (ведь с тесом сошлось кодирование слова) скомпилировал старгайзер заново , сделал make uninstall для пущей точности, создал чистый пакет в 96 байт (чтоб исключить разницу в структурах C и C#) вписываю в первые 6 байтов "00100", 6-7 > 0 и 8 соответсвенно , с 9 байта вписываю логин остальные до оставляю нулевыми , кодирую байты с 8по 40-ой ... и посылаю inetaccess.cpp > 17:06:40 > User '▒}▒▒ǁ▒▒▒ad▒▒▒▒▒ad▒▒▒▒▒ad▒▒' NOT found! реальный "ад ад
  10. наткнулся кажется на то в чем дело ... и так вопрос в тесте original содержит 16 символов, если скормить ему меньше к примеру 8, чем забьются остальные ?
  11. вопрос byte2block там идет выражение *c++ каким элементом он является в const char *c ? нулевым или первым ?
  12. прикол на приколе , в тесте поставил ключ из стг сравнил закодированное , все точно , разозлился собрал свой UDP сервер , взял клиент Inetaccess с сайта , послал с него инфо на подключение ... так же разкодировать не выходит ... попытался поискать в дате полученной от клиента закодированный логин (думал может сдвинут куда то ) ... ни одного совпадения блока не нашел . так что все намного интереснее
  13. хотя есть еще момент в ключе для инициализации там 7 байт а не 8 как в тесте
  14. блин inetaccess.cpp > 14:17:32 > User '▒N▒$▒▒▒▒▒O▒▒▒▒▒▒O▒▒▒▒▒▒O▒▒▒' NOT found! значит изначально дело было не в криптованиии
  15. с алгоритмом ECB Encrypted 5D 33 E1 FE 85 17 3F 7A 3E 91 24 35 3E DA 56 38 Все правильно , сейчас закодирую пакет глянем
  16. перевел test.cpp na C# библиотека криптования последняя результат 5D 33 E1 FE 85 17 3F 7A A2 B8 EF D4 6F 2B 72 1C а должен был быть Encrypted string: 5d 33 e1 fe 85 17 3f 7a 3e 91 24 35 3e da 56 38 , то есть разница во втором байте вышла
  17. там текстовые файлы с кракозябрами внутри
  18. проверил , у меня нет разницы в эдиан. и на компе где компилирую прогу и на сервере Litlle Edian
  19. nashel sait s onlajn cryptovaniem blowfish .. proveril .. real'no xren ego znaet chto kriptovala proshlaya realizaciya ... nashel eshe odin , zapustil encrypt_CBC (pravda v e etom algritme eshe IV est' (krome key-a)) vpisal v IV (init vector) nuli , vzyal string , perevel ego v bajt , zakodiroval bajt , perevel v hex dex (na etom sajte rezul'tat vydavalo v dec hex) .. sravnil rezul'taty .. odinakovye => 100% rabochaya realizaciya vzyal iz vpisal v nego crypt_stg tak kak tam pravyj i levyj bajt poluchaetsya inache chem u obyknovennogo algoritma ... zakrpittoval paket i opyat' inetaccess.
  20. для компилирования в C используется библиотека ssl ? у меня она не ипользовалась , может из за этого разница в ctx ?
  21. Roman Pogosyan

    Stg + Платежные системы

    vse delaetsya cherez API na sajte s platezhom idet takaya svyazka f vorme idet ID zakaza on peredaetsya kak platezhnoj sisteme tak i serveru , dalee klient oplachivaet zakaz vzaimodejstvie klient ->platezhnaya sistema a potom platezhnaya sistema opoveshaet tvoej server o udache ili ne udache oplaty .. vzaimosejstvie platezhnaya sistem ->tvoj server
  22. P = _P.Clone() as uint[]; S = _S.Clone() as uint[,]; копируют статик массивы у _P и _S старгайзера они как ORIG_P ORIG_S
  23. не должно . у тебя скрипт не возвращает 0 в случае else , может по этому подвисает стг-екзек
  24. ну и F private uint F(uint x) { ushort a; ushort b; ushort c; ushort d; uint y; d = (ushort)(x & 0x00FF); x >>= 8; c = (ushort)(x & 0x00FF); x >>= 8; b = (ushort)(x & 0x00FF); x >>= 8; a = (ushort)(x & 0x00FF); //y = ((S[0][a] + S[1][b]) ^ S[2][c]) + S[3][d]; y = S[0, a] + S[1, b]; y = y ^ S[2, c]; y = y + S[3, d]; return y; } обложатся вроде негде
×
×
  • Створити нове...