Closed Thread
Results 1 to 6 of 6

Thread: Прошивка от Xcube ultra

  1. #1

    Bug Прошивка от Xcube ultra

    Привет есть такой мод Xcube ultra, я короче его купил, и по тупости прошивая софтиной, которая с ним была нашел там конфиг где можно было выбрать чем задавать тактовую контроллеру NUC220LE3AN, arm m0, выбрал внешний... мод отвалился, он сам реализует usb, поэтому повторно прошить не смог.... но идиоты народ упертый... я нагуглил отладчик и купил его..... и поступил самым простым способом, забэкапил прошивку с него .оказалось что при соединении с отладчиком этот контроллер написал во все ячейки памяти ff т.е. мой бекап безполезен... контроллер имеет деление памяти ldrom - загрузчик, aprom - собственно прошивка и dataflash. нагуглил aprom прошил с нормальным конфигом.. мод запустился но стал выдавать сообщение error: no secret key. Я не сдался и нашел прошивку которая не выдает такое сообщение и грузится нормально,но она не работает т.к. от предидущей версии x cube2, там железо (обвес) разное... пытался сравнить эти 2 aprom но без знания asm ничего не вышло, я даже не смог их декомпилировать.... Китайцы разработчики делится (не то что исходниками, а даже полным флешем от этого мода) не хотят Так что прошу Вашей помощи: в бинарнике это сообщение видно в hex редакторах, но я не могу взломать проверку кода а боксмод уже разобранн(в гарантию не возьмут), если вам это интерестно, возьмитесь пожалуйста убрать из этой прошивки эту х...ву проверку ключа... Если получится напишите об этом статью, как и куда хотите, мне же хочется просто иметь рабочий боксмод.... Спасибище!!!!

    Короче есть https://yadi.sk/d/wQcx5vuzxLTeb файл прошивки от электронной сигареты Xcube Ultra, она озябла…
    в этой прошивке есть проверка ключа ключ в загрузчике. Я пытался его отреверсить IDA HEX Rays вот что вышло https://yadi.sk/i/fA3EuwB9xLTMS ошибка на экране устройства error no secret key. Можете помочь убрать эту проверку из прошивки? СПАСИБО!!!
    Last edited by Рома Калинин; 23-10-2016 at 14:10.

  2. #2

    Default Re: Прошивка от Xcube ultra

    Тут я так понял цикл main
    Code:
    //----- (000000C8) --------------------------------------------------------
    void sub_C8()
    {
      int v0; // r0@1
      int v1; // r0@1
      int v2; // r0@5
      int v3; // r0@9
    
      sub_1F30();
      sub_26D0();
      sub_26FC();
      sub_498();
      v0 = sub_FA8();
      sub_9538(v0);
      sub_2518();
      sub_9696();
     <b>v1 = sub_AC74();</b> 
      sub_2572(v1);
      sub_1106(0);
      sub_20FC(17, 1500);
      sub_9E6(1, 300);
      while ( 1 )
      {
        if ( !sub_2104(2) )
        {
          sub_20FC(2, 1);
          sub_35A();
        }
        if ( !sub_2104(1) )
        {
          sub_20FC(1, 20);
          v2 = sub_A258();
          sub_25B4(v2);
          v20000C64 = 1;
          v20000C68 = 1;
          v20000C6C = 1;
          sub_B984(2, 3u);
        }
        if ( !sub_2104(0) )
        {
          sub_20FC(0, 2);
          sub_979E();
        }
        if ( !sub_2104(27) )
        {
          v3 = sub_20FC(27, 50);
          ((void (__fastcall *)(_DWORD))loc_1196)(v3);
        }
        if ( !sub_2104(29) )
        {
          sub_20FC(29, 50);
          sub_1B80();
        }
        if ( !sub_2104(28) )
        {
          sub_20FC(28, 50);
          sub_1868();
        }
        if ( !sub_2104(4) )
        {
          sub_20FC(4, 1000);
          sub_1D64();
        }
        if ( !sub_2104(36) )
        {
          sub_20FC(36, 5);
          ((void (__fastcall *)(_DWORD))loc_52C)(536871800);
        }
        if ( !sub_2104(73) )
        {
          sub_20FC(73, 5);
          sub_3DC();
        }
      }
    }
    // 2572: using guessed type int __fastcall sub_2572(_DWORD);
    // 25B4: using guessed type int __fastcall sub_25B4(_DWORD);
    // 9538: using guessed type int __fastcall sub_9538(_DWORD);

    А тут собственно вывод на экран девайса ошибки
    Code:
    int sub_AC74()
    {
      unsigned int v0; // r4@1
      int result; // r0@6
      char v2; // [sp+4h] [bp-94h]@1
    
      v0 = 0;
      v50000100 = 136;
      sub_2650(&v2, 130816, 32);
      do
      {
        if ( sub_FD34(~dword_127A8[v0 + 155], 0x671243u) != *((_DWORD *)&v2) )
        {
          sub_1088(1);
          sub_E78();
          sub_DD6(0, 0, (int)"ERROR:   \n", 0);
          sub_DD6(0, 2u, (int)"NO SECRET\n", 0);
          sub_DD6(0, 3u, (int)"-KEY!    \n", 0);
          sub_1080(0xAFu);
          sub_1088(0);
          while ( 1 )
            ;
        }
        v0 = (unsigned __int8)(v0 + 1);
      }
      while ( v0 < 0x20 );
      result = 0;
      v50000100 = 0;
      return result;
    }
    Чтобы не думали что я ничего сам не делал.... Но на этом мои познания закончились.... как изменить сам бинарник прошивки я не представляю... вернее догадываюсь что винхексом, но как и что непонимаю..... в asm не разбираюсь в C перевел hex rays - ом.... Спасибо кто поможет!!!!!!!!!!!!!!

  3. #3

    Default Re: Прошивка от Xcube ultra

    Если кто сможет пропатчить прошивку то обещаю с аванса 500р хотябы подкинуть...

  4. #4

    Default Re: Прошивка от Xcube ultra

    А то купил мод 3500 в али отладчик за 700р... и один фиг ничего не работает....

  5. #5

    Default Re: Прошивка от Xcube ultra


    вот что китайцам отправлял.... ну так понятнее будет....
    тут показал им что мой xcube ultra работает с прошивкой от xcube 2 там видимо нет этой проверки....

  6. #6

    Default Re: Прошивка от Xcube ultra

    Всем спасибо уже не нужно!!!!!!!!!!

Closed Thread

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:22
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org