Skip to content

Is it possible to hide protocol field names #70

Open

Description

@romanholidaypancakes

image

image

We are using protobuf now, it will keep the protocol in binary, it can almost restore the protocol, I noticed that FastBinaryEncoding also has this problem, I hope not to keep any related strings with the protocol declaration

Activity

  1. chronoxor commented on Jun 27, 2022

    @chronoxor
    Owner

    You can annotate field as [Hidden]:
    image

    And its output will be ***:
    image

  2. romanholidaypancakes commented on Jun 28, 2022

    @romanholidaypancakes
    Author

    image
    The field names remain in the source code, and as long as you are familiar with fbe, you can still infer the message structure through reverse engineering

  3. chronoxor commented on Jun 30, 2022

    @chronoxor
    Owner

    Ok, as I understand you want to have 'transparent' fields that are present in objects/clases, but not serializable/deserializable and not output in logger/std::streams. Am I right?

    When deserialzed this fields are skip and contain default or prev value.

    Something like [NonSerialized] attribute in .NET:
    image

  4. romanholidaypancakes commented on Jul 1, 2022

    @romanholidaypancakes
    Author

    No, serialization/deserialization is still supported, you can check flatbuffers or capnproto (they generate source code that doesn't keep any strings), just to protect data don't want any message interface strings to be preserved in source code. Because once retained it can be easily reverse engineered, which is especially important in our game, where we want to hide the message structure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions