Giter Club home page Giter Club logo

pogo-proto-dumper's Introduction

Hi there 👋

pogo-proto-dumper's People

Contributors

branw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pogo-proto-dumper's Issues

Build error

i'm trying to build this but getting error. i'm not really linux expert but i really need this dumper so badly.

yes i did cmake -Bbuild -H. before this

test@ubuntu:~/Desktop/pogo-proto-dumper-master$ make -Cbuild
make: Entering directory '/home/test/Desktop/pogo-proto-dumper-master/build'
make[1]: Entering directory '/home/test/Desktop/pogo-proto-dumper-master/build'
make[2]: Entering directory '/home/test/Desktop/pogo-proto-dumper-master/build'
make[2]: Leaving directory '/home/test/Desktop/pogo-proto-dumper-master/build'
make[2]: Entering directory '/home/test/Desktop/pogo-proto-dumper-master/build'
[ 50%] Building CXX object CMakeFiles/pogo-proto-dumper.dir/src/main.cpp.o
In file included from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:8:0:
/home/test/Desktop/pogo-proto-dumper-master/src/il2cpp.hpp: In constructor ‘il2cpp::metadata::metadata(std::ifstream&)’:
/home/test/Desktop/pogo-proto-dumper-master/src/il2cpp.hpp:377:59: error: no matching function for call to ‘std::exception::exception(const char [32])’
     throw std::exception("File does not have valid header");
                                                           ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char [32]’ to ‘const std::exception&’
In file included from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:8:0:
/home/test/Desktop/pogo-proto-dumper-master/src/il2cpp.hpp:382:72: error: no matching function for call to ‘std::exception::exception(const char [45])’
     throw std::exception("Metadata is described by unsupported version");
                                                                        ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char [45]’ to ‘const std::exception&’
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp: In function ‘int main(int, char**)’:
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:38:50: error: no matching function for call to ‘std::exception::exception(const char [29])’
    throw exception("System must be little-endian");
                                                  ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char [29]’ to ‘const std::exception&’
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:43:60: error: no matching function for call to ‘std::exception::exception(const char [39])’
    throw exception("Usage: umd path/to/global-metadata.dat");
                                                            ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char [39]’ to ‘const std::exception&’
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:61:66: error: no matching function for call to ‘std::exception::exception(const char [43])’
    throw exception("Unable to find \"Assembly-CSharp.dll\" image");
                                                                  ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char [43]’ to ‘const std::exception&’
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:76:24: error: ‘class std::map<int, int>’ has no member named ‘insert_or_assign’
     type_index_mapping.insert_or_assign(type->byvalTypeIndex, j);
                        ^
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:107:131: error: no matching function for call to ‘std::exception::exception(const char*)’
 byte (typeIndex=" + to_string(field_default_value->typeIndex) + ")").c_str());
                                                                             ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char*’ to ‘const std::exception&’
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:153:131: error: no matching function for call to ‘std::exception::exception(const char*)’
 byte (typeIndex=" + to_string(field_default_value->typeIndex) + ")").c_str());
                                                                             ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char*’ to ‘const std::exception&’
/home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:226:132: error: no matching function for call to ‘std::exception::exception(const char*)’
 byte (typeIndex=" + to_string(field_default_value->typeIndex) + ")").c_str());
                                                                             ^
In file included from /usr/include/c++/5/ios:39:0,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/fstream:38,
                 from /home/test/Desktop/pogo-proto-dumper-master/src/main.cpp:2:
/usr/include/c++/5/exception:63:5: note: candidate: std::exception::exception()
     exception() _GLIBCXX_USE_NOEXCEPT { }
     ^
/usr/include/c++/5/exception:63:5: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/5/exception:60:9: note: candidate: constexpr std::exception::exception(const std::exception&)
   class exception
         ^
/usr/include/c++/5/exception:60:9: note:   no known conversion for argument 1 from ‘const char*’ to ‘const std::exception&’
CMakeFiles/pogo-proto-dumper.dir/build.make:62: recipe for target 'CMakeFiles/pogo-proto-dumper.dir/src/main.cpp.o' failed
make[2]: *** [CMakeFiles/pogo-proto-dumper.dir/src/main.cpp.o] Error 1
make[2]: Leaving directory '/home/test/Desktop/pogo-proto-dumper-master/build'
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pogo-proto-dumper.dir/all' failed
make[1]: *** [CMakeFiles/pogo-proto-dumper.dir/all] Error 2
make[1]: Leaving directory '/home/test/Desktop/pogo-proto-dumper-master/build'
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/home/test/Desktop/pogo-proto-dumper-master/build'

Include general symbol dumping functionality

In its first iteration as unity-metadata-dumper, this tool focused on dumping the signatures of every function for aid in reverse engineering. It could be useful to implement this as an alternative functionality once more. In particular:

  • calculate location of functions in the assembly statically;
  • facilitate production of IDC scripts by mangling fully-qualified function signatures;
  • handle functions inside VMTs

Getting types of Protobuf fields

As it stands, the types of fields are not provided when dumping:

message UseItemEggIncubatorOutProto {
        Result = 1;
        EggIncubator = 2;
}

Inside the generated Protobuf message types, the only fields present are static integers storing the number of each field. However, each of these fields also has a getter and setter method which respectively return and accept the field's type.

class UseItemEggIncubatorOutProto
{
    static int ResultFieldNumber = 1;
    static int EggIncubatorFieldNumber = 2;
    // ...
    Result get_Result();
    void set_Result(Void value);
    EggIncubatorProto get_EggIncubator();
    void set_EggIncubator(Void value);
    // ...
}

To get the type of a given field, say Result, one should look to the return type of the function called get_Result. Unfortunately, this member is of the type TypeIndex as opposed to the TypeDefinitionIndex we require to navigate our array of Il2CppTypeDefinition.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.