• Как поменять Url полностью?

    Master255
    @Master255 Автор вопроса
    Green Elephant: Нет. Я разрабатываю расширение для Хрома и собираюсь его публиковать в маркете. Всё абсолютно честно и легально. Никакого вреда, только польза.

    Возможность вредоносного использования в чём заключается? В загрузке постороннего сайта?
    Повторю - через расширение я могу загружать в страницу что захочу. Могу все страницы переадресовывать на страницу загрузки вируса. А могу прямо в расширении вирус написать. Так в чём заключается ещё больший вред?

    Какое решение??? Намекните хотя бы...а то может это не решение вовсе...
  • Как поменять Url полностью?

    Master255
    @Master255 Автор вопроса
    И да прокси не подойдёт.
  • Как поменять Url полностью?

    Master255
    @Master255 Автор вопроса
    Алексей Тен: не забывайте, что я этого хочу добиться установкой расширения. Т.е. не только js and html. +какой сайт отобразится мне совершенно до лампочки. И конечно я не собираюсь создавать фишинговых сайтов. Тут не в этом дело. Просто я получается заложник переадресации. Если она есть, то имя сайта в адресной строке я не могу увидеть...а мне это очень надо. Именно имя сайта в адресной строке :-)
  • Как поменять Url полностью?

    Master255
    @Master255 Автор вопроса
    Алексей Тен: Управления сервером нет никакого. Заставить сервер не отдавать переадресацию нельзя. Но нужно, что бы в строке url браузера стоял первый сайт до переадресации который. А сайт может отображаться совсем любой. Главное строка url!
  • Как поменять Url полностью?

    Master255
    @Master255 Автор вопроса
    Philipp T: Управления сервером нет никакого. Заставить сервер не отдавать переадресацию нельзя.
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    Longy: вопрос решён. Данные отправляются нормально. Но теперь у меня целый аврал ошибок при компиляции математической части написанной на с макросах.
    Visual студия вообще способна принять подобного типа код???
    https://github.com/master255/SimplyServer/blob/mas...
    Вот:
    #define PASSES 3
    
    extern word64 table[4*256];
    
    #define t1 (table)
    #define t2 (table+256)
    #define t3 (table+256*2)
    #define t4 (table+256*3)
    
    #define save_abc \
          aa = a; \
          bb = b; \
          cc = c;
    
    #ifdef OPTIMIZE_FOR_ALPHA
    /* This is the official definition of round */
    #define round(a,b,c,x,mul) \
          c ^= x; \
          a -= t1[((c)>>(0*8))&0xFF] ^ t2[((c)>>(2*8))&0xFF] ^ \
    	   t3[((c)>>(4*8))&0xFF] ^ t4[((c)>>(6*8))&0xFF] ; \
          b += t4[((c)>>(1*8))&0xFF] ^ t3[((c)>>(3*8))&0xFF] ^ \
    	   t2[((c)>>(5*8))&0xFF] ^ t1[((c)>>(7*8))&0xFF] ; \
          b *= mul;
    #else
    /* This code works faster when compiled on 32-bit machines */
    /* (but works slower on Alpha) */
    #define round(a,b,c,x,mul) \
          c ^= x; \
          a -= t1[(byte)(c)] ^ \
               t2[(byte)(((word32)(c))>>(2*8))] ^ \
    	   t3[(byte)((c)>>(4*8))] ^ \
               t4[(byte)(((word32)((c)>>(4*8)))>>(2*8))] ; \
          b += t4[(byte)(((word32)(c))>>(1*8))] ^ \
               t3[(byte)(((word32)(c))>>(3*8))] ^ \
    	   t2[(byte)(((word32)((c)>>(4*8)))>>(1*8))] ^ \
               t1[(byte)(((word32)((c)>>(4*8)))>>(3*8))]; \
          b *= mul;
    #endif
    
    #define pass(a,b,c,mul) \
          round(a,b,c,x0,mul) \
          round(b,c,a,x1,mul) \
          round(c,a,b,x2,mul) \
          round(a,b,c,x3,mul) \
          round(b,c,a,x4,mul) \
          round(c,a,b,x5,mul) \
          round(a,b,c,x6,mul) \
          round(b,c,a,x7,mul)
    
    #define key_schedule \
          x0 -= x7 ^ 0xA5A5A5A5A5A5A5A5LL; \
          x1 ^= x0; \
          x2 += x1; \
          x3 -= x2 ^ ((~x1)<<19); \
          x4 ^= x3; \
          x5 += x4; \
          x6 -= x5 ^ ((~x4)>>23); \
          x7 ^= x6; \
          x0 += x7; \
          x1 -= x0 ^ ((~x7)<<19); \
          x2 ^= x1; \
          x3 += x2; \
          x4 -= x3 ^ ((~x2)>>23); \
          x5 ^= x4; \
          x6 += x5; \
          x7 -= x6 ^ 0x0123456789ABCDEFLL;
    
    #define feedforward \
          a ^= aa; \
          b -= bb; \
          c += cc;
    
    #ifdef OPTIMIZE_FOR_ALPHA
    /* The loop is unrolled: works better on Alpha */
    #define compress \
          save_abc \
          pass(a,b,c,5) \
          key_schedule \
          pass(c,a,b,7) \
          key_schedule \
          pass(b,c,a,9) \
          for(pass_no=3; pass_no<PASSES; pass_no++) { \
            key_schedule \
    	pass(a,b,c,9) \
    	tmpa=a; a=c; c=b; b=tmpa;} \
          feedforward
    #else
    /* loop: works better on PC and Sun (smaller cache?) */
    #define compress \
          save_abc \
          for(pass_no=0; pass_no<PASSES; pass_no++) { \
            if(pass_no != 0) {key_schedule} \
    	pass(a,b,c,(pass_no==0?5:pass_no==1?7:9)); \
    	tmpa=a; a=c; c=b; b=tmpa;} \
          feedforward
    #endif
    
    #define tiger_compress_macro(str, state) \
    { \
      register word64 a, b, c, tmpa; \
      word64 aa, bb, cc; \
      register word64 x0, x1, x2, x3, x4, x5, x6, x7; \
      register word32 i; \
      int pass_no; \
    \
      a = state[0]; \
      b = state[1]; \
      c = state[2]; \
    \
      x0=str[0]; x1=str[1]; x2=str[2]; x3=str[3]; \
      x4=str[4]; x5=str[5]; x6=str[6]; x7=str[7]; \
    \
      compress; \
    \
      state[0] = a; \
      state[1] = b; \
      state[2] = c; \
    }
    
    /* The compress function is a function. Requires smaller cache?    */
    int tiger_compress(word64 *str, word64 state[3])
    {
    	//return 0;
      tiger_compress_macro(((word64*)str), ((word64*)state));
    }
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    Longy: получилось преобразовать String^ в char*.
    Методом:
    //using namespace System::Runtime::InteropServices;
    System::String * str = S"Hello world\n";
    char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);
    printf(str2);
    Marshal::FreeHGlobal(str2);

    Следовательно получилось прочитать файл методом ReadFile. Дальше пока не понятно ещё...
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    Longy: и всё таки не работает. Из того что вы написали я понял что нужно использовать другой метод чтения файла. Но при попытке использовать хотя бы ReadFile я опять попал в ловушку преобразований типов.
    Теперь не могу преобразовать имя файла для чтения в этой конструкции:

    hFile = CreateFile(NameF, // open testfile.txt
    GENERIC_READ, // open for reading
    0, // do not share
    NULL, // default security
    OPEN_EXISTING, // existing file only
    FILE_ATTRIBUTE_NORMAL, // normal file
    NULL);
    NameF - это примерно тип char *. Можно использовать и другой LPCSTR или ещё какой...однозначности в этом языке нет...но именно в нужных местах суровая избирательность убивает мозг.
    Так вот процедура перебора файлов в папке у меня выдаёт имя файла в формате String^ , а мне надо получить char *.
    Я нашёл несколько методов преобразования: support.microsoft.com/kb/311259/ru
    Но все они после преобразования выдают только первый байт имени файла.
    А мне надо-то весь файл!
    У меня дальше ведь идёт char *NameF = new char(File);
    И если там File - это всего один байт, то ничего не получится!
    Что делать???
    Я банально не могу прочитать файл...из-за преобразования типа...уже две недели мучаюсь...наверное я дебил)))
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    Longy: какой хороший вы человек :-) . Всё по полочкам. Гуглить такие темы тяжело...иногда совсем невозможно. Сидел бы рядом со мной такой человек - я бы стал самым гениальным программистом))). Спасибо!

    Суть моей программы очень проста. Читает файл и генерирует tth хеш. Программа ориентирована на помощь человечеству. Код - частично будет открыт.
    Суть разработки - замена трёх программ одной - flylink, skydrive и ammyadmin. Самая далёкая перспектива - новый протокол передачи данных. Который ускорит передачу во много раз.
    Самая близкая - супер плеер на андройде, который может составить реальную конкуренцию ютубу.
    Поэтому, если поможете доработать вот этот вопрос mydc.ru/topic5677s20.html#entry46727
    то человечество вас не забудет. А я могу даже отправить вам немного денег на новый год :-) .
    Иначе я буду до упора изучать и решать вопрос сам.
  • Как реализовать видеоплеер на андроид (Side by Side)?

    Master255
    @Master255
    Дмитрий Дьяченко: не существует MediaView класса. Ищите синхронизацию bitmap двух текстур.
  • Как реализовать видеоплеер на андроид (Side by Side)?

    Master255
    @Master255
    Дмитрий Дьяченко: нет. У меня другие задачи сейчас http://toster.ru/q/167409....посложнее, чем ваши копии экранов. Я думаю надо копать в сторону синхронизации поверхностей. Т.е. воспроизводить на одной и одновременно копировать на другую. Так как заставить плеер отображать на двух поверхностях невозможно. Можно конечно, но надо переписать весь плеер...а это совсем не просто и не желательно. И вообще я где-то встречал такие проекты...на гитхабе. Используйте textureview, а не surfaceview. У текстуры больше возможностей. Её можно даже менять всячески и накладывать 3д эффекты! Думаю это то что вам нужно! Код уже дал.
  • Как реализовать видеоплеер на андроид (Side by Side)?

    Master255
    @Master255
    Дмитрий Дьяченко: и да..."если я в surfaceView попробую переопределить метод setDisplay() и поставить туда 2 surfaceView " - так работать не будет потому что плеер показывает видео на одной поверхности...и если её поменять то она не скопируется, а поменяется.
  • Как реализовать видеоплеер на андроид (Side by Side)?

    Master255
    @Master255
    Дмитрий Дьяченко: тут надо понять каким методом вообще можно добиться двойного отображения. Так как плеер поддерживает только одну поверхность для отображения. Может надо создать второй плеер и синхронизировать, что было бы не рационально. Может надо создать вторую поверхность и синхронизировать, что было бы рационально, но будет ли это работать...надо испытывать...
    Нужно найти сам принцип, как это делают другие...а потом копать в реализацию.
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    Longy: увидел ваше изменение кода. Вопрос другой тогда. ReadFile(hFile, buf, 65536, &dwBytesRead, NULL); или File::ReadAllBytes( fileName );
    Не знаю, как работает ваш метод...но мне надо прочитать весь файл. Т.е. потом надо будет менять начальный байт тут &bytes[0]; ?
    Нашёл, что советуют вместо memcpy_s использовать std::move. Пишут что быстрее и безопаснее. Вот тут stackoverflow.com/a/13723232/3421640 . Может лучше тогда std::move ? Она совместима по типам данных (т.е. мне ничего не придётся лишний раз конвертировать?) и вообще её можно\нужно использовать??

    Вопрос производительности тут играет большую роль. Так как это функция подсчёта хеша файлов. Пользователи будут сканировать много файлов.
  • Как реализовать видеоплеер на андроид (Side by Side)?

    Master255
    @Master255
    Дмитрий Дьяченко: videoView плохая идея брать. Он вообще только для самых примитивных случаев, когда не хочется ничего городить. Надо делать кастомный класс.
    Я первый раз тоже не хотел, но там всё легко...
    Вот что получилось у меня: https://github.com/master255/ImmortalPlayer/blob/m...
    Важно какие классы наследует videoView. Скачай весь код и пытайся понять, как делать кастом...там в xml ещё надо указать, что это кастом.
    Ну и управление всё решает тоже...нужно понять, что не даёт играть два видео одновременно. Класс плеера или какие-то свойства поверхности? Может быть как раз управление не даёт...пока кастом ни сделаешь...не поймёшь...
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    Longy: отличный ответ! Конечно мне этот .NET совсем не нужен. Я брал из msdn куски кода...от туда и затисался этот .NET. Если честно ваш совет совпал с моими последними мыслями. Думаю воспользоваться с++ процедурами для чтения файла.
    Уже приготовил ReadFile(hFile, buf, 65536, &dwBytesRead, NULL);
    Я на правильном пути?? Или у вас есть что посоветовать??

    ещё не было времени продолжить творить... тяжело даётся... стресс вызывает... стараюсь отвлекаться... но что поделать... путь спасения человечества только один)))
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    скажите что это всё значит! Чувствую себя быдлом, а не программистом, который всю жизнь программирует)).
    Я нашёл, примерно, эту конструкцию тут stackoverflow.com/questions/25600940/managed-c-cli...

    И меня смутило то что у меня должна быть unsigned char buf[размера 65536 байт!], а получается pptr , которая равна первому байту прочтённого массива (&bytes[0]; - ноль тут означает первый байт. Он означает только первый байт или означает читать с первого???).
    Это так и должно быть?
    Дальше используется символ * в таком контексте byte *buffer. Т.е. как я понимаю это указатель на значение переменной. Ваш код учитывает, что у меня читаются 65536 байт из файла и отправляются в низкоуровневую memmove???

    Пожалуйста помогите...от этого зависит судьба человечества))
  • Как преобразовать cli::array ^ в byte *??

    Master255
    @Master255 Автор вопроса
    я пытаюсь переписать чужой проект.
    Программа простая - читает файл и генерирует с него TTH хеш.
    Я изменил memmove на std::move. Это конечно хорошо, но что делать с типами???
    Главный вопрос был в этом.
  • Как сделать Torrent streaming?

    Master255
    @Master255 Автор вопроса
    Артем: плей маркет хранит множество приложений только для разработчиков. Если приложение на плеймаркете - это значит оно проверенное. И зачем городить ещё велосипед для разработчиков, когда есть плеймаркет.
    Мне кажется вы не понимаете существенной разницы между гитхабом и плеймаркетом. Давайте больше не будем заниматься вашим образованием. Мне это надоело и не по теме.