Сейчас на форуме: exp50848, rmn, _MBK_ (+7 невидимых)

 eXeL@B —› Основной форум —› Взлом прог под Симбиан
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 20 . 21 . >>
Посл.ответ Сообщение

Ранг: 153.9 (ветеран)
Активность: 0.120
Статус: Участник
reborn

Создано: 10 августа 2006 22:20 · Поправил: newborn
· Личное сообщение · #1

Народ, ктонить ломал под Симбиан проги ? Искал в инете, инфы вообще неоказалось, так мелочи которые не помогут при взломе. Интересует вот что:
1) Чем ломать.
2) Какая нибудь инфа.

Всем откликнувшимся спасибо.

-----
~ the Power Of Reversing team ~





Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 22 декабря 2008 15:17
· Личное сообщение · #2

так может у тебя проблемы с переходом в ARM/Thumb режимы. Для перехода из arm-mode в thumb нужно прибавить 1 к вызываемому адресу.
вроде как для uiq3 был какой-то пропатченный app trk, который позволял читать данные из rom, через него по идее можно посмотреть в карбиде, правильно ли происходит переключение режимов. Хотя это можно посмотреть и так в IDA - в каком режиме происходит вызов, и в каком режиме код вызываемого метода в rom.



Ранг: 13.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 24 декабря 2008 18:09 · Поправил: mr_way
· Личное сообщение · #3

Адрес функции, возвращаемый Lookup - "нечетный" (т.е. надо понимать что код в dll выполняется в THUMB режиме).
Проверил вариант с LDR PC, [Rx]. Результат такой-же как и в случае с BLX Rx. На телефоне выпадает диалог "Не поддерживается".

И что-бы это значило?
...................................................................... ........

Засада!!!. Отвечаю сам себе. Взял для примера dll "попроще", а именно Hal.dll (она тоже в XIP формате). "Залукапил" функцию Get - 1й номер. Работает!
Так что проблема не в вызове, а в самой функции.
...................................................................... ..............................................
Ну вот и все...
Проблема была в VendorID. Если в своем примере установить его в 0x7000000F (как в прошивочных файлах), то вызовы из OpaClient.dll "отрабатываются". Дальше правда вылет идет, видимо не до конца в Callback-ах разобрался.
Но похоже даже если удастся "замутить" что-нибуть путное, то поставить его можно будет только на "заломанную" систему.



Ранг: 31.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 02 января 2009 17:29 · Поправил: TolyaN3z
· Личное сообщение · #4

Ковыряю CorePlayer для UIQ...
Глянул, как уже ломали под другие оси, пытаюсь повторить те же действия.
Перенаправляем импорты с EZLIB (inflate и т.д.) на нашу dll, а в ней выполняем оригинальный вызов + наш код.
Написал dll с 4 экспортируемыми функциями: 3 из EZLIB и 1 из EUSER, пришлось попариться с перенаправлением импорта IMB_Range из EUSER. Подзабылся старый формат E32Image http://www.antonypranata.com/articles/symbian-os-executable-file-format-e32image . В общем, dll успешно загрузилась, сделала необходимые вызовы и прога запустилась.
Идём дальше, нужно подменить IMEI. Моё представление этого:
1. Делаем дамп области памяти, на которую грузится распакованый образ
2. Реверсим, смотрим адрес загрузки IMEI
3. Пишем в нашей dll код замены этого значения
Собственно, первый пункт: отлавливаем адрес по которому размещается распакованный бинарь.
В версии для UIQ нет вызова CreateLocalCode (такое возможно? зачем тогда IMB_Range?), поэтому как словить нужный chunk мне не оч понятно.
В функции IMB_Range есть 2 параметра aStart и aEnd, пробую установить thread-local storage по aStart и создать chunk. Создаю указатель на область в памяти используя этот chunk с такими параметрами aBuf = Base+Bottom и aLength = Top - Bottom, на этом dll-ка вываливается KERN-EXEC, 0.
Есть подозрение, что aStart это некорректный, точнее непригодный для моих нужд адрес, поэтому TPtrC инициализируется неверными значениями.
Смутно представляю как иначе (без дампа) получить адрес IMEI. У кого-нибудь есть соображения?




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 03 января 2009 15:04 · Поправил: [wl]
· Личное сообщение · #5

как ломали товарищи из BiNPDA: перехватывали вызов TDes::Copy(), и если некий символ является цифрой, считали, что происходит копирование imei и подсовывали свой. Делают так потому, что им не хочется париться с самой функцией получения imei, которая в 9-ке делается через Active Objects, хотя на самом деле в этом нет никакой сложности. На 7-й симбе все проще - взятие имея берется функцией PlpVariant::GetPhoneID(), её-то и нужно перехватывать. Наибольшая проблема в том, чтобы адрес этой функции узнать. Есть два варианта: либо дамп памяти (хотя я не понимаю, как там узнать адреса функций), либо ручная распаковка бинарника. Под 9-ку бинарник распаковать не сложно - там есть заголовок 0x10 байт, в котором зашифрован размер кодовой секции, точка входа и что-то еще, и дальше идет zlib-поток с шириной окна 0xFFFFFFF1. Распакованный образ нужно также раскриптовать, и затем загрузить в ida. Хотя наверное это и не обязательно - можно по именам библиотек и ординалам найти, куда мапится PlpVariant::GetPhoneID(), и собственно подменять его на свою функцию.

Вот несколько функций, которые помогут:
1) декрипт заголовка и распаковка тела
Code:
  1. int extract()
  2. {
  3.          z_stream strm;
  4.          FILE* f = fopen("CorePlayer_20012FA6.cpb", "rb");
  5.          fseek(f, 0, SEEK_END);
  6.          int size = ftell(f) - 0x10;
  7.          fseek(f, 0, SEEK_SET);
  8.          char var_278[0x10];
  9.          fread(var_278, 1, 0x10, f);
  10.          int r0=0xF;
  11.          for(; r0>3; r0--)
  12.          {
  13.                  char r2 = var_278[r0];
  14.                  char r1 = var_278[r0-1];
  15.                  r2 ^= r0;
  16.                  r1 ^= r2;
  17.                  var_278[r0] = r1;
  18.          }
  19.          FILE* o = fopen("CorePlayer.cpb", "wb");
  20.          fwrite(var_278, 1, 0x10, o);
  21.          char* in = new char[size];
  22.          fread(in, 1, size, f);
  23.          char out[0x2000];
  24.     memset(&strm, 0, sizeof(z_stream));
  25.          strm.next_in = (Bytef*)in;
  26.     strm.avail_in = size;
  27.     strm.next_out = (Bytef*)out;
  28.     strm.avail_out = 0x2000;
  29.          if ( inflateInit2_(&strm, 0xFFFFFFF1, ZLIB_VERSION, sizeof(z_stream)) >= 0)
  30.          {
  31.         while ( strm.avail_in )
  32.         {
  33.             inflate(&strm, 0);
  34.                         fwrite(out, 1, 0x2000-strm.avail_out, o);
  35.             strm.next_out = (Bytef*)out;
  36.             strm.avail_out = 0x2000;
  37.         }
  38.        inflateEnd(&strm);
  39.          }
  40.          delete [] in;
  41.          fclose(o);
  42.          fclose(f);
  43.          return 0;
  44. }

2) декрипт тела
Code:
  1. procedure TForm2.Button1Click(Sender: TObject);
  2. var
  3.   fs, fo: TFileStream;
  4.   h: array [0..$0F] of byte;
  5.   d: array of byte;
  6.   r3: byte;
  7.   r0, r1, lr, r12, r2: integer;
  8. begin
  9.   fs := TFileStream.Create('CorePlayer.cpb', fmOpenRead);
  10.   fs.Read(h, $10);
  11.   lr := fs.Size - $10;
  12.   SetLength(d, lr);
  13.   fs.Read(d[0], lr);
  14.   r12 := 0;
  15.   r0  := 0;
  16.   repeat
  17.     r3 := d[r12];
  18.     r2 := r0 + (r0 shl 8);
  19.     r2 := r0 + (r2 shl 4);
  20.     r3 := r3 xor r0;
  21.     r1 := r0 and $1F;
  22.     r2 := r0 + (r2 shl 5);
  23.     r2 := r0 + (r2 shl 8);
  24.     d[r12] := r3;
  25.     r12 := r12 + r1;
  26.     r12 := r12 + 1;
  27.     r2 := r0 + (r2 shl 2);
  28.     r0 := r2 + 1;
  29.   until r12 >= lr;
  30.   fs.Free;
  31.   fo := TFileStream.Create('decrypted.bin', fmCreate);
  32.   fo.Write(h, $10);
  33.   fo.Write(d[0], lr);
  34.   fo.Free;
  35.   SetLength(d, 0);
  36. end;


Написано на двух языках (VC++ & Delphi), потому что это я делал в разное время, а потом стало неохота париться и делать одну универсальную программу распаковки бинарника, проще ткнуть по двум программам



Ранг: 31.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 03 января 2009 15:16 · Поправил: TolyaN3z
· Личное сообщение · #6

[wl]
Я вчера таки сдампил образ с памяти. Ильфаковские IDS для старых осей как всегда подвели, а других не было под рукой. C нормальными IDS нашёлся вызов CreateLocalCode, с него получил chunk и по нему слил бинарь из памяти.
Вот, что у меня было на выходе h__p://rapidshare.com/files/179330767/cp_uiq2.rar.html__
pass: cracklab
Но в этом бинаре все обращения уже идут в память и поэтому, как ты верно заметил, определить, где идёт вызов функции получения imei без полного дампа памяти нереально.
Сейчас буду пробовать твой код.



Ранг: 31.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 06 января 2009 14:29 · Поправил: TolyaN3z
· Личное сообщение · #7

[wl]
После обработки заголовка и тела твоим кодом на выходе получается такой же бинарь, как я слил с тела, только с двумя отличиями:
1. База адресации 0x00000000, а у того, что в памяти 0xFE000000, до запуска IMB_Range. Не важно.
2. С тела слилось на 2240 байт больше. Видимо, резервация под какие-то данные, либо это максимально возможный размер.
Нашёл имя импортируемой библиотеки PLPVARIANT.dll.
Формат секции импорта какой-то не очень понятный, отличается от того, что в APP. Точнее даже сказать, не вижу там секции импорта. Есть имена библиотек, перед ними идут их UID, а после имени, ВРОДЕ КАК идёт кол-во импортов и дальше ординалы. Вот, даже нарисовал разбивку:
http://img518.imageshack.us/my.php?image=importap4.png
хотелось бы верить, что разбивка правильная, но у функции GetMachineId ординал 6, а там стоит 0007. И импорт всего один. Очевидно, догадка неверная. Кто-нибудь знает как они мапятся, когда всё загружено в память?
Загрузив бинарник в IDA ситуация не сильно прояснилась, как узнать, где идёт вызов импортируемой функции?
Посидел, посмотрел пару часиков на бинарь, отколупал диалог и проверку серийника. Прога запускается, а через несколько секунд валится, видимо где-то проверяется результат этих функций. Примерно представляю, где может вызываться GetMachineId, но муторно мне туда лезть.
Ладно, думаю, попробую поменять имя и UID, перехватить вызов на свою dll, в ней уже есть фейковая функция с нужным ординалом. Не тут-то было, прога запускается, но на нужную функцию не попадает. Пробуем забить эту область (UID и имя DLL) мусором - ни вылета ничего. Из этого делаем вывод, что вызов GetMachineId делается раньше функции IMB_Range. Фиг с ним, патчим прямо после CreateLocalCode - без толку. Но, таки вклинился еще раньше и всё заработало.




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 06 января 2009 21:49 · Поправил: [wl]
· Личное сообщение · #8

ну вот еще код, которым я загружал либы в иду, может поможет. Но вроде как на смарт-се я видел уже взломанный корплейер для юик.
Code:
  1.          ea_t import_pos=0;
  2.          do {
  3.                  netnode n;
  4.                  n.create(0);
  5.                  long  uid;
  6.                  lread4bytes(li, &uid, false);
  7.                  int i=0;
  8.                  unsigned char c;
  9.                  do {
  10.                         c = qlgetc(li);
  11.                         if (c=='.')
  12.                               buf[i++] = 0;
  13.                         else
  14.                               buf[i++] = c;
  15.                  }while (!= 0 );
  16.                  if (qstring(buf) == qstring("e32stub"))
  17.                         return;
  18.             int off=0;
  19.                      int x1=0;
  20.                         while (true) {
  21.                               c = qlgetc(li);
  22.                               if (x1==0) 
  23.                                    off  =  c & 0x7F;
  24.                               else
  25.                                    off  +=  ((& 0x7F) << x1);
  26.                               if ( (& 0x80) == 0)
  27.                                    break;
  28.                               x1+=7;
  29.                         }
  30.                         import_pos += (off-1);
  31.                      int ord;
  32.                  do {
  33.                         ord = 0;
  34.                         int x=0;
  35.                         while (true) {
  36.                               c = qlgetc(li);
  37.                               if (x==0) 
  38.                                    ord  =  c & 0x7F;
  39.                               else
  40.                                    ord  +=  ((& 0x7F) << x);
  41.                               if ( (& 0x80) == 0)
  42.                                    break;
  43.                               x+=7;
  44.                         }
  45.                         if ( --ord >= 0) {
  46.                               doDwrd(import_pos,4);
  47.                               //set temporary name in case of duplicate name or if there's no ids file
  48.                               char ordname[0x100];
  49.                               qsnprintf(ordname,sizeof(ordname),"%s_%d",buf,ord);
  50.                               do_name_anyway(import_pos,ordname);
  51.                               netnode(n).altset( ord , import_pos);
  52.                               import_pos += 4;
  53.                         }
  54.              import_module((char*)buf, NULL, n, NULL, "epoc9");
  55.                  } while (ord >= 0 );
  56.          } while ( true );




Ранг: 31.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 06 января 2009 22:12
· Личное сообщение · #9

[wl]
я уже взломал его, там наверно мой релиз лежит.
TolyaN3z пишет:
патчим прямо после CreateLocalCode - без толку. Но, таки вклинился еще раньше и всё заработало.

В любом случае, спасибо за помощь.



Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 января 2009 15:54
· Личное сообщение · #10

Кто может, пожалуйста, сломайте последнюю версию gensnet.narod.ru/n82smart107_OS93_RU_trial.SIS
Заранее спасибо!




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 18 января 2009 17:55
· Личное сообщение · #11

Здесь не запросы на взлом, а обсуждение, правила читай.



Ранг: 13.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2009 11:52
· Личное сообщение · #12

Уважаемые гуру! Есть такой вопрос.
Имеется функция RMobileCall::NotifyCallEvent(TRequestStatus& aReqStatus, TMobileCallEvent& aEvent) из etelmm. Кто нибудь ее пробовал использовать? У меня что-то не выходит. Может у кого нибудь пример есть нормальный или описание как ей "правильно" пользоваться. Поиск по инету не помог. Пытался IDA-ой посмотреть кто ее в прошивке пользует, тоже не нашел.




Ранг: 110.0 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 09 марта 2009 09:13
· Личное сообщение · #13

А где можно взять заголовочные файлы для MetroTRK API? В Carbide C++ нету.

-----
Никто не знает столько, сколько не знаю я




Ранг: 135.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 30 марта 2009 18:18
· Личное сообщение · #14

Я во взломе софта под symbian вообще дубовый, потому сильно не пинайте... =)
Есть софтина ProfiMail 3.10 hччp://www.lonelycatgames.com

Вобщем сам файл ProfiMail.exe, как я понял, распаковывает/расшифровывает (есть подозрение на ZLIB) файл app.bin, который по ходу дела и яв-ся самой программой.
Вопросы вот в чем:
есть-ли возможность отладки софта в трубе? или нужен эмулятор?
как отловить расшифровку или сделать это ручками? (может существуют какие-нить дамперы и т.п.)
существует ли что-нить типа filemon (или подобное), чтобы хотя бы отловить и убить триал?...

заранее спасиб!




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 30 марта 2009 21:33 · Поправил: [HEX]
· Личное сообщение · #15

alexey_k
Отладчика вроде в свободном доступе нет. Если и есть, то отлаживать можно только свои программы под эмулем.

В свежей IDA вроде как должно что то быть для отладки, но пока на паблике свежей IDA нет.

У ARTeam есть неплохой тутор по реверс симбы в том числе и профика. Primer_on_Reversing_Symbian_S60_Applications

-----
Computer Security Laboratory




Ранг: 135.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 30 марта 2009 22:04
· Личное сообщение · #16

[HEX] пишет:
У ARTeam есть неплохой тутор по реверс симбы в том числе и профика

да, они закейгенили профимайл, но дело в том, что регистрация проверяется на сервере, и потому, как только софтина вышла в сеть, мы получаем оплеуху
Фишка с файлом hosts уже не прокатывает (по-моему начиная с версии 3.04), а потому нужно патчить эти проверки... вобщем надо еще туторов от arteam покурить, может что и получится...
а так вопрос в догонку - возможен ли инлайн-патч на симбе? кто-нить подобное делал?




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 30 марта 2009 23:22
· Личное сообщение · #17

alexey_k
А лодырь не проканает? Они как раз в туторе профик дампили с помощью лодыря и сырки там же были.

-----
Computer Security Laboratory





Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 31 марта 2009 12:24
· Личное сообщение · #18

alexey_k пишет:
возможен ли инлайн-патч на симбе? кто-нить подобное делал?

возможен, я делал, но на профимыле не сработает, так как они насильно загружают длл с диска z:



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 апреля 2009 15:56
· Личное сообщение · #19

Компиляторов С/С++ для разработки приложений на базе ARM много.
Например в IDE:
- IAR Embedded Workbench;
- Keil Software ARM MDK uVision3 ;
- ARM ADS Metrowerks CodeWarrior;
- ARM RealView;
- Green Hills Multi;
- MetaWare;
- GNU GCC Tools;
- Microsoft Visual Studio;
- Carbide c++ 2.0
- CrossWorks for ARM;
- Borland C++ Builder и т.д.

Вопрос – как по реассемблированному коду определить его родителей?

Известно, что это Symbian 9.2 а подпрограммы оформляются следующим образом

Code:
  1. B668     sub_B668       
  2. B668 000     MOV R12, SP      
  3. B66C 000     STMFD SP!, {R4,R11,R12,LR,PC}
  4. B670 014     SUB R11, R12, #4     
  5. B674 014     SUB SP, SP, #0x84    
  6. B678 098     STR R0, [R11,#var_18]
  7. -----
  8. BCA0 098     SUB SP, R11, #0x10       
  9. BCA4 098     LDMFD SP, {R4,R11,SP,PC} 
  10. BCA4                        ; End of function sub_B668
  11. BCA8     oBCA8 DCD aCSysz       ; B690r
  12. BCAC     oBCAC DCD aCSysS       ; B760r BC58r
  13. BCB0     oBCB0 DCD aCSys        ; BC74r


Второй пример:
Code:
  1. 80E4     sub_80E4       
  2. 80E4 000     MOV R12, SP             
  3. 80E8 000     STMFD SP!, {R4,R11,R12,LR,PC} 
  4. 80EC 014     SUB R11, R12, #4        
  5. ----
  6. ; RFile::Write(TDesC8 const&)
  7. 8240         SUB R0, R11, #0x24        
  8. 8244         LDR R1, [R11,#-0x14]      
  9. 8248         BL  _ZN5RFile5WriteERK6TDesC8 
  10. ; RFile::Close(void)
  11. 824C         SUB R0, R11, #0x24        
  12. 8250         BL  _ZN5RFile5CloseEv     
  13. ; RHandleBase::Close(void)
  14. 8254         SUB R0, R11, #0x18        
  15. 8258         BL  _ZN11RHandleBase5CloseEv 
  16. 825C         SUB SP, R11, #0xC         
  17. 8260         LDMFD SP, {R11,SP,PC}    

Меня интересует ТОЛЬКО этот компилятор, а добывать, осваивать и тестировать все по списку тяжело, да и времени в обрез… Искренне считаю, что для Symbian-гуру это задача на пол-банана. Помогите.



Ранг: 2.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 апреля 2009 21:24 · Поправил: Модератор
· Личное сообщение · #20

Побанен на сутки, чтоб читал правила. Запросы лепить в соответствующей теме, а не по всему форуму равномерно разбрасывать




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 21 апреля 2009 13:00 · Поправил: [wl]
· Личное сообщение · #21

abvg пишет:
Вопрос – как по реассемблированному коду определить его родителей?

реально для написания обычных приложений под симбиан используются только 2 - GCCE и ARM RealView, так как они поддерживаются в Carbide.c++.
сказать, какой именно в данном случае не смогу, но скачать оба не составляет труда - один на форуме нокии, второй на торрентс.ру и посмотреть, какой код генерируют.
----
LexS007, раз есть ключ, можно взломать подменой имей, сейчас времени вообще нет, может потом сделаю



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 09 мая 2009 16:21
· Личное сообщение · #22

Добыл, освоил и тестировал ВСЕ по списку
Не помогло...

Просмотрел несколько десятков sisx - 90% похожи, как две капли...
Не знаю, что и думать (Уже и задачу решил, а все равно - интересно!)
P.S. Может у меня все СЛИШКОМ новое?



Ранг: 31.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 10 мая 2009 13:22 · Поправил: TolyaN3z
· Личное сообщение · #23

Недавно писал либу для CorePlayer, вот как выглядит одна из её функций:
Code:
  1. 8028 __SomeFunc
  2. 8028                 MOV     R12, SP
  3. 802C                 STMFD   SP!, {R11,R12,LR,PC}
  4. 8030                 SUB     R11, R12, #4
  5. 8034                 SUB     SP, SP, #8
  6. 8038                 STR     R0, [R11,#-0x10]
  7. 803C                 LDR     R0, [R11,#-0x10]
  8. 8040                 BL      sub_865C
  9. 8044                 LDR     R3, [R11,#-0x10]
  10. 8048                 ADD     R0, R3, #0x6C
  11. 804C                 BL      sub_865C
  12. 8050                 LDR     R3, [R11,#-0x10]
  13. 8054                 ADD     R0, R3, #0xD8
  14. 8058                 BL      sub_865C
  15. 805C                 LDR     R3, [R11,#-0x10]
  16. 8060                 MOV     R0, R3
  17. 8064                 SUB     SP, R11, #0xC
  18. 8068                 LDMFD   SP, {R11,SP,PC}

Похоже на то, что у тебя, но не такое же.
Компилил под Carbide C++ 2.0 (GCCE), SDK - UIQ3, CSL ARM Toolchain версии 2005-Q1C.




Ранг: 52.9 (постоянный), 6thx
Активность: 0.040
Статус: Участник

Создано: 12 мая 2009 21:16 · Поправил: pollllll_n
· Личное сообщение · #24

Народ информация дл размышления, может пригодится, правда от 11.03.2009 года вот источник www.securitylab.ru/news/348341.php

Хакеры предлагают новый метод взлома защиты Symbian

Хакеры обнаружили еще один способ взлома защиты Symbian. Ранее дыру в защите нашли с помощью официальной программы для обновления ПО, теперь предлагается использовать профессиональный инструментарий для программирования. Владельцы топовой версии официальной среды разработки Carbide.C++ Pro (цена $1300) могут в процессе отладки программы на смартфоне изменить несколько определенных бит в стэке ядра и полностью отключить все проверки защиты. В итоге Symbian Platform Security выключается для данного аппарата. Это позволяет скачивать защищенный контент, модифицировать и скачивать скрытые системные файлы, устанавливать любое ПО с любыми привилегиями. Теоретически, это позволит хакерам скачивать и модифицировать даже встроенную операционную систему. Что смогут извлечь пытливые умы из данной возможности — покажет будущее.

Недостатки у метода взлома следующие: все права и привилегии восстанавливаются после перезагрузки девайса (если не применять дополнительные меры), взлом действует только на одном единственном устройстве. В данный момент существует подтверждение взлома Nokia N80. Неизвестно, будет ли этот способ работать на девайсах с Feature Pack 1.



Ранг: 53.9 (постоянный), 19thx
Активность: 0.040
Статус: Участник

Создано: 13 мая 2009 03:41
· Личное сообщение · #25

Гыг, очнулся И новость вообще то 8-го года... И нужен не карбид а AppTRK из него. И на новых прошах не работает - ТРК пропатчили и встроили в прошивку (чтоб нельзя было старую версию установить).




Ранг: 52.9 (постоянный), 6thx
Активность: 0.040
Статус: Участник

Создано: 13 мая 2009 08:09 · Поправил: pollllll_n
· Личное сообщение · #26

Zorn компания видно решила эту новость попредержать до 9-го года , чтоб не вспугнуть покупателей своей системой защиты



Ранг: 53.9 (постоянный), 19thx
Активность: 0.040
Статус: Участник

Создано: 13 мая 2009 09:14
· Личное сообщение · #27

pollllll_n пишет:
компания видно решила эту новость попредержать до 9-го года

Я имел ввиду, что новость на секлабе датирована 11 марта, 2008




Ранг: 52.9 (постоянный), 6thx
Активность: 0.040
Статус: Участник

Создано: 13 мая 2009 18:02 · Поправил: pollllll_n
· Личное сообщение · #28

Zorn может вот эта ссылка будет интересной Взлом защиты Symbian 9.1 - 9.4, Нокиа 5800 и другие ранее не взламываемые www.se900.ru/forum/s=04884f9bfdf8cd762f4062044d1c9668&showtopic=7142&pid=48972&st=0&#entry48972 датирована 23.03.2009. Автор описывает метод получения полного доступа для всех телефонов Symbian OS9x (включая 9.3 и 5800), при помощи этого метода можно легко взлома любую систему 9.х




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 13 мая 2009 18:32
· Личное сообщение · #29

баян, давно уже все поломали себе 5800



Ранг: 2.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 мая 2009 19:09
· Личное сообщение · #30

[wl] пишет:
         ea_t import_pos=0;

         do {
         do {

                 netnode n;

                 n.create(0);



                 long  uid;

                 lread4bytes(li, &uid, false);

                 int i=0;

                 unsigned char c;

                 do {
                 do {

                        c = qlgetc(li);

                        if (c=='.')

                              buf[i++] = 0;

                        else
                        else

                              buf[i++] = c;

                 }while (c != 0 );

                 if (qstring(buf) == qstring("e32stub"))

                        return;

            int off=0;

                     int x1=0;

                        while (true) {
 {

                              c = qlgetc(li);

                              if (x1==0) 
 

                                   off  =  c & 0x7F;

                              else
                              else

                                   off  +=  ((c & 0x7F) << x1);

                              if ( (c & 0x80) == 0)

                                   break;

                              x1+=7;

                        }
                        }

                        import_pos += (off-1);

                     int ord;

                 do {
                 do {

                        ord = 0;

                        int x=0;

                        while (true) {
 {

                              c = qlgetc(li);

                              if (x==0) 
 

                                   ord  =  c & 0x7F;

                              else
                              else

                                   ord  +=  ((c & 0x7F) << x);

                              if ( (c & 0x80) == 0)

                                   break;

                              x+=7;

                        }
                        }



                        if ( --ord >= 0) {
 {

                              doDwrd(import_pos,4);

                              //set temporary name in case of duplicat e name or if there's no ids file
 there's no ids file

                              char ordname[0x100];

                              qsnprintf(ordname,sizeof(ordname),"%s_%d ",buf,ord);

                              do_name_anyway(import_pos,ordname);

                              netnode(n).altset( ord , import_pos);

                              import_pos += 4;

                        }
                        }

             import_module((char*)buf, NULL, n, NULL, "epoc9");

                 } while (ord >= 0 );

         } while ( true );




А с помощью какой проги такой код можно посмотреть exe файла




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 15 мая 2009 21:10
· Личное сообщение · #31

LexS007 пишет:
А с помощью какой проги такой код можно посмотреть exe файла


Нет такой проги, максимум можно с помощью IDA получить листинг на асме (арм).


<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 20 . 21 . >>
 eXeL@B —› Основной форум —› Взлом прог под Симбиан
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати