Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Вопросы по обучению патчам


Рекомендуемые сообщения

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

Spoiler

 

Spoiler

Q: Я компилирую патч, но там отсутствует блок from. В чем ошибка?

<nord offset="0x113BBA6C" to="00000000000000007CBA3B1100000000" />

A: Нужно загрузить прошивку в главном окне BinEdit'a, а также смотреть за ошибками, которые показывает компилятор! Поле from это есть данные для отмены патча. И если прошивка не открыта, то программе не откуда их взять.

Вопрос задан: сиспсон

Ответ дан: FRAER, Дамир

 

  • Like 9
Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 101
  • Создана
  • Последний ответ

Топ авторов темы

Поправлю Руслана

не критично, конечно, но все-таки формат, есть формат.

"переворачивание" адресов используется в LittleEndian и именно этот формат имеют прошивки свифтов

BigEndian использовался в прошивках сисол-моделей, в нем-то как раз адреса и числовые константы не видоизменяются и хранятся в таком виде, в котором мы их и применяем... :)

  • Like 3
Ссылка на комментарий
Поделиться на другие сайты

Вот такой вопрос

В компилятор написал .start 0x113BBA6C

.MCC MCC_transf 0 0 0 0 0x113BBA7C

После компиляцыи патча ,вот что получилось. Такое можеть быть? Ведь нету же FROM

<nord offset="0x113BBA6C" to="00000000000000007CBA3B1100000000" />

Спасибо Руслан ,за столь огромный,но очень полезный труд.Спасибо

Ссылка на комментарий
Поделиться на другие сайты

сиспсон,

на какую модель пишешь?

Если E590 - учти, там базовый адрес 0x20000000 :)

 

вообще узнать базовый адрес просто, BinEdit определяет его правильно в большинстве случаев, поэтому идем в папку befiles и открываем be-файл для своей прошивки блокнотом, в начале документа видим такую строчку, например:

Bin ID="B5702XEIE1" adr="0x135BF84" base="0x20000000" TYPE_ARM="LittleEndian"

вот тебе и базовый адрес (0x20000000) и формат кода (LittleEndian) :)

Ссылка на комментарий
Поделиться на другие сайты

Нет,я просто попробовал набрать в компиляторе код,тот что в примере у Руслана.Прошывку никакую не грузил,просто открыл компилятор,написал,и сделал компиляцыю

А про базовый адрес я ет знаю.Меня просто удивило вот ="0x113BBA6C" to= Адрес ,и сразу же измененый код.

Такое можеть быть?

Ссылка на комментарий
Поделиться на другие сайты

сиспсон,

ну а откуда же он у тебя возьмет чем заполнять поле from, раз ты прошивку не загрузил? :)

поле from это есть данные для отмены патча, но если прошивка не открыта, мы не можем про них сказать...

  • Like 1
Ссылка на комментарий
Поделиться на другие сайты

Я прошу администрацыю,чистит тему от лишних сообщений.Ну тоисть .сперва вопрос,потом ответ ,если у пользователя есть еще непонятка,он задает вопрос опять.Когда пользователю стало понятно,просто удаляем вопросы и ответы и делаем такой топик Faq Вопрос-Ответ.В шапку тему.Потом так далье.Сперва Вопросы,Потом разяснения,.После -удаления не нужного,Потом- просто обеденяется вопрос пользователя и ответ от ответившого тебе.

+ не будет много мусора,где будет трудно найти интересующий ответ.Тоисть не будет одинаковых вопросов.

- Прибавляется труд модераторам.

Вот я написал 2 сообщения почти с тем же вопросом.Мне ответили.

Пример . Вопрос Такое можеть быть, когда нету From ?

Ответ .Просто загрузи прошывку и все будет гуд.

Вот добавляем в топик.

Ну вроде как бы идею предложыл.После просмотра етого сообщения модераторов,прошу его удалить иль переместить в нужную тему.Спасибо.

И спасибо за столь быстрые ответы.!!Все получилось с компилятором

  • Like 1
Ссылка на комментарий
Поделиться на другие сайты

Ну FAQ могу и я собирать, что я и сделал :67:

Насчет удаления постов - какие-то думаю можно и оставлять, например первый пост (от FRAER'a). Ну а удалять чужие посты - я не могу :)

Ссылка на комментарий
Поделиться на другие сайты

[AlaSToR], обучение ваистину круто, тем более что обучает не портировать, а создавать патчи :idea:

Вот только насчет последнего предложения о создании патча на пароль разблокировки есть сомнения: будут ли работать в окне ввода пароля все клавиши, ведь там явно есть маска, которая отсекает нажатия других клавиш, кроме * и левого софта :)

  • Like 1

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

Ссылка на комментарий
Поделиться на другие сайты

Ну вообще я имел ввиду уже тогда,когда уже нажали эти клавиши, уже клавиатура разблокирована. Далее-в окне ввода используется своя маска,утверждать не могу, что будет работать,если врезатся до самой разблокировки клавиатуры, пока предполагаю. При том адресе, что я написан (т.е. окно разблокировки) будет баг - при нажатии на красную трубку в окне ввода,телефон выйдет на рабочий стол,игнорируя проверку пароля. В принципе, если на это глаза закрыть пока,можно пробовать. А если нет - то лучше пробовать запаролить другое место телефона. К разблокировке лучше вернуться с большим опытом в карьере патчей. Кстати, до разблокировки нет маски, там проверяется нажатая клавиша. Если левый софт, то переход на одно окно, иначе-на другое. Ведь допускается нажатие любой клавиши. А маска полностью блокирует реагирование телефона на кнопку.

Изменено пользователем [AlaSToR]
  • Like 3
Ссылка на комментарий
Поделиться на другие сайты

Такой вопрос. Хочу врезаться по данному адресу 0x210E7F2C (G600). В нем я вижу следующее

210E7F2C:	5C000000000000000000000000000000	DCM	MCC_INIT_RESTORE;Подготовка окна
210E7F3C:	5B013D02000000000000000039B60000	DCM	MCC_NOTICE 0x1 0x23D 0 0 0 0xB639;ПРЕДУПРЕЖДЕНИЕ 
210E7F4C:	17165C00000000000000000000000000	DCM	MCC_TASK 0x16 0x5C;Выполнить 0x16 x2=92 x3=0 x4=0 x5=0 x6=0
210E7F5C:	5C000000000000000000000000000000	DCM	MCC_INIT_RESTORE;Подготовка окна
210E7F6C:	4701020016003B020000000000000000	DCM	MCC_REPORT 0x1 0x2 0x16 0x23B;Сообщение "Удалено"
210E7F7C:	1C000000000000004437CE2000000000	DCM	MCC_TRANSF 0 0 0 0 loc_20CE3744;Переход на адрес 0x20CE3744
210E7F8C:	38000000000000000000000000000000	DCM	MCC_EXIT;Завершение МСС скрипта

 

Нужно ли в патче описывать между mcc_call и mcc_return - mcc_notice ? И если нужно, то 6й параметр также необходимо описать в патче? Не понятное мне предупреждение. MCC_TASK 0x16 0x5C я так думаю описать необходимо. Или нет? Спасиб заранее!

 

.mcc mcc_call 0 0 0 0 0x102AF5EC
.mcc mcc_task 0x21 0x10 0x3A
.mcc mcc_return

вопрос глупый, но всё таки для достоверности, чтоб не ошибиться :) : Данная конструкция занимает 48 байт, да?

 

------------------------------------------------------

 

Разобрался сам кажется, но всё-таки жду ответа.. Патч работает на половину, вернее даже на треть :(

Изменено пользователем SantaX

Обожаю свою жену Анюточку! =)

Ссылка на комментарий
Поделиться на другие сайты

Такой вопрос. Хочу врезаться по данному адресу 0x210E7F2C (G600).

Нужно ли в патче описывать между mcc_call и mcc_return - mcc_notice ?

Если ты врезаешься в 0x210E7F2C, то почему ты должен восстанавливать скрипт, лежащий по адресу 0x210E7F3C? Вот если бы ты врезался в 0x210E7F3C, то, тебе надо было бы переписать mcc_notice с параметрами, которые были в прошивке. А в твоем примере между mcc_call и mcc_return - ты должен написать:

.mcc mcc_init_restore

т.к. именно данный скрипт находится на адресе врезки!

Данная конструкция занимает 48 байт, да?

Да, 3 скрипта по 16 байт : 16*3=48.

  • Like 1
Ссылка на комментарий
Поделиться на другие сайты

' date='20.02.2010, 7:39' post='496950']

А в твоем примере между mcc_call и mcc_return - ты должен написать:

.mcc mcc_init_restore

т.к. именно данный скрипт находится на адресе врезки!

Да, 3 скрипта по 16 байт : 16*3=48.

 

Спасиб, именно так и делал. :(

Обожаю свою жену Анюточку! =)

Ссылка на комментарий
Поделиться на другие сайты

У меня вопрос

.start 0x2065AAC0 -адрес фотки

.mcc mcc_transf 0 0 0 0 my_code

.start 0x219D1A4C свободное место

my_code:

.mcc mcc_call 0 0 0 0 0x207D6514 функцыя

.mcc mcc_task 0x2065AAC0 возрат на адрес фотки (пробовал и 0 0x3 0 0 ) ничего

.mcc mcc_return

В итоге окно появляется,но после вода пароля выкидывает на роб.стол.

2)Как разлечить какой адрес кратен 4.Почти все делется на 4.Интересует С буквами Спасибо

Ссылка на комментарий
Поделиться на другие сайты

по поводу второго вопроса цитирую Руслана: " Так как размер скриптов всегда статичен, и равен (если Вы не забылы) 16 байтам, то скрипты должны всегда располагаться по адресу, кратному четырем!. А именно: 0, 4, 8, 0xC"

то есть смотришь младший разряд(последняя цифра) и если она равна 0, 4, 8 или C, то адрес кратен 4-м.

  • Like 1

Обожаю свою жену Анюточку! =)

Ссылка на комментарий
Поделиться на другие сайты

У меня вопрос

.start 0x2065AAC0 -адрес фотки

.mcc mcc_transf 0 0 0 0 my_code

.start 0x219D1A4C свободное место

my_code:

.mcc mcc_call 0 0 0 0 0x207D6514 функцыя

.mcc mcc_task 0x2065AAC0 возрат на адрес фотки (пробовал и 0 0x3 0 0 ) ничего

.mcc mcc_return

Советую - перечитай урок внимательно, пожалуйста.

1) Врезаешься ты по средствам mcc_transf, а выходишь из врезки - через mcc_return. А я сказал не так!.

Если врезаемся мы с помощью mcc_transf, то и выходить мы должны также через mcc_transf! А если врезаемся мы через mcc_call, то выходим - через mcc_return!

2) >>.mcc mcc_task 0x2065AAC0

а) Здесь ты должен указать то, что у тебя было по адресу 0x2065AAC0, сам скрипт, находящийся там.

б) Я конечно знаю, что ты здесь ошибся, но все равно - ты пытаешься адрес записать, как первый параметр. А какова длина первого параметра и какова длина адреса? Первый параметр - 1 байт, адрес - 4 байта. Никак нельзя этого делать.

Как разлечить какой адрес кратен 4.Почти все делется на 4.Интересует С буквами

Опять же - я написал, какие делятся на четыре.

Или же: берем последний символ, переводим в десятичную систему, и смотрим.

А вообще, повторюсь еще раз. Адрес кратен 4-ем, если последний символ адрес это: 0, 4, 8, C. Если последний символ - любой из этих четырех, значит адрес делится на 4 нацело. Иначе - нет.

  • Like 3
Ссылка на комментарий
Поделиться на другие сайты

[AlaSToR], пиши ещё :)

Благодаря тому что ты написал, я сделал патч хоть с каким то пониманием того, что я делаю и зачем... нужны ещё, конечно, многие сведения... кое что просто скопировал из другого патча без понимания... вопросы задам позже... есть догадки, уточню тут у вас... так что больше я патч портировал... но если ты продолжишь написание своего труда, будет очень неплохо... это по крайней мере первое такое творение даже на этом форуме, которое даёт нормальное представление с чего начинать... раньше я вообще не понимал, как люди пишут патчи и тыкался наугад... сегодня за полдня сделал то, чего не сделал бы и за полгода без твоих записей... понятно, что и писать всё это не просто, но ты продолжи как нибудь :) спасибо за то, что уже есть...

вопросы задам позже, после того как доделаю то, чем занят ;)

 

ну вот теперь, раз уж дано право спрашивать... работал над петчем "Последний получатель"... когда то я его случайно сделал для х700 и пользовался... его там потом развили, но я пользовался своим самым простым - просто по ОК переходил в список "Последние получатели"... не так давно пытался сделать для д780 такое, переход получился, но при введённом номере и нажатии на ОК в окне ввода номера телефон снова входил в этот самый список, а не отправлял смс... так как всё это делалось с большим трудом методом научного тыка, то переделывать было очень лень... а вот вчера прочитав то, что написал [AlaSToR], вновь взялся за него... за основу был взят патч на д880... вернее сразу я разобрался, как сделать просто вход в этот список, понял, почему не отправлялись смс и исправил этот момент... а потом уже стал смотреть, что ещё было реализовано в патче на д880...

 

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

 

202B9D44  80 00 2100 C001 0000 00000000 3000 0000  MCC_FOCUS_START

202B9D54  17 07 6800 0000 0000 00000000 0000 0000  Выполнить 0x7 x2=104 x3=0 x4=0 x5=0 x6=0

202B9D64  81 07 0000 0000 0202 00000000 0000 0000  MCC_DISPLAY_FOCUS

202B9D74  8F 00 FFFF 0000 0000 B4B84D21 0000 0000  MCC_FOCUS_SELECT

 

вот тут интересный момент... так как про эти команды не было написано, то я их просто скопировал из д880... т.е. нашёл их аналоги в д780... вот в первой строке - в оригинальной прошивке вместо C001 стоит 0001... как я понял, это разрещение на действие клавиш, верно??? потмоу что если не поставить C001, то клавиши вправо и влево не обрабатываются...

ещё подумал ипридумал вопрос... вот как догадаться, что в именно происходит вот здесь

 

202B9D74 8F 00 FFFF 0000 0000 B4B84D21 0000 0000 MCC_FOCUS_SELECT

 

я нашёл этот адрес... при переходе по этому адресу, там мы видим, что при нажатии на ок, мы попадём в телефонную книгу... но я как то не догадывался, что мне вот в этом "фокус_селект'е" надо будет менять адрес... т.е. те кто пишет патчи, уже заранее имеют какое то представление о командах этих, что ли? а если я её вижу впервые, то я, конечно, ничего не понимаю...

 

214FE854  76 00 0000 C401 0000 00000000 3000 0000  Начало меню, ширина 48

214FE864  7D 2B 1C00 0000 0200 00000000 0000 0000  Меню 0x2B из 0 пунктов

214FE874  77 2B 1C00 0000 0202 00000000 3000 0000  Отобразить меню 0x2B с параметром 202

214FE884  7A 00 FFFF 0000 0000 3C0FBF20 0000 0000  По пункту меню 10000 переход на адрес 0x20BF0F3C

 

аналогично и здесь... без C401 вот этого вот клавиши не обрабатываются... поясните, кто может... и ещё, если не тяжело, расскажите как узнать какой параметр надо поставить... я предполагаю, что просто ищется такая же команда в другом месте, где в телефоне изначально обрабатываются все клавиши и сравнивается... только что в голову пришло... я прав???

 

всё остальное в патче на д880 вроде понятно...

в своём на д780 сделал маленькое добавление... при удалении в списке "Последние получатели" убрал запрос "Удалить?" и сделал так, чтобы после удаления номера из этого списка телефон в нём и оставался, а не выходил в окно набора номера... всё вроде работает... получилось следающее...

 

БЫЛО:

2109B998  18 2B 2F00 0000 0000 FC2E2D20 0000 0000  Если x1=43 x2=47 x3=0 то переход на 0x202D2EFC

2109B9A8 5D 00 0000 0000 0000 00000000 0000 0000 Подготовка окна

2109B9B8  4A 59 2D00 3B02 0100 00000000 0603 0000  Вопрос "POP3"

2109B9C8  18 08 0100 0F00 0000 58798C21 0000 0000  Если кнопка "правая софт" в состояни 1 то переход на 0x218C7958

2109B9D8  19 08 0100 0200 0000 58798C21 0000 0000  Или если кнопка "C (кратко)" в состояни 1 то переход на 0x218C7958

2109B9E8  19 08 0100 0900 0000 D8084B21 0000 0000  Или если кнопка "вкл/выкл" в состояни 1 то переход на 0x214B08D8

2109B9F8  18 2B 2E00 0000 0000 FC2E2D20 0000 0000  Если x1=43 x2=46 x3=0 то переход на 0x202D2EFC

2109BA08  5D 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

2109BA18  48 03 0200 2B00 3E02 00000000 0000 0000  Сообщение "Удалено"

2109BA28 7B 00 0200 0000 0000 00000000 0000 0000 Возврат из меню на 1 уровень

 

СТАЛО:

2109B998  18 2B 2F00 0000 0000 FC2E2D20 0000 0000  Если x1=43 x2=47 x3=0 то переход на 0x202D2EFC

2109B9A8 1C 00 0000 0000 0000 F8B90921 0000 0000 Переход на адрес 0x2109B9F8

2109B9B8  4A 59 2D00 3B02 0100 00000000 0603 0000  Вопрос "POP3"

2109B9C8  18 08 0100 0F00 0000 58798C21 0000 0000  Если кнопка "правая софт" в состояни 1 то переход на 0x218C7958

2109B9D8  19 08 0100 0200 0000 58798C21 0000 0000  Или если кнопка "C (кратко)" в состояни 1 то переход на 0x218C7958

2109B9E8  19 08 0100 0900 0000 D8084B21 0000 0000  Или если кнопка "вкл/выкл" в состояни 1 то переход на 0x214B08D8

2109B9F8  18 2B 2E00 0000 0000 FC2E2D20 0000 0000  Если x1=43 x2=46 x3=0 то переход на 0x202D2EFC

2109BA08  5D 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

2109BA18  48 03 0200 2B00 3E02 00000000 0000 0000  Сообщение "Удалено"

2109BA28 1C 00 0000 0000 0000 B4F57D20 0000 0000 Переход на адрес 0x207DF5B4

 

так как всё работает, интересно, правильно ли я сделал по вашему мнению эти два перехода??? тут вроде как всё понятно... может вы по этому коду скажете, прав я или нет и можно было сделать переходы в других места и может в другие места...

и вот при удалении непонятно мне, где происходит само удаление... объясните, пожалста :)

 

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

Изменено пользователем BaRsupillamy
  • Like 1

Лучше работать завтра, чем сегодня...

Ссылка на комментарий
Поделиться на другие сайты

BaRsupillamy:

В ближайшее время продолжу, будем осваивать все более тяжелые "горы" :)

 

Комментарий модератора Дамир
Ждемс... :)
  • Like 3
Ссылка на комментарий
Поделиться на другие сайты

с я зыком разобрался... всё нормально... эстонский на месте... и вписал я всё, куда и хотел... просто в БИ нет такой стрелочки (треугольничка), которые указывали бы на сортировку... я указал сортировку по "значению", а не по адресу в прошивке, и в итоге потом как не жми на эстонский или любой другой язык, они не по порядку оказываются... и мне казалось, что он сместился и начинается с другого адреса... мож тоже добавьте и этот момент в ФАК... а то мало ли кто ещё на такой мелочи споткнётся из начинающих...

Лучше работать завтра, чем сегодня...

Ссылка на комментарий
Поделиться на другие сайты

в оригинальной прошивке вместо C001 стоит 0001... как я понял, это разрещение на действие клавиш, верно???

Да, это маска допустимых нажатий клавиш.

202B9D74 8F 00 FFFF 0000 0000 B4B84D21 0000 0000 MCC_FOCUS_SELECT

Вообще, что хочу сказать. Короче, есть два основных типа "меню" - именно обычное меню, и фокусное меню. Обычное - сообщения, мои файлы, журнал звонков и т.д. Фокусное меню - это там, где чекбоксы (галочки), спинбоксы (когда значения меняютяс кнопками влево-вправо). Так вот, я б советовал сначала побольше над меню поработать, а потом браться за фокусы - потому что они труднее..

те кто пишет патчи, уже заранее имеют какое то представление о командах этих, что ли?

Ну вообще с опытом многое приходит. И уже видение, как будет строиться патч, в мыслях.. Но это уже все позже.

а если я её вижу впервые, то я, конечно, ничего не понимаю...

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

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

Вообще скажу честно - я в масках не силен. Я с ними не сталкивался вплотную, поэтому мало о них знаю. Но кое-что все же могу рассказать.

Итак, вообще маски часто одинаковы для телефонов. Но ведь с новыми телефонами приходят и новые клавиши - например у вас есть SIM-Select, на E590 допустим - есть кнопка MODE, следовательно есть вариант, что маски с обычных телефонах уже не особо подойдут. А вообще есть пару вариантов, как раскопать маски.

Вариант №1. Через CGSN. Для этого нужно:

1) Открыть прошивку ;

2) Открыть компилятор ;

3) Установить компилирование в терминал (Настройки -> Компилировать в -> Передать в COM-терминал) (если нет такого пункта, то нужно найти последнюю версию программы) ;

4) Создаем новый файл в компиляторе и пишем в нем такой код:

push {lr}

mov r1,0
adr r0,=my_mcc
bl lk2_12start_menu_edit_fsm

pop {pc}
.align 4
my_mcc:
214FE854  76 00 0000 [b]C401[/b] 0000 00000000 3000 0000  Начало меню, ширина 48
214FE864  7D 2B 1C00 0000 0200 00000000 0000 0000  Меню 0x2B из 0 пунктов
214FE874  77 2B 1C00 0000 0202 00000000 3000 0000  Отобразить меню 0x2B с параметром 202
214FE884  7A 00 FFFF 0000 0000 3C0FBF20 0000 0000  По пункту меню 10000 переход на адрес 0x20BF0F3C

Затем компилировать, подключать телефон к CGSN'y, запускать выполнение данного кода, и смотреть - на какие клавиши реагировать будет телефон, а на какие не будет - попутно изменяя выделенный жирным параметр.

Вариант №2 предложен Вами:

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

Ну или не все, а нужным в Вашем патче.

>>только что в голову пришло...

Вот уже начало мыслей патчмейкера. Молодец :aq:

>>так как всё работает, интересно, правильно ли я сделал по вашему мнению эти два перехода???

Ну раз работает - значит верно :)

>>и вот при удалении непонятно мне, где происходит само удаление... объясните, пожалста :az:

2109B9F8 18 2B 2E00 0000 0000 FC2E2D20 0000 0000 Если x1=43 x2=46 x3=0 то переход на 0x202D2EFC

Я так понял, что тут. Если условие истинно, то переход в 0x202D2EFC, а в нем скорее всего - и происходит удаление.

Ссылка на комментарий
Поделиться на другие сайты

по этому адресу идёт следующее

 

202D2EFC  5D 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

202D2F0C  48 05 0200 2B00 9309 00000000 0000 0000  Сообщение "Ничего не выбрано"

202D2F1C  7B 00 0100 0000 0000 00000000 0000 0000  Возврат из меню на 1 уровень

 

это же не удаление, верно???

потому меня и заинтересовал это твопрос... где же оно? это мне так, для понимания...

Лучше работать завтра, чем сегодня...

Ссылка на комментарий
Поделиться на другие сайты

по этому адресу идёт следующее

 

202D2EFC  5D 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

202D2F0C  48 05 0200 2B00 9309 00000000 0000 0000  Сообщение "Ничего не выбрано"

202D2F1C  7B 00 0100 0000 0000 00000000 0000 0000  Возврат из меню на 1 уровень

 

это же не удаление, верно???

потому меня и заинтересовал это твопрос... где же оно? это мне так, для понимания...

Хм, честно говоря, сам не вижу. Странно, обычно сделано все по другому. Без телефона на руках я вряд ли скажу.. Поэтому думаю лучше, если тебе объяснят обладатели D780.

Ссылка на комментарий
Поделиться на другие сайты

ну вот и обладателей то особо не видно... мож с твоей помощью и твоими уроками я сам что нить ещё и напишу :aq: подождём... пока посмотрю, чего ещё я сам хотел сделать на д780... мож теперь что простое и сам смогу...

Лучше работать завтра, чем сегодня...

Ссылка на комментарий
Поделиться на другие сайты

это же не удаление, верно???

потому меня и заинтересовал это твопрос... где же оно? это мне так, для понимания...]

В своей прошывке я заметил такое.Окошко (удалить да не?) имеет каждый свой MCC_TASK на удаления+адреса окон разные.На удаления фоток,адрес другой,игры-другой ,заметки.-другой адрес и Таск

1)Чтобы было удаления,то должно быть Подготовка окна,описания некоторых клавиш,потом иль Вызов подпрограммы по адресу где нах.Таск на удаления иль просто выполнить команду с соотвествующим Таском

Вот примерно так (Ето в моей прошывке.У вас может по другому)!!

203279B4  5C 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

203279C4  49 58 2C00 3802 0100 00000000 0E03 0000  MCC_QUESTION

203279D4  18 09 0100 0F00 0000 B87B7C20 0000 0000  Если кнопка "правая софт" в состояни 1 то переход на 0x207C7BB8 Опрос клавишей на отмену .Как видим адреса 207C7BB8 одинаковые,вот тока По кнопке С идет на вызов подпрограмы на возвращения в меню

203279E4  19 09 0100 0900 0000 10C68320 0000 0000  Или если кнопка "вкл/выкл" в состояни 1 то переход на 0x2083C610

203279F4  19 09 0100 0200 0000 B87B7C20 0000 0000  Или если кнопка "С" в состояни 1 то переход на 0x207C7BB8

20327A04  17 22 1300 0500 0100 00000000 0000 0000  Выполнить 0x22 x2=19 x3=5 x4=1 x5=0 x6=0 Ето и есть Удаления

20327A14  1B 00 0000 0000 0000 28232B20 0000 0000  Вызов подпрограммы по адресу 0x202B2328 Ето проверяется,а не включена ли Защищеный обект.Если да,то вывод соотсвтующого сообщения Ет так для примера

С помощью CGSN и потом Методом простого перехода по адресам+можно найти нужную нам функцыю.В твоем случае Удаления.Все ето будет описыватся в дальнейшых уроках ОТ [AlaSToR]а

Ссылка на комментарий
Поделиться на другие сайты

сиспсон: да, все верно. НО - это обычно так и делается. А тут не видно скрипта, выполняющего данное действие. Я, честно говоря, первый раз вижу такой "фокус".

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти



×
×
  • Создать...