naim94a/lumen

HelloResult implementation is incomplete

Closed this issue · 2 comments

Describe the bug
HelloResult response is not fully implemented
Related #144

To Reproduce
Some features are not enabled in IDA when using lumen server, such as Delete metadata

Expected behavior
Server should respond correctly with all needed information

Server (please complete the following information):

  • OS: whatever lumen.abda.nl uses
  • Architecture: whatever lumen.abda.nl uses

Client (please complete the following information):

  • OS: Windows 11
  • Architecture: x86_64
  • IDA Version: 8.3

Additional context
Correct structure of HelloResult is as following:

// this struct contains string data from ida.key file
struct license_info_t
{
    qstring id; // license id
    qstring name; // license name
    qstring email; // license email
};

// lumina_user_t structure also used in some other unimplemented packets, such as:
// GET_LUMINA_STATS_RESULT
// SHOW_USERS_RESULT
// USER_OPERATION
// SHOW_PUSHES_RESULT
struct lumina_user_t
{
    license_info_t license_info;
    qstring name; // login user name
    uint32_t karma; // whatever that means lol
    uint64_t last_active; // unix time?
    uint32_t features; // flags: 0x1 is_admin, 0x2 appears to be can_delete_metadata, official private lumina server sends 0x3 for admin accounts and 0x2 for regular accounts here, and 0 when using official public lumina server
};

struct helo_result_t
{
    lumina_user_t user;
};

You got order of string fields mixed up, but other than that it should work now I guess.

thanks! fixed