Сейчас на форуме: 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 ~




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 17 февраля 2008 13:44
· Личное сообщение · #2

[HEX] пишет:
.text:10000684 ADR R1, off_10000690
.text:10000688 B Copy__6TDes16RC7TDesC16 ; TDes16::Copy(TDesC16 const &)

Ты вызываешь функцию класса, у тебя в R0 должен быть указатель на одинэкземпляр класса TDes16, а в R1 указатель на второй экземпляр. Я хз что у тебя там попадает через R0 в функцию fake_IMEI().

-----
Реверсивная инженерия - написание кода идентичного натуральному





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

Создано: 17 февраля 2008 14:50 · Поправил: [HEX]
· Личное сообщение · #3

Hexxx
Эмм.... что то не въехал В R0 помещается источник, а в R1 указатель куда помещается копия? Или наоброт? Или я вообще не верно мыслю

-----
Computer Security Laboratory




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 17 февраля 2008 21:13 · Поправил: Hexxx
· Личное сообщение · #4

Во-первых ты вызываешь TDes16::Copy() - это метод класса TDes16, а не какую-то там memcpy(). В методы класса первым параметром всегда передается указатель на экземпляр класса. На ARMе указатель на экземпляр класса передается через R0, а на x86 - через ecx. Если ты хочешь вызвать метод класса, то убедись что в R0 у тебя указатель на класс TDes16.

Во-вторых TDes16::Copy(TDesC16 const &) принимает как параметр, ссылку на класс TDesC16. Класс TDesC16 - это тебе не просто указатель на строку "366666666666666". Класс TDesC16 - это вот такая структура:
class TDesC16
{
TUint iLength;
wchar_t Data[iLength];
}

Т.е. в начале идут 4 байта - длина строки, а после них уже идет уникодовая строка.
Так вот, в TDes16::Copy() надо в R1 передавать указатель на вот такую структуру.

p.s. Надо хотя бы немножко попрограммировать под Symbian. И такие вопросы возникать не будут.

-----
Реверсивная инженерия - написание кода идентичного натуральному





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

Создано: 18 февраля 2008 11:19
· Личное сообщение · #5

Hexxx
Спасибо буду разбираться. Программить вроде нечего под Симбу поэтому столько и недопониманий

P.S. В R1 я и передаю аналогичную структуру. Сначала 4 байта длины строки, а дальше сама строчка юникодовая.

-----
Computer Security Laboratory





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

Создано: 18 февраля 2008 16:00 · Поправил: [HEX]
· Личное сообщение · #6

Hexxx
Посидел посмотрел...

.text:10000F78 loc_10000F78 ; CODE XREF: start+11Cp
.text:10000F78 ; sub_1000841C+40p ...
.text:10000F78 STMFD SP!, {R4,R5,LR}
.text:10000F7C MOV R5, R0
.text:10000F80 ADD R4, R5, #0x20
.text:10000F84 MOV R0, R4
.text:10000F88 LDR R1, [R4,#4]
.text:10000F8C BL FillZ__6TDes16i ; TDes16::FillZ(int)
.text:10000F90 MOV R0, R4
.text:10000F94 BL Zero__6TDes16 ; TDes16::Zero(void)
.text:10000F98 CMP R5, #0
.text:10000F9C MOVEQ R0, R5
.text:10000FA0 ADDNE R0, R5, #0x18
.text:10000FA4 ADD R1, R5, #0x20
.text:10000FA8 CMP R0, #0
.text:10000FAC BLNE __7TPtrC16RC7TDesC16
.text:10000FB0 ADD R0, R5, #0x20
.text:10000FB4 BL GetMachineIdL__10PlpVariantRt4TBuf1i128 ; PlpVariant::GetMachineIdL(TBuf<128> &)
.text:10000FB8 CMP R5, #0
.text:10000FBC MOVEQ R0, R5
.text:10000FC0 ADDNE R0, R5, #0x18
.text:10000FC4 ADD R1, R5, #0x20
.text:10000FC8 CMP R0, #0
.text:10000FCC BLNE __7TPtrC16RC7TDesC16
.text:10000FD0 LDMFD SP!, {R4,R5,LR}
.text:10000FD4 BX LR


И теоретически все вроде верно. В R0 перед вызовом GetMachineID помещается ссылка на класс TBuf<128> что помоему тоже самое что и TDesC16.
Дальше кладу в R1 указатель на готовую структуру
.text:1000DA80 00 00 00 00 0F 00 00 00 31 00 32 00 33 00 34 00 ....¤...1.2.3.4.
.text:1000DA90 35 00 36 00 37 00 38 00 39 00 30 00 31 00 32 00 5.6.7.8.9.0.1.2.
.text:1000DAA0 33 00 34 00 35 00 00 00


Вызываю Copy вместо GetMachineID дальше возвращаюсь...

Но ничего не выходит Валиться прога...

P.S. Результат выполнения функции возвращается в регистр R5 ?

-----
Computer Security Laboratory





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

Создано: 18 февраля 2008 17:22
· Личное сообщение · #7

[HEX] вот, набросал кое-что, смотри:

имеем следующую функцию:

void xxx:GetImei(TDes& aImei)
{
//таким образом получаем реальный imei
TPlpVariantMachineId imei;
PlpVariant::GetMachineIdL(imei);
aImei.Copy(imei);

//а вот таким подставляем нужное нам значение
aImei.Copy(_L("123456789012345"));
}


и вот как всё это выглядит:

.code:100001B4 ;
.code:100001B4
.code:100001B4
.code:100001B4 sub_100001B4 ; CODE XREF: sub_10000210+98p
.code:100001B4
.code:100001B4 var_114 = -0x114
.code:100001B4
.code:100001B4 STMFD SP!, {R4,R5,LR}
.code:100001B8 SUB SP, SP, #0x110
.code:100001BC MOV R5, R1
.code:100001C0 ADD R0, SP, #0x11C+var_114
.code:100001C4 MOV R1, #0x80
.code:100001C8 BL TBufBase16::TBufBase16(int)
.code:100001CC ADD R4, SP, #0x11C+var_114
.code:100001D0 MOV R0, R4
.code:100001D4 BL PlpVariant::GetMachineIdL(TBuf<128> &)
.code:100001D8 MOV R0, R5
.code:100001DC MOV R1, R4
.code:100001E0 BL TDes16::Copy(TDesC16 const &)
.code:100001E4 MOV R0, SP
.code:100001E8 LDR R1, =a12345678901234
.code:100001EC BL TPtrC16::TPtrC16(ushort const *)
.code:100001F0 MOV R0, R5
.code:100001F4 MOV R1, SP
.code:100001F8 BL TDes16::Copy(TDesC16 const &)
.code:100001FC B loc_10000204
.code:100001FC ; ---------------------------------------------------------------------- -----
.code:10000200 off_10000200 DCD a12345678901234 ; DATA XREF: sub_100001B4+34r
.code:10000200 ; "123456789012345"
.code:10000204 ; ---------------------------------------------------------------------- -----
.code:10000204
.code:10000204 loc_10000204 ; CODE XREF: sub_100001B4+48j
.code:10000204 ADD SP, SP, #0x110
.code:10000208 LDMFD SP!, {R4,R5,LR}
.code:1000020C BX LR
.code:1000020C ; End of function sub_100001B4
.code:1000020C
.code:10000210
.code:10000210 ;


.code:100010C0 00 00 00 00 33 94 EE 06 31 00 32 00 33 00 34 00 ....3Фю1.2.3.4.
.code:100010D0 35 00 36 00 37 00 38 00 39 00 30 00 31 00 32 00 5.6.7.8.9.0.1.2.
.code:100010E0 33 00 34 00 35 00 00 00 00 00 00 00 00 00 00 00 3.4.5...


надеюсь теперь разберёшься ;)




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

Создано: 18 февраля 2008 17:23 · Поправил: [wl]
· Личное сообщение · #8

в r5 хранится какой-то класс, по адресу 0x20 которого хранится переменная что-то типа TBuf<32> iImeiStr;
именно эта переменная передается в функцию взятия имея (ADD R0, R5, #0x20)
по идее твоя функция должна работать, только что-то мне тоже кажется, что нужно делать LDR, а не ADR

вот немного по другому скомпилировал код, может более ясно будет, без лишних преобразований
TBuf<128> aImei; - переменная класса


_LIT(fake, "123456789012345");
void CGuiTestAppUi::GetImei()
{
//таким образом получаем реальный imei
//TPlpVariantMachineId imei;
PlpVariant::GetMachineIdL(aImei);
//aImei.Copy(imei);

//а вот таким подставляем нужное нам значение
aImei.Copy(fake);
}



.text:10000138 sub_10000138
.text:10000138 STMFD SP!, {R4,LR}
.text:1000013C ADD R4, R0, #0x44
.text:10000140 MOV R0, R4
.text:10000144 BL PlpVariant::GetMachineIdL(TBuf<128> &)
.text:10000148 MOV R0, R4
.text:1000014C LDR R1, =a12345678901234
.text:10000150 BL TDes16::Copy(TDesC16 const &)
.text:10000154 B loc_1000015C
.text:10000154 ; ---------------------------------------------------------------------- -----
.text:10000158 off_10000158 DCD a12345678901234 ; DATA XREF: sub_10000138+14r
.text:10000158 ; "123456789012345"
.text:1000015C ; ---------------------------------------------------------------------- -----
.text:1000015C
.text:1000015C loc_1000015C ; CODE XREF: sub_10000138+1Cj
.text:1000015C LDMFD SP!, {R4,LR}
.text:10000160 BX LR
.text:10000160 ; End of function sub_10000138





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

Создано: 18 февраля 2008 23:24
· Личное сообщение · #9

блин... ну чтож такое то... Опять я чтоли что то не то делаю?

Вот оригинальный кусок кода:
.text:10000F78 STMFD SP!, {R4,R5,LR}
.text:10000F7C MOV R5, R0
.text:10000F80 ADD R4, R5, #0x20
.text:10000F84 MOV R0, R4
.text:10000F88 LDR R1, [R4,#4]
.text:10000F8C BL FillZ__6TDes16i ; TDes16::FillZ(int)
.text:10000F90 MOV R0, R4
.text:10000F94 BL Zero__6TDes16 ; TDes16::Zero(void)
.text:10000F98 CMP R5, #0
.text:10000F9C MOVEQ R0, R5
.text:10000FA0 ADDNE R0, R5, #0x18
.text:10000FA4 ADD R1, R5, #0x20
.text:10000FA8 CMP R0, #0
.text:10000FAC BLNE __7TPtrC16RC7TDesC16
.text:10000FB0 ADD R0, R5, #0x20
.text:10000FB4 BL GetMachineIdL__10PlpVariantRt4TBuf1i128 ; PlpVariant::GetMachineIdL(TBuf<128> &)
.text:10000FB8 CMP R5, #0
.text:10000FBC MOVEQ R0, R5
.text:10000FC0 ADDNE R0, R5, #0x18
.text:10000FC4 ADD R1, R5, #0x20
.text:10000FC8 CMP R0, #0
.text:10000FCC BLNE __7TPtrC16RC7TDesC16
.text:10000FD0 LDMFD SP!, {R4,R5,LR}
.text:10000FD4 BX LR


Ловкость рук и получаем такое:
.text:10000F78 STMFD SP!, {R4,R5,LR}
.text:10000F7C MOV R5, R0
.text:10000F80 ADD R4, R5, #0x20
.text:10000F84 MOV R0, R4
.text:10000F88 LDR R1, [R4,#4]
.text:10000F8C BL FillZ__6TDes16i ; TDes16::FillZ(int)
.text:10000F90 MOV R0, R4
.text:10000F94 BL Zero__6TDes16 ; TDes16::Zero(void)
.text:10000F98 CMP R5, #0
.text:10000F9C MOVEQ R0, R5
.text:10000FA0 ADDNE R0, R5, #0x18
.text:10000FA4 ADD R1, R5, #0x20
.text:10000FA8 CMP R0, #0
.text:10000FAC BLNE __7TPtrC16RC7TDesC16
.text:10000FB0 ADD R0, R5, #0x20
.text:10000FB4 BL GetMachineIdL__10PlpVariantRt4TBuf1i128 ; PlpVariant::GetMachineIdL(TBuf<128> &)
.text:10000FB8 B loc_10000684
....

....
.text:10000684 loc_10000684 ; CODE XREF: start+FB8j
.text:10000684 ADD R0, R5, #0x20
.text:10000688 LDR R1, =a12345678901234
.text:1000068C BL Copy__6TDes16RC7TDesC16 ; TDes16::Copy(TDesC16 const &)
.text:10000690 ADD R0, R5, #0x18
.text:10000694 ADD R1, R5, #0x20
.text:10000698 BL __7TPtrC16RC7TDesC16
.text:1000069C LDMFD SP!, {R4,R5,LR}
.text:100006A0 BX LR
.text:100006A0 ; ---------------------------------------------------------------------- -----
.text:100006A4 off_100006A4 DCD a12345678901234 ; DATA XREF: start+688r
.text:100006A4 ; "123456789012345"
.text:100006A8 ; ---------------------------------------------------------------------- -----
....

....
.text:1000DA80 00 00 00 00 0F 00 00 00 31 00 32 00 33 00 34 00 ....¤...1.2.3.4.
.text:1000DA90 35 00 36 00 37 00 38 00 39 00 30 00 31 00 32 00 5.6.7.8.9.0.1.2.
.text:1000DAA0 33 00 34 00 35 00 00 00
....


В итоге очередной вылет

-----
Computer Security Laboratory





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

Создано: 19 февраля 2008 15:24
· Личное сообщение · #10

а почему не сделать так?
....
.text:10000FB4 BL loc_10000684
....
.text:10000684 LDR R1, =a12345678901234
.text:10000688 BL Copy__6TDes16RC7TDesC16 ; TDes16::Copy(TDesC16 const &)
.text:1000068C BX LR




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

Создано: 19 февраля 2008 16:23
· Личное сообщение · #11

[wl]
Помоему я это делал второй своей попыткой.
Щас попробовал еще раз и опять тот же эффект
Потихоньку здают нервы....

.text:10000F78 loc_10000F78 ; CODE XREF: start+11Cp
.text:10000F78 ; sub_1000841C+40p ...
.text:10000F78 STMFD SP!, {R4,R5,LR}
.text:10000F7C MOV R5, R0
.text:10000F80 ADD R4, R5, #0x20
.text:10000F84 MOV R0, R4
.text:10000F88 LDR R1, [R4,#4]
.text:10000F8C BL FillZ__6TDes16i ; TDes16::FillZ(int)
.text:10000F90 MOV R0, R4
.text:10000F94 BL Zero__6TDes16 ; TDes16::Zero(void)
.text:10000F98 CMP R5, #0
.text:10000F9C MOVEQ R0, R5
.text:10000FA0 ADDNE R0, R5, #0x18
.text:10000FA4 ADD R1, R5, #0x20
.text:10000FA8 CMP R0, #0
.text:10000FAC BLNE __7TPtrC16RC7TDesC16
.text:10000FB0 ADD R0, R5, #0x20
.text:10000FB4 BL loc_10000684
.text:10000FB8 ; ---------------------------------------------------------------------- -----
.text:10000FB8 CMP R5, #0
.text:10000FBC MOVEQ R0, R5
.text:10000FC0 ADDNE R0, R5, #0x18
.text:10000FC4 ADD R1, R5, #0x20
.text:10000FC8 CMP R0, #0
.text:10000FCC BLNE __7TPtrC16RC7TDesC16
.text:10000FD0 LDMFD SP!, {R4,R5,LR}
.text:10000FD4 BX LR
.text:10000FD8 ; ---------------------------------------------------------------------- -----
...

...
.text:10000684 ; ---------------------------------------------------------------------- -----
.text:10000684
.text:10000684 loc_10000684 ; CODE XREF: start+FB4j
.text:10000684 LDR R1, =a12345678901234
.text:10000688 BL Copy__6TDes16RC7TDesC16 ; TDes16::Copy(TDesC16 const &)
.text:1000068C BX LR
.text:1000068C ; ---------------------------------------------------------------------- -----
.text:10000690 off_10000690 DCD a12345678901234 ; DATA XREF: start:loc_10000684r
.text:10000690 ; "123456789012345"
.text:10000694 ; ---------------------------------------------------------------------- -----
...

...
.text:1000DA80 00 00 00 00 0F 00 00 00 31 00 32 00 33 00 34 00 ....¤...1.2.3.4.
.text:1000DA90 35 00 36 00 37 00 38 00 39 00 30 00 31 00 32 00 5.6.7.8.9.0.1.2.
.text:1000DAA0 33 00 34 00 35 00 00 00
...


Меня почему то еще смущает что Ида конец функции пунктиром отделила после BL. Хотя ведь это не конец еще и будет возврат.

-----
Computer Security Laboratory




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

Создано: 09 марта 2008 23:56
· Личное сообщение · #12

Конечно же все,у кого есть опыт с Simbian в курсе того,что бывают приложения - где не весь языковой ресурс содержится в RSC файлах, остальное может храниться в EXEшнике проги. Отсюда вопрос: чем расковырять этот EXEшник для последующей его обработки в "RSC Ed" и, собственно обратной запаковке ?



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

Создано: 10 марта 2008 05:18
· Личное сообщение · #13

Помидорами за прошлое сообщение не закидывайте,так как только начинаю (на данном этапе занимаюсь руссификацией и модификацией). Ладно, уже нашел что нужно...



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

Создано: 17 марта 2008 16:59
· Личное сообщение · #14

Могу помочь с тестированием програм, т.к. есть доступ к папкам sys и private на дисках c: и e:
Система Symbian 9.1




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

Создано: 17 марта 2008 17:05 · Поправил: intro
· Личное сообщение · #15

Deman81:
есть доступ к папкам sys и private на дисках c: и e:
Система Symbian 9.1


это в наши дни не редкость



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

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

ну если помощь не нужна, то может кто подскажет есть ли какая-нибудь возможность хотябы в теории обхода DRM common solution 1.06?




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

Создано: 17 марта 2008 17:43
· Личное сообщение · #17

Deman81:
есть ли какая-нибудь возможность хотябы в теории обхода DRM common solution 1.06?


защита там кроется в DRMCommonConnector.dll, так что замена оригинальной дллки на поправленную версию решит проблему для всего комплекса прог от Psiloc.



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

Создано: 17 апреля 2008 08:22 · Поправил: vixen
· Личное сообщение · #18

Подскажите, почему при исследовании Symbian-программ (в частности под UIQ3) в IDA не показывается реальное смещение в исходном файле, в поле адрес значится только "Unknown", виден только относительный адрес? Поиск в файле по HEX значениям через HEX-редактор также не приносит результата, такие значения отсутствуют! В итоге пропатчить файл не представляется возможным В чем ошибка?

p.s. с программами под series60 все ок, в IDA показаны реальные оффсеты и поиск по HEX коду в программе проходит на ура.



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

Создано: 17 апреля 2008 08:30
· Личное сообщение · #19

Распакуй petran'ом для начала. Не важно series60 или UIQ, если файл запакован - ты естественно не найдешь этих байт (IDA пишет "Unknown" на запакованных файлах)



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

Создано: 17 апреля 2008 09:36
· Личное сообщение · #20

Спасибо,помогло
При запаковке в sis-архив нужно ли запаковывать exe-шник?




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

Создано: 17 апреля 2008 11:01
· Личное сообщение · #21

Не обязательно, по крайней мере на s60v3. Но можно и запаковать (petran.exe -compress your.exe).



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

Создано: 17 апреля 2008 16:47
· Личное сообщение · #22

Добрый вечер всем.

Имеется динамическая библиотека z:\sys\bin\lcdhandlerclient.dll, используемая в приложении Servicemenus.exe. (секретное сервисное меню UIQ3) Похоже с ее помощью идет управление подсветкой клавиатуры (вкл/выкл) в тестах. Имеется ли возможность получения из данной dll-ки файлов dso и lib для использования в c++ программе.
Или существует другой способ программного управления подсветкой клавиатуры? Работа через HAL результата не дает.




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

Создано: 18 апреля 2008 00:21
· Личное сообщение · #23

RLibrary::Load грузит длл



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

Создано: 18 апреля 2008 21:50
· Личное сообщение · #24

В папке z:\sys\bin (UIQ3) имеется "куча" файлов .dll .exe в формате : "...not a valid E32Image file". Например: apsclient.dll, aps.exe. Во всяком случае petran их не понимает. И с чем их "едят"?




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

Создано: 18 апреля 2008 22:37
· Личное сообщение · #25

Вероятнее всего эти файлы попросту не запакованы petran'ом, на S60v3 такие файлы тоже есть. Причём в иде грузить их надо со стандартным лоадером.




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

Создано: 19 апреля 2008 16:07
· Личное сообщение · #26

не совсем - просто эти файлы на самом деле лежат не на диске Z:\, а в роме (т.н. CoreOS), они не являются стандарными dll, так как не имеют секции импорта и релоков, и выполняются методом XIP (execute in place), не загружаясь в оперативную память (хотя конечно, на деле при загрузке симбиана вся область CoreOS грузится в оперативку, благодаря чему оказалось возможным его править, отключить капабилити к примеру).
среди таких файлов есть, к примеру euser.dll, ekern.exe и много других. чтобы изучать такие файлы, нужно грузить в IDA весь CoreOS, а получить его можно с помощью программы, которую можно утянуть с сайта Hexxx'а



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

Создано: 19 апреля 2008 20:49
· Личное сообщение · #27

Тогда такой вопрос: Будет ли RLibrary грузить и "лукапить" функции из подобных dll, и еще нужны ли программе специальные "капсы", превышающие уровень "обычного" сертификата разработчика для загрузки и работы с библиотеками с диска Z и CoreOS.




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

Создано: 20 апреля 2008 03:48 · Поправил: [wl]
· Личное сообщение · #28

естественно грузятся, поведение в системе ничем не отличается, за исключением того момента, что отладчику искусственно запрещено чтение области РОМ, из-за чего он падает при попытке протрассировать оттуда функции.
загрузить ты сможешь любую длл, но для вызова функций иногда действительно потребуются недоступные капсы (например, DiskAdmin для прямого чтения секторов дисков). А чем так смущают капабилити? мне казалось, что про них уже давно можно смело забыть



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

Создано: 20 апреля 2008 14:35
· Личное сообщение · #29

[wl] - спасибо за дельные советы. Действительно все грузится и даже выполняется Получается выкл/вкл подсветку клавы P1i и управлять яркостью подсветки дисплея без HAL-a. Для этого достаточно иметь PowerMgmt( предоставляется "стандартным" сертификатом). По свободе будем думать что с этим сделать



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

Создано: 26 мая 2008 10:06 · Поправил: vixen
· Личное сообщение · #30

Вопрос: возможно ли вместо вызова функции CTelephonyGetPhoneId() прописать в регист (напр. R0) своё значение IMEI? И как это можно реализовать?

Почитал SDK, не совсем понял. В частности в каком виде возвращается IMEI(iSerialNumber) (строка или число)?




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

Создано: 26 мая 2008 12:06
· Личное сообщение · #31

vixen
Мои предыдущие посты как раз по этой теме. Так что читай и зучай.

-----
Computer Security Laboratory



<< 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 » Выход » ЛС
   Для печати Для печати