Помощь с Protobuf.

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Добрый день, нужен человек готовый показать как серилизуются и шлются protobuf запросы. Оплата щедрая.
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
=) куда стучать ?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Поскольку никто не берется давайте тут опишу что требуется.

Нужно серелиозовать всеголишь 1 строку и отправить как массив байт.


пример:
1 {
1:"34634207861"
}
Запрос в чарльзе выглдяит вот так:
59318

59317


Оплата 50$.

Декодирование ответа тоже требуется и оплачивается отдельно.

Вот пример ответа без декодирования:
59319



Кому интересно стучать сюда или в телегу.
 

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Бамп до 100$
 

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Вопрос решен. Но если есть желающие покозать свои наработки пишите в лс обсудим :-)
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 469
Благодарностей
574
Баллы
113
Вопрос решен. Но если есть желающие покозать свои наработки пишите в лс обсудим :-)
Похожая проблема, только с большим массивом даннных.
Подскажите, как решили?
 

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Похожая проблема, только с большим массивом даннных.
Подскажите, как решили?
Вручную переписываете прото конструкцию через protobuf-net.

Либо пробуете дернуть готовые прото файлы из прилы вот этим.

Затем данные через memorystream сереализуете и отсылаете байт массивом.

Поначалу кажется что редкостный гемор и сложна, но после изучения доков на гитхабе + парочки тестов все встает на свои места.
 
  • Спасибо
Реакции: ac2er2 и Meteorburn

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 469
Благодарностей
574
Баллы
113
Вручную переписываете прото конструкцию через protobuf-net.

Либо пробуете дернуть готовые прото файлы из прилы вот этим.

Затем данные через memorystream сереализуете и отсылаете байт массивом.

Поначалу кажется что редкостный гемор и сложна, но после изучения доков на гитхабе + парочки тестов все встает на свои места.
Спасибо большое!
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
Поскольку никто не берется давайте тут опишу что требуется.

Нужно серелиозовать всеголишь 1 строку и отправить как массив байт.


пример:
1 {
1:"34634207861"
}
Запрос в чарльзе выглдяит вот так:
Посмотреть вложение 59318
Посмотреть вложение 59317

Оплата 50$.

Декодирование ответа тоже требуется и оплачивается отдельно.

Вот пример ответа без декодирования:
Посмотреть вложение 59319


Кому интересно стучать сюда или в телегу.
самое забавное что ты мог бы вприцнипе не сериализировать)) если задача в отправке рекьюста просто с другой цифрой но равное тому же кол-ву цифр (в длинну), запросто реплейсишь и отправляешь :-) ну это если уж совсем супер тривиально, как минимум попробовал бы) тоже бадался в свое время но там была вообще жопа по размерам. Реверсить пришлось прото схемы :-)
 

selectel56

Client
Регистрация
11.12.2016
Сообщения
100
Благодарностей
53
Баллы
28
У кого есть готовое решение? Нужно десериализацию сделать без классов (без .proto файла/без схемы) как это делает чарльз, затем по этому же алгоритму назад сериализовать уже после изменения данных в ячейках. По $ договоримся. Пример как декодировать без классов https://protobuf-decoder.netlify.app/ ну или в гитхабе https://github.com/pawitp/protobuf-decoder но тут на JS, а надо на С#, хотя если код будет реально впихнуть в зенку и там выполнить то можно и на JS. В C# и JS сразу говорю - я ноль, поэтому прошу помощь за мани, разумеется, не проходите мимо.

Пример результата декодирования протобуфа должен быть в таком виде (как в чарльзе):
CSS:
1 {
  3: 2
}
2 {
  1 {
    1: 16
    2 {
      1: "thread-a:r7534557228815006152"
      2 {
        14 {
          1 {
            1: "mmm-a:r8795996734187433624"
            2 {
              1: 1
              2: "link.com"
              3: "Anna"
              10: "gres.com"
            }
            3 {
              1: 1
              2: "nik.ru"
            }
            7: 1671800157873
            8 {
            }
            9 {
              2 {
                1: 0
                2: "Primer"
              }
              7: 1
            }
            11: "^f_cl"
            11: "^all"
            11: "^pfg"
            11: "^f_bt"
            11: "^f_btns"
            11: "^a"
            18: 0x000001853f0df6b1
            42: 0
            52: "s:4c096407b7b91fcc|#mmm-a:r8795996734187433624|0"
          }
          3: 1
        }
      }
    }
  }
}
4 {
  1: 1671800155764
  2: 1
  3: 1671800157878
  4: 1
  5: 14
}
5: 2
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
У кого есть готовое решение? Нужно десериализацию сделать без классов (без .proto файла/без схемы) как это делает чарльз, затем по этому же алгоритму назад сериализовать уже после изменения данных в ячейках. По $ договоримся. Пример как декодировать без классов https://protobuf-decoder.netlify.app/ ну или в гитхабе https://github.com/pawitp/protobuf-decoder но тут на JS, а надо на С#, хотя если код будет реально впихнуть в зенку и там выполнить то можно и на JS. В C# и JS сразу говорю - я ноль, поэтому прошу помощь за мани, разумеется, не проходите мимо.

Пример результата декодирования протобуфа должен быть в таком виде (как в чарльзе):
CSS:
1 {
  3: 2
}
2 {
  1 {
    1: 16
    2 {
      1: "thread-a:r7534557228815006152"
      2 {
        14 {
          1 {
            1: "mmm-a:r8795996734187433624"
            2 {
              1: 1
              2: "link.com"
              3: "Anna"
              10: "gres.com"
            }
            3 {
              1: 1
              2: "nik.ru"
            }
            7: 1671800157873
            8 {
            }
            9 {
              2 {
                1: 0
                2: "Primer"
              }
              7: 1
            }
            11: "^f_cl"
            11: "^all"
            11: "^pfg"
            11: "^f_bt"
            11: "^f_btns"
            11: "^a"
            18: 0x000001853f0df6b1
            42: 0
            52: "s:4c096407b7b91fcc|#mmm-a:r8795996734187433624|0"
          }
          3: 1
        }
      }
    }
  }
}
4 {
  1: 1671800155764
  2: 1
  3: 1671800157878
  4: 1
  5: 14
}
5: 2
Если предоставишь достаточное кол-во вариаций или проще линк, то запросто. Линку тг
 

selectel56

Client
Регистрация
11.12.2016
Сообщения
100
Благодарностей
53
Баллы
28

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 469
Благодарностей
574
Баллы
113
В три подхода сражался с этими Protobuf-ами и только вчера осилил.
Нужно было отснифанные запросы из Charles перенести в ZennoPoster или DLL библиотеку.

Если кто-то будет реализовывать отправку Protobuf запросов из ZennoPoster, то вы можете столкнуться с проблемой, что библиотека Google.Protobuf конфликтует с чем-то в постере. Как оказалось, в постере уже есть все необходимые библиотеки, но других версий. Из-за чего при добавлении их из Nuget код писал ошибку о конфликтах. Необходимо добавить Google.Protobuf и другие именно из папки Progs в постере в GAC.

Также кто столкнётся с утилитой pbtk для вскрытия Android приложений и извлечения из них Protobuf-файлов. К сожалению, уже большинство APK она не вскрывает. Только старые версии двухлетней давности. Во всяком случае у меня так :(
 
Последнее редактирование:
  • Спасибо
Реакции: xdriver, myndeswx и Nord

selectel56

Client
Регистрация
11.12.2016
Сообщения
100
Благодарностей
53
Баллы
28
В три подхода сражался с этими Protobuf-ами и только вчера осилил.
Нужно было отснифанные запросы из Charles перенести в ZennoPoster или DLL библиотеку.

Если кто-то будет реализовывать отправку Protobuf запросов из ZennoPoster, то вы можете столкнуться с проблемой, что библиотека Google.Protobuf конфликтует с чем-то в постере. Как оказалось, в постере уже есть все необходимые библиотеки, но других версий. Из-за чего при добавлении их из Nuget код писал ошибку о конфликтах. Необходимо добавить Google.Protobuf и другие именно из папки Progs в постере в GAC.

Также кто столкнётся с утилитой pbtk для вскрытия Android приложений и извлечения из них Protobuf-файлов. К сожалению, уже большинство APK она не вскрывает. Только старые версии двухлетней давности. Во всяком случае у меня так :(
Ну хоть бы выложил решение с примерами, думаю, всем было бы полезно)) я на днях запилил нечто похожее для работы с прото данными без прото схемы, ну вроде как должно работать, но в деле не проверял.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)