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

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

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

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

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

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

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





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

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

перейти на нужное смещение в файле - меню Jump -> Jump to file offset...
если тебе нужен именно поиск, то смотри меню Search



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

Создано: 18 марта 2010 06:36
· Личное сообщение · #3

нет, мне нужен именно поиск последоватетьности шестнадцатиричных байт. В меню иды перебрал все Search (про галочки искать hex не забыл), но безрезультатно....хотя любым другим hex-редактором нахожу эти байты....




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

Создано: 18 марта 2010 09:29
· Личное сообщение · #4

Search -> sequence of bytes... -> выбираешь Hex -> вводишь в строке поиска что-то вроде B5 40 68 F9 (тут своё пишешь, но обязательно тоже с пробелами) -> OK



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

Создано: 18 марта 2010 13:58
· Личное сообщение · #5

блин, надо же было с пробелами...... Спасибо, intro



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

Создано: 31 марта 2010 20:51
· Личное сообщение · #6

Кстати, а подскажите, где можно поискать (сайт или книгу) по функциям, чтоб не "бодать" вас.... Гугл туфту выдает, абракадабра и квадратики...
К примеру, мне нужна инфа по:
__10TBufBase16i
Static__7CCoeEnv
AllocReadResourceAsDes16LC__C7CCoeEnvi
Copy__6TDes16RC7TDesC16
PopAndDestroy__12CleanupStack
memcpy

Отчасти догадываться о любой функции - не считаю правильным, хочу знать точно




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

Создано: 31 марта 2010 21:42
· Личное сообщение · #7

найти описания функций, параметров и возвращаемых результатов можно в хелпе от Symbian SDK. скачать можно на сайте forum.nokia.com



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

Создано: 02 апреля 2010 22:06
· Личное сообщение · #8

подскажите плиз. пе могу приручить иду
как заставить распознать в
Code:
  1. 00 20 05 38

именно
Code:
  1. MOVS    R0, #0
  2. SUBS    R0, #5

a не
Code:
  1. MOVS    R0, 0xFFFFFFFB




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

Создано: 03 апреля 2010 13:25 · Поправил: TolyaN3z
· Личное сообщение · #9

Написал тьюториал по обходу самозащиты приложения.
Качать отсюда (~1.2 Mb).



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

Создано: 28 апреля 2010 16:59
· Личное сообщение · #10

А кто-нибудь пытался по Ida55 запускать трассировку программы на symbian, а не прицепляться к запущенному процессу ?
В первом случае ошибка c:\progname.sis: general OS-related error. и Command "ProcessStart" failed.

Во втором случае нет возможности сделать бряк на GetPhoneId, так как вызов происходит до того, как я прицепляюсь к процессу.
Платформа S60 3rd Edition, Feature Pack 2, на тело установлен App TRK 3.1.2



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

Создано: 06 мая 2010 19:31
· Личное сообщение · #11

что за programme.sis !?
должен быть абсолютный путь к исполняемому файлу в папке bin, например c:\sys\bin\programme.exe



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

Создано: 07 мая 2010 06:49
· Личное сообщение · #12

Resco Photoviewer.
Скорее всего проблема запуска процесса отладки в том, что я не стал патчить тело на предмет полного доступа к сис.папкам.



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

Создано: 07 мая 2010 10:45
· Личное сообщение · #13

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



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

Создано: 08 августа 2010 12:06
· Личное сообщение · #14

пытаюсь написать костыль для одного файла в роме на RLibrary для обработки значения из моей библиотеки, но никак не могу разобраться с выделением памяти через AllocZL
кто-нибудь занимался таким? просьба откликнуться



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

Создано: 08 августа 2010 13:02 · Поправил: coderus
· Личное сообщение · #15

вот получившийся код.
Code:
  1. .text:80850996 30 B5                       PUSH    {R4,R5,LR}
  2. .text:80850998 04 00                       MOVS    R4, R0
  3. .text:8085099A 0C 20                       MOVS    R0, #0xC
  4. .text:8085099C 00 F0 7A E8                 BLX     User::AllocZL(int)
  5. .text:808509A0 05 00                       MOVS    R5, R0
  6. .text:808509A2 00 00                       MOVS    R0, R0
  7. .text:808509A4 00 00                       MOVS    R0, R0
  8. .text:808509A6 00 F0 6A E8                 BLX     CleanupStack::PushL(CBase *)
  9. .text:808509AA 28 00                       MOVS    R0, R5
  10. .text:808509AC 21 00                       MOVS    R1, R4
  11. .text:808509AE 00 F0 26 F8                 BL      loc_808509FE
  12. .text:808509B2 00 F0 60 E8                 BLX     CleanupStack::Pop(void)
  13. .text:808509B6 20 1D                       ADDS    R0, R4, #4
  14. .text:808509B8 30 BD                       POP     {R4,R5,PC}
  15.  
  16. ...........
  17.  
  18. .text:808509D8 05 00 00 00+aFxLib          DCD 5                   ; DATA XREF: .text:80850A04o
  19. .text:808509D8 46 00 78 00+                                        ; .text:off_80850A20o
  20. .text:808509D8 4C 00 69 00+                unicode 0, <FxLib>
  21.  
  22. ..........
  23.  
  24. .text:808509FE 30 B5                       PUSH    {R4,R5,LR}
  25. .text:80850A00 04 00                       MOVS    R4, R0
  26. .text:80850A02 0D 00                       MOVS    R5, R1
  27. .text:80850A04 06 4A                       LDR     R2, =aFxLib     ; "FxLib"
  28. .text:80850A06 20 00                       MOVS    R0, R4
  29. .text:80850A08 11 00                       MOVS    R1, R2
  30. .text:80850A0A 00 F0 48 E8                 BLX     RLibrary::Load(TDesC16  const&, TDesC16  const&)
  31. .text:80850A0E 01 21                       MOVS    R1, #1
  32. .text:80850A10 20 00                       MOVS    R0, R4
  33. .text:80850A12 00 F0 48 E8                 BLX     RLibrary::Lookup(int)const
  34. .text:80850A16 01 00                       MOVS    R1, R0
  35. .text:80850A18 28 00                       MOVS    R0, R5
  36. .text:80850A1A 88 47                       BLX     R1
  37. .text:80850A1C 30 BD                       POP     {R4,R5,PC}
  38. .text:80850A1E             ; ---------------------------------------------------------------------- -----
  39. .text:80850A1E 00 00                       MOVS    R0, R0
  40. .text:80850A1E             ; ---------------------------------------------------------------------- -----
  41. .text:80850A20 D8 09 85 80 off_80850A20    DCD aFxLib              ; DATA XREF: .text:80850A04r
  42. .text:80850A20                                                     ; "FxLib"




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

Создано: 11 августа 2010 23:45 · Поправил: Koluchy
· Личное сообщение · #16

Народ, подмогните, если не трудно...
Значит, так, если по порядку:
1. Есть программка FSCaller для S60 5th (недавно с ихнего сайта скачал - версия 4.0). Пытаюсь её обезвредить.
2. IDA 5.5 + распакованная elftran'om прога на девайсе (5530) подружились.
3. Нашел место проверки кода регистрации...точнее, даже где его подсмотреть можно, но...
вот тут начинается самое интересное для меня)))
Во-первых, бряки срабатывают ТОЛЬКО "Stop on debugging start", "Stop on library load/unload" и при аттаче к уже запущенному процессу. Никакие другие варианты у меня не прокатывают почему-то вообще никак.
Во-вторых, код, который мне нужен для отладки, преврашается в мусор (причем уже в момент срабатывания бряка при старте дебага - при "Stop on debugging start"). Опять же, не весь код, а его часть...оставшаяся (нормальная) часть также на бряки ноль реакции.
В дистрибутиве есть три exe-шника: один основной, один с дублированием некоторых (в том числе "проверочных") функций основного и ещё какой-то шнягой непонятной и третий, маленький, имхо, тоже не по теме.
Была мысль, что проверка выполняется другим (втооым) файлом, так нет, я его тупо переименовал - никакой реакции проги вообще, как будто ничего не произошло...
Что делать? Неужели навесное что-то? Хотя, по уровню защиты не сказал бы - там всё более-менее прозрачно...
Что мне делать, куда копать? Есть мысли? Если надо, могу .idc-шник своей базы залить..
P.s.: если уже сломана, это, конечно, здорово, но мне уже тупо обидно))) Задавал вопрос на ренге, но там что-то глухо(




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 12 августа 2010 11:04 · Поправил: daFix
· Личное сообщение · #17

Koluchy
Возможно код копируется в какие нибудь системные вункции и вызывается под видом вызова невзрачной системной функции. Я так делал в своём кейгенми

ADDED
Koluchy
Да, понял правильно

intro
Сорри, не знал, больше не буду не в свою степь лезть))) Да, под винду

-----
Research For Food




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

Создано: 12 августа 2010 13:43
· Личное сообщение · #18

daFix, предположим...это, если я правильно понял (по аналогии с виндой) что-то наподобие перехвата API получается?
Т.е. алгоритм (примерно) такой :
выделяется память под скрываемый код проги, он туда копируется, затирается в исходном месте, на входе в сис.функцию делается переходник на скопированный код проги, код запоминает аргументы, переданные сис. функции, отрабатывает и возвращает ей управление. Так?

И ещё вопрос - когда это делается? на каком этапе? и сразу в догонку) какие функции Симбы работают с памятью процесса (есть ли аналоги Read(Write)ProcessMemory виндовых).




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

Создано: 12 августа 2010 14:01 · Поправил: intro
· Личное сообщение · #19

daFix, под симбианом такое вообще маловероятно, это даже и близко не венда. кейгенми ведь явно не под симбиан был?

Koluchy, образ подгруженный в иду и на телефоне один и тот же? бряки должны работать не только "stop on...". на остальных прогах нормально останавливается? попробуй что-нибудь другое запустить на отладку. навесного там ничего никогда не было. три exe-шника, вернее даже не три, а пять в сумме, там потому что один для автозапуска, а четыре оставшихся это и есть сама программа. два (это соответственно сама прога и один что-то вроде конфигуратора) из них для S60 5th, а два других для S60 3rd. так что для начала убедись, что ты нужный ковыряешь.



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

Создано: 12 августа 2010 15:04 · Поправил: Koluchy
· Личное сообщение · #20

intro, ну да, в инсталляшке так и есть) Я про файлы на девайсе говорил)
На 90% уверен, что основной - это FSCaller_2000fe63.exe (его, соответственно и разбираю). Процесс при паузе морозится. В списке процессов он вообще один (из трёх), кстати. При запуске остальных на девайсе ничего не происходит.
Образ в Иде и девайсе один и тот же - я после распаковки заменил старый файл в установочном пакете на распакованный. Да Ида (вроде) и не позволяет разные файлы дебажить...но на всякий случай ещё раз посмотрю, мало ли))) Бряки на других прогах проверю вечером, но до FSCaller'a бряки ствились/срабатывали нормально.
А что там с работой с памятью (запись/чтение) под Симбиан? Т.е. получается, что перехват (в терминах винды) здесь нереален (оч.сложен?)?
P.s.: а это что за чудо - UserHeap::SetupThreadHeap(int, SStdEpocThreadCreateInfo &)? В карбидхэлпе нек нашел такого метода у UserHeap...




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

Создано: 12 августа 2010 15:41
· Личное сообщение · #21

перепроверь правильно ли ты запускаешь файл на отладку. там всё без проблем работает, отладка, бряки и проблема с регистрацией решается правкой 1 байта.

перехват как в винде тут невозможен.

SetupThreadHeap какая-то внутренняя функция для установки параметров кучи для текущего треда.



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

Создано: 12 августа 2010 15:49
· Личное сообщение · #22

intro, спасибо, понял) То, что защита - лажа - это я уже давно уяснил))) Блин, что же может неправильно-то быть? ( Ладно, вечером всё перепроверю. Ещё раз спасибо!



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

Создано: 12 августа 2010 21:55
· Личное сообщение · #23

Блин) надо было так лопухнуться))) А всё из-за моей уверенности, что Ида не будет дебажить разные файлы)
intro, ты был прав - я другой exe-шник отлаживал) Вопрос снимаю.
P.s.: если кому надо, могу (для S60 5th) место проверки написать - там ключик реальный светится...



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

Создано: 15 августа 2010 09:29
· Личное сообщение · #24

конечно пиши, думаю будет интересно посмотреть



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

Создано: 16 августа 2010 23:30
· Личное сообщение · #25

Сдампил базу в IDC-файл. В аттачменте...Нужная функция "Verify_Reg_Code" - их две похожих...после неё идет сравнение рассчитанного (валидного) ключа с введённым. Ключики в регистрах. Перед тем, как ввести ключ в проге, надо сначала его в десятичную систему перевести. Да там всё вроде достаточно прозрачно...

0d94_16.08.2010_CRACKLAB.rU.tgz - FSCaller_0x2000FE63.rar



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

Создано: 17 августа 2010 17:03
· Личное сообщение · #26

спасибо конечно, но лучше было базу)
тогда прошу еще тот самый экзешник



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

Создано: 17 августа 2010 17:30 · Поправил: Koluchy
· Личное сообщение · #27

coderus
Не совсем понимаю, для чего это тебе) Но если надо, то лови). В аттаче - распакованный exe-шник для S60 5th.
P.s.: тут в принципе, закейгенить бы - выглядит всё просто, но я, к сожалению, слабоват в прогонаписании) тем более для ARM'a)
934f_17.08.2010_CRACKLAB.rU.tgz - FSCaller_0x2000FE63.exe



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

Создано: 19 августа 2010 19:30
· Личное сообщение · #28

как зачем, ну скачал я его, а там куча разных экзешников в пакете в зависимости от версии ставятся, а все тыкать лениво :-[
спасибо!

продолжаю копать основы мироздания.
может кто нибудь как работает вызов по указателю что ли (или что это такое там):
Code:
  1. .code:000082F4 45 04 00 EB                             BL      CHWRMLight::NewL(void)
  2. .code:000082F8 01 10 A0 E3                             MOV     R1, #1
  3. .code:000082FC 01 20 A0 E1                             MOV     R2, R1
  4. .code:00008300 00 C0 90 E5                             LDR     R12, [R0]
  5. .code:00008304 00 30 A0 E3                             MOV     R3, #0
  6. .code:00008308 00 40 A0 E1                             MOV     R4, R0
  7. .code:0000830C 0F E0 A0 E1                             MOV     LR, PC
  8. .code:00008310 10 F0 9C E5                             LDR     PC, [R12,#0x10]
  9. .code:00008314 11 2E A0 E3                             MOV     R2, #0x110
  10. .code:00008318 00 C0 94 E5                             LDR     R12, [R4]
  11. .code:0000831C 05 20 82 E0                             ADD     R2, R2, R5
  12. .code:00008320 04 00 A0 E1                             MOV     R0, R4
  13. .code:00008324 05 10 A0 E1                             MOV     R1, R5
  14. .code:00008328 00 50 8D E5                             STR     R5, [SP]
  15. .code:0000832C BB 30 A0 E3                             MOV     R3, #0xBB
  16. .code:00008330 0F E0 A0 E1                             MOV     LR, PC
  17. .code:00008334 20 F0 9C E5                             LDR     PC, [R12,#0x20]
  18. .code:00008338 AB 2E A0 E3                             MOV     R2, #0xAB0
  19. .code:0000833C 04 00 A0 E1                             MOV     R0, R4
  20. .code:00008340 05 10 A0 E1                             MOV     R1, R5
  21. .code:00008344 05 30 A0 E1                             MOV     R3, R5
  22. .code:00008348 00 C0 94 E5                             LDR     R12, [R4]
  23. .code:0000834C 0C 20 82 E2                             ADD     R2, R2, #0xC
  24. .code:00008350 0F E0 A0 E1                             MOV     LR, PC
  25. .code:00008354 38 F0 9C E5                             LDR     PC, [R12,#0x38]
  26. .code:00008358 82 C0 A0 E3                             MOV     R12, #0x82
  27. .code:0000835C F1 30 A0 E3                             MOV     R3, #0xF1
  28. .code:00008360 00 60 94 E5                             LDR     R6, [R4]
  29. .code:00008364 04 00 A0 E1                             MOV     R0, R4
  30. .code:00008368 00 30 8D E5                             STR     R3, [SP]
  31. .code:0000836C 05 10 A0 E1                             MOV     R1, R5
  32. .code:00008370 DA 20 A0 E3                             MOV     R2, #0xDA
  33. .code:00008374 06 30 43 E2                             SUB     R3, R3, #6
  34. .code:00008378 04 C0 8D E5                             STR     R12, [SP,#4]
  35. .code:0000837C 0F E0 A0 E1                             MOV     LR, PC
  36. .code:00008380 2C F0 96 E5                             LDR     PC, [R6,#0x2C]
  37. .code:00008384 04 00 A0 E1                             MOV     R0, R4
  38. .code:00008388 05 10 A0 E1                             MOV     R1, R5
  39. .code:0000838C 00 30 94 E5                             LDR     R3, [R4]
  40. .code:00008390 0F E0 A0 E1                             MOV     LR, PC
  41. .code:00008394 14 F0 93 E5                             LDR     PC, [R3,#0x14]


получено из
Code:
  1. void Test()
  2. {
  3.          CHWRMLight* aLight;
  4.          TInt debug;
  5.          aLight = CHWRMLight::NewL();
  6.          debug = 0x12;
  7.          aLight->ReserveLightL(CHWRMLight::EPrimaryDisplay, ETrue, EFalse );
  8.          debug = 0x23;
  9.          aLight->LightOnL(CHWRMLight::EPrimaryDisplay, 0x111, 0xbb, ETrue);
  10.          debug = 0x34;
  11.          aLight->LightOffL(CHWRMLight::EPrimaryDisplay, 0xabc, ETrue);
  12.          debug = 0x45;
  13.          aLight->LightBlinkL(CHWRMLight::EPrimaryDisplay, 0xda, 0xeb, 0xf1, 0x82);
  14.          debug = 0x56;
  15.          aLight->ReleaseLight(CHWRMLight::EPrimaryDisplay);
  16.          debug = 0x67;
  17.          
  18. }


два часа медитирую))
может кто-нибудь на чем-то похожем на человеческие пальцы объяснить как оно работает?



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

Создано: 19 августа 2010 19:58
· Личное сообщение · #29

coderus
http://exelab.ru/f/action=vthread&forum=1&topic=5963&page= 18#22
начни с этого сообщения читать, если я правильно понял, подобный твоему вопрос в конце этого сообщения. Дальше ему [wl] ответил...



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

Создано: 20 августа 2010 11:23
· Личное сообщение · #30

да действительно похоже. те самые виртуальные методы получаются...
неудобоваримо так для анализа %)



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

Создано: 30 августа 2010 14:56
· Личное сообщение · #31

отладка в иде 5.5
можно ли сделать брейк по появлению в каком то из регистров заданного значения?


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