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




Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 23 октября 2009 08:26 · Поправил: Hugo Chaves
· Личное сообщение · #2

intro

intro пишет:
Отладчик есть в новых версиях IDA


Спасибо за ответ. А какие файлы можно отлаживать в этой версии IDA ?

Погуглил . Нашёл h**p://www.hex-rays.com/idapro/debugger/symbian_primer.pdf
В общем девайс всё равно нужен для отладки.




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

Создано: 23 октября 2009 09:47
· Личное сообщение · #3

А какие файлы можно отлаживать в этой версии IDA ?
Исполняемые, скомпилированные под девайс. Да, девайс всё равно нужен.



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

Создано: 08 ноября 2009 20:52
· Личное сообщение · #4

ребят, а подскажите как и откуда считает функция Mem::Crc32?
как для нее данные передаются и куда результат записывается?




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

Создано: 08 ноября 2009 23:44
· Личное сообщение · #5

В help-e вроде все написано:

void Crc32(TUint32 &aCrc, const TAny *aPtr, TInt aLength);

Description
Performs a CCITT CRC-32 checksum on the specified data.
On return from this function, the referenced 32 bit integer contains the CRC value.

Parameters
TUint32 &aCrc
A reference to a 32 bit integer to contain the CRC value.

const TAny *aPtr
A pointer to the start of the data to be checksummed.

TInt aLength
The length of the data to be checksummed.



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

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

не писал под симбу...
можете помочь?
ковыряю системную ptiengine.dll
хочется свои словари Т9 сделать
но вот беда файлик защищен контрольной суммой.
надобно узнать как и на основании чего она считается
нашел 2 места вызова. собственно при записи в файл и чтении из него.
а проследить силенок не хватает уже...
Code:
  1. .text:831D3006 loc_831D3006                            ; CODE XREF: .text:831D2FFCj
  2. .text:831D3006                 LDR     R0, [R4,#0x10]
  3. .text:831D3008                 BLX     operator_delete_void___3
  4. .text:831D300C                 LSLS    R0, R6, #0
  5. .text:831D300E                 STR     R7, [R4,#0x10]
  6. .text:831D3010                 BLX     HBufC8__NewL_int__893
  7. .text:831D3014                 STR     R0, [R4,#0x10]
  8. .text:831D3016                 LSLS    R1, R0, #0
  9. .text:831D3018                 ADD     R0, SP, #0x1C
  10. .text:831D301A                 BLX     HBufC8__Des___891
  11. .text:831D301E                 LSLS    R1, R6, #0
  12. .text:831D3020                 ADD     R0, SP, #0x1C
  13. .text:831D3022                 BLX     TDes8__SetLength_int__782
  14. .text:831D3026                 ADD     R0, SP, #0x1C
  15. .text:831D3028                 BLX     TDes8__FillZ___756
  16. .text:831D302C                 ADD     R0, SP, #0x28
  17. .text:831D302E                 BLX     RReadStream__ReadInt32L___96
  18. .text:831D3032                 STR     R0, [R4,#0x18]
  19. .text:831D3034                 ADD     R0, SP, #0x28
  20. .text:831D3036                 BLX     RReadStream__ReadInt32L___96
  21. .text:831D303A                 STR     R0, [R4,#0x24]
  22. .text:831D303C                 LDR     R0, [SP,#0x64]
  23. .text:831D303E                 CMP     R0, #8
  24. .text:831D3040                 BLS     loc_831D3098
  25. .text:831D3042                 ADD     R0, SP, #0x28
  26. .text:831D3044                 BLX     RReadStream__ReadInt32L___96
  27. .text:831D3048                 LDR     R2, [SP,#0x64]
  28. .text:831D304A                 LSLS    R6, R0, #0
  29. .text:831D304C                 SUBS    R2, #0xC
  30. .text:831D304E                 ADD     R0, SP, #0x28
  31. .text:831D3050                 ADD     R1, SP, #0x1C
  32. .text:831D3052                 BLX     RReadStream__ReadL_TDes8___int__107
  33. .text:831D3056                 STR     R7, [SP]
  34. .text:831D3058                 LDR     R0, [R5]
  35. .text:831D305A                 LSLS    R1, R5, #0
  36. .text:831D305C                 LDR     R2, [R0,#0x24]
  37. .text:831D305E                 ADD     R0, SP, #4
  38. .text:831D3060                 BLX     R2
  39. .text:831D3062                 LDR     R0, [SP,#4]
  40. .text:831D3064                 LSLS    R7, R0, #4
  41. .text:831D3066                 LDR     R0, [R5]
  42. .text:831D3068                 LSRS    R7, R7, #4
  43. .text:831D306A                 LDR     R2, [R0,#0x24]
  44. .text:831D306C                 LSLS    R1, R5, #0
  45. .text:831D306E                 ADD     R0, SP, #0x10
  46. .text:831D3070                 BLX     R2
  47. .text:831D3072                 ADD     R0, SP, #0x10
  48. .text:831D3074                 BLX     TDesC8__Ptr___const_1719
  49. .text:831D3078                 LSLS    R1, R0, #0
  50. .text:831D307A                 LSLS    R2, R7, #0
  51. .text:831D307C                 MOV     R0, SP
  52. .text:831D307E                 BLX     Mem__Crc32_unsigned_long___void_const___int__522
  53. .text:831D3082                 LDR     R0, [SP]
  54. .text:831D3084                 CMP     R0, R6
  55. .text:831D3086                 BEQ     loc_831D3096
  56. .text:831D3088                 ADD     R0, SP, #0x1C
  57. .text:831D308A                 BLX     TDes8__FillZ___756
  58. .text:831D308E                 MOVS    R0, #0x13
  59. .text:831D3090                 MVNS    R0, R0
  60. .text:831D3092                 BLX     User__Leave_int__649




Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 11 ноября 2009 17:11 · Поправил: Hugo Chaves
· Личное сообщение · #7

Добрый день парни.
Хочу "вылечить" некоторую программку .
Написал "кусочек" кода , но вот вставить его в exe-шник ,
чтобы потом вызвать , проблема.
Практически нет свободного места .
Максимум 16 байт (ALIGN) нашёл .
Как добавить код нужного размера мне размера в этот EXE ?
Спасибо заранее за ответ и просьба не пинать и не посылать на RTFM



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

Создано: 11 ноября 2009 21:54 · Поправил: coderus
· Личное сообщение · #8

объясните пожалуйста доходчиво суть и роль регистра SP
в некоторых местах он просто возникает вроде изниоткуда, с ним производятся различные операции, причем очень критичные

и как быть с кусками кода начинающимися, а то и заканчивающимися в никуда?
Code:
  1. .text:828E57D4     ; ---------------------------------------------------------------------- -----
  2. .text:828E57D4                     LDR     R5, =0x4E677083
  3. .text:828E57D6                     ADDS    R5, R5, #1
  4. .text:828E57D8                     MOVS    R4, #0x47
  5. .text:828E57DA                     B       loc_828E587A
  6. .text:828E57DC     ; ---------------------------------------------------------------------- -----
  7. .text:828E57DC                     LDR     R5, =0x4E677083
  8. .text:828E57DE                     ADDS    R5, R5, #2
  9. .text:828E57E0                     B       loc_828E57E6
  10. .text:828E57E2     ; ---------------------------------------------------------------------- -----
  11. .text:828E57E2                     LDR     R5, =0x4E677083
  12. .text:828E57E4                     ADDS    R5, R5, #3
  13. .text:828E57E6
  14. .text:828E57E6     loc_828E57E6                            ; CODE XREF: .text:828E57E0j
  15. .text:828E57E6                     MOVS    R0, #0




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

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

Hugo Chaves пишет:
Как добавить код нужного размера мне размера в этот EXE ?

Если действительно ситуация безвыходная, можешь добавить свой код в конец файла. Если он использует какие-то функции — придётся добавить ещё одну секцию импорта и релоки. Геморное занятие.

coderus пишет:
объясните пожалуйста доходчиво суть и роль регистра SP

SP — Stack Pointer, указатель на стек. В стеке фактически можно хранить любые данные, часто используется при нехватке регистров.

coderus пишет:
и как быть с кусками кода начинающимися, а то и заканчивающимися в никуда?

Почему в никуда? Обычно код выполняется последовательно. Да и, если используешь ИДовский лоадер, попробуй лоадер Хекса. Иногда встречал подобное на дефолтном.




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

Создано: 19 ноября 2009 19:06
· Личное сообщение · #10

Hugo Chaves
симбиан 9? сколько байт нужно? обычно можно задействовать места, которые никогда не выполняются: обработчики исключений, место проверки серийного номера, я уже не помню точно, но места неиспользуемого в файле полно можно найти. Но это так сказать, "путь самурая", не каждому под силу, кроме того, нужно следить, чтобы при загрузке файла релоками не попортило тебе код.
Есть другой путь, попроще, но не всегда применим (подсмотрел у BiNPDA): ищешь длл, у которой меньше всего импортируется, чаще всего это HAL.DLL, и пишешь свою (например, HOL.DLL), в которой на те аргументы, что вызываются самой программой, подставляешь результат от HAL.DLL, а на свои - делаешь то, что тебе нужно. Далее подменяешь в EXE-файле название длл, и из программы делаешь вызов своей фальшивой длл, с нужными параметрами (если параметры не нужны, тогда какое-то хитрое значение, чтобы знать, что вызываешь ты, а не программа)



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 19 ноября 2009 19:58
· Личное сообщение · #11

[wl]

Спасибо !
Версию Симбиан вряд ли назову . Не могу определить.
Мне нужно байт 48 . Но не нашёл я столько свободного места в файле.
Обработчики исключений - очень хорошая мысль !




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 20 ноября 2009 04:45
· Личное сообщение · #12

Hugo Chaves пишет:
Версию Симбиан вряд ли назову . Не могу определить.

их вроде никто не скрывает... у разраба смотри, например: www.forum.nokia.com/devices/matrix_s60_1.html

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 20 ноября 2009 07:51
· Личное сообщение · #13

Isaev пишет:
их вроде никто не скрывает


Я имел ввиду определение версии по "начинке" exe-файла




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

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

А зачем по начинке? Версию можно определить по sis файлу, из которого ты вытащил этот exe. Ну или действительно просто догадаться по модели, на которой ты тестируешь.

Можно попытаться использовать то место, где проводится проверка лицензии/ключа или что там у тебя в программе. Оно все равно больше не нужно будет.



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

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

intro пишет:
Можно попытаться использовать то место, где проводится проверка лицензии/ключа или что там у тебя в программе. Оно все равно больше не нужно будет.


Как раз в данном случае момент более тонкий.
Проверка лицензии не тривиальная и легче "подсунуть программе то , что она страстно ждёт" ,
чем просто за NOP ить эту проверку.




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

Создано: 20 ноября 2009 21:28
· Личное сообщение · #16

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



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

Создано: 02 декабря 2009 08:08
· Личное сообщение · #17

Знатоки, подскажите. Скачал IDA Pro 5.2, запустил в ней .app (Symbian 8.0), нашел что можно исправить, но косяк не знаю как в ней сохранять изменения (говорит не "поддерживаю тип файла"). Подскажите что сделать или киньте ссылку на русскую инструкцию на Иду.




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

Создано: 02 декабря 2009 09:26
· Личное сообщение · #18

Для правки кода можно использовать любой hex-редактор. На предыдущей странице, кстати, это уже обсуждалось.



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

Создано: 09 декабря 2009 13:04
· Личное сообщение · #19

Профи, подскажите где скачать erl, скачал по ссылке на странице 5, но при запуске выдает ошибку, может я не так запускаю (или файл под 98-ю винду?), я запускал и так, и через CMD.... Подскажите, очень надо




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

Создано: 09 декабря 2009 14:20 · Поправил: intro
· Личное сообщение · #20

как именно ты запускал erl? там надо в параметре ему передать rsc файл, в котором и хранятся строки.
если все пойдет нормально, то на выходе получишь текстовый файл со строками.

вместо erl можешь использовать symbian rsc editor от [wl]. ссылка есть на той же странице.



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

Создано: 09 декабря 2009 20:52
· Личное сообщение · #21

intro забыл сказать - прога под 8 ось... через SymbianRSC не открывается (только rsc 9-й симбы). Подскажи тогда как надо erl параметры передавать (гугл по этому вопросу тупо молчит)




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

Создано: 10 декабря 2009 00:32
· Личное сообщение · #22

там же вроде есть readme в архиве с erl
1. Copy the target "appname.app" and "appname.rsc" into the same folder.
2. Copy erl.exe into the same folder.

Next type:
ERL APPNAME.RSC

Now APPNAME.RSC.TXT will be created in the same dir.




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

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

shustrik
Формат файлов RSC не менялся для всех версий оси (сорри, от 7 до 9), так что проверь сначала, что-за файл.



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

Создано: 10 декабря 2009 10:57
· Личное сообщение · #24

интересная статья
https://www.sec-consult.com/files/SEC_Consult_Vulnerability_Lab_Pwning_Symbian_V1.05_PUBLIC.pdf

TolyaN3z пишет:
Почему в никуда?

с никуда конечно погорячился, но вот ниоткуда. выполнение переходит например на B loc_828E587A и оттуда оно уже никогда не возвращается. так как выполняется следующий за В участок кода?
лоадер встроенный, тк работаю с системным XiP файлом, HEX его определяет как упакованный и предлагает воспользоваться петраном =)



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

Создано: 10 декабря 2009 11:15 · Поправил: shustrik
· Личное сообщение · #25

intro чтобы было понятно: на диске С создал папку 111, в нее кинул erl и 2 файла (Nseries8.app Nseries8.rsc), запускаю через меню пуск выполнить - ничего. Пробовал в CMD (C:\111\erl.exe Nseries8.rsc) - программа че-то там не является внутренней исполняемой....
Где и что я делаю о так?
Tolyan3z активно юзаю смарт (6630) вот уже больше 5 лет, русифицирую тоже. У меня есть разные версии русификаторов, одни открывают rsc 6-8 симбы, другие 9-ки (не первый год программы перевожу)... Та, что с иконкой желтой семерки и есть от [wl] и открывает она только rsc для девятки (другие unsupported...).

Раньше немного занимался крэком прог под винду, а щас вот надо и под симбу...

Подскажите с erl, а?...



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

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

coderus пишет:
и оттуда оно уже никогда не возвращается. так как выполняется следующий за В участок кода?

Если ты уверен, что не возвращается никогда, то следующий код и не выполнится после той инструкции. Но если ты также точно знаешь, что этот код выполняется, значит всё-таки ошибка в анализе кода. Кстати, в том куске кода, что ты привёл, везде загружается один и тот же ресурс 0x4E677083, только с разными «параметрами» — такая конструкция напоминает switch — case.
shustrik
Я тож когда-то переводил софт, под все версии Symbian. Поэтому и дело говорю тебе, не хочешь слушать — не надо.
С erl никаких проблем тоже нет, если не взирать на то, что он для большинства новых файлов ничего толком не выдаёт. А вообще, если ситуация тупиковая — выкладывай файл, будем вместе смотреть.



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

Создано: 10 декабря 2009 15:08
· Личное сообщение · #27

TolyaN3z пишет:
такая конструкция напоминает switch — case

свитчи говоришь..а где можно почитать как они реализуются?




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

Создано: 10 декабря 2009 16:29 · Поправил: intro
· Личное сообщение · #28

shustrik
открой командную строку, перейди в папку C:\111\, потом набери erl Nseries8.rsc
если тхт файла со строками не появится, то в твоем случае erl бесполезен.

coderus
в гугле можно почитать. первых двух ссылок должно хватить.



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

Создано: 10 декабря 2009 20:01
· Личное сообщение · #29

intro СПАСИБО, получилось!!!




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

Создано: 12 декабря 2009 04:08
· Личное сообщение · #30

TolyaN3z
ресурсы разные, просто в арме быстрее выполняются арифметические операции, чем загрузка числа из памяти в регистр, но суть вопроса не в этом.
на самом деле код приведен не полностью, выше должен быть вызов неудобной для анализа функции, что-то типа:

__arm_switch8 ; (точное название не помню)
6
0
4
8
0xA

где первое число - количество case-ов, а дальше относительные смещения на нужный case, каждое из которых нужно умножить на 2, если не ошибаюсь. IDA такую конструкцию не понимает, смещения для case-ов превращает в код, и не находит, откуда вызывается конкретный case



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

Создано: 12 декабря 2009 15:02 · Поправил: TolyaN3z
· Личное сообщение · #31

[wl],
да, что-то пропустил я ADD, назвал их «параметрами» . По поводу арифметических операций помню, HEX ещё раньше писал об этом. Главное, что это switch.


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