Skip to content

IDA version compatibility #1

@klefo0

Description

@klefo0

I have two version IDA, 7.6 and 8.3
I tried to use the plugin in both versions, nothing happen when i used hotkey (Shift-A) like in this script

void __fastcall game_matrix_render(__int64 a1)
{
  int v2; // eax
  float v3; // xmm2_4
  __int64 v4; // rdx
  float v5; // xmm4_4
  __int128 v6; // xmm1
  float v7; // xmm3_4
  __int64 v8; // rcx
  __int64 v9; // rax
  __int128 v10; // xmm0
  __int64 v11; // r8
  int v12; // ecx
  int v13; // er9
  int v14; // er9
  windowSize *window_size; // rcx

  (*(*a1 + 80i64))(a1, (right_axis * bottom_axis));
  v2 = right_axis;
  v3 = 0.0;
  if ( right_axis > 0.0 )
  {
    v4 = 0i64;
    v5 = bottom_axis;
    do
    {
      v6 = 0i64;
      if ( v5 > 0.0 )
      {
        v7 = v3 + 1.0;
        v8 = 48 * v4;
        do
        {
          v9 = *(a1 + 120);
          v10 = v6;
          *&v10 = *&v6 + 1.0;
          ++v4;
          *(v8 + v9 + 4) = v6;
          *(v8 + v9 + 12) = v6;
          *(v8 + v9 + 36) = v6;
          v6 = v10;
          *(v8 + v9 + 20) = v10;
          *(v8 + v9 + 28) = v10;
          *(v8 + v9 + 44) = v10;
          *(v8 + v9) = v3;
          *(v8 + v9 + 8) = v7;
          *(v8 + v9 + 16) = v3;
          *(v8 + v9 + 24) = v3;
          *(v8 + v9 + 32) = v7;
          *(v8 + v9 + 40) = v7;
          v8 += 48i64;
          v5 = bottom_axis;
        }
        while ( bottom_axis > *&v10 );
        v2 = right_axis;
      }
      v3 = v3 + 1.0;
    }
    while ( v2 > v3 );
  }
  glEnableClientState(GL_COLOR_ARRAY);
  if ( *(a1 + 152) + *(a1 + 156) || CURSE <= 0 || (*init & 2) == 0 )
  {
    window_size = *(a1 + 104);
    *(a1 + 176) = window_size->width;
    *(a1 + 180) = window_size->height;
    *(a1 + 168) = 0i64;
  }
  else
  {
    v11 = *(a1 + 104);
    v12 = right_axis * *(a1 + 112);
    v13 = *(a1 + 116);
    *(a1 + 176) = v12;
    v14 = bottom_axis * v13;
    *(a1 + 180) = v14;
    *(a1 + 168) = (*(v11 + 16) - v12) / 2;
    *(a1 + 172) = (*(v11 + 20) - v14) / 2;
  }
  glViewport(*(a1 + 168), *(a1 + 172), *(a1 + 176), *(a1 + 180));
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  gluOrtho2D(0.0, right_axis, bottom_axis, 0.0);
}

The a1 variable should have a struct for it, but the plugin not doing anything.
Can you show me how to use it in detail, or is it plugin work from the older version?

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