PDA-версия форума ASUSMobile.RU

Поиск - Профиль - Войти и проверить личные сообщения - Вход - Регистрация
Форум Asus Mobile Club Russia > Полезное > Раздел Разработчика и Программиста > О модулях в слоте 0

На страницу Пред.  1, 2, 3  След.
[Ответить на тему]

Barin [19.10.09, 16:34] :
Yad
D=vbase+rva для Low точно проканает, во всяком случае в слот 1 такие модули не попадут. Да я к чему ещё это веду - вот попалась тебе прошивка, в которой очень понравился пакет, и повыдергал ты оттуда нужные модули, а флагов-то нет icon_smile Тут-то признак и пригодится.

[Ответить на тему]   Ответить с цитатой   
Yad [19.10.09, 16:37] :
Barin писал(а):
Yad
D=vbase+rva для Low точно проканает, во всяком случае в слот 1 такие модули не попадут. Да я к чему ещё это веду - вот попалась тебе прошивка, в которой очень понравился пакет, и повыдергал ты оттуда нужные модули, а флагов-то нет icon_smile Тут-то признак и пригодится.
Действительно, наоффтопили мы тут

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

[Ответить на тему]   Ответить с цитатой   
Barin [19.10.09, 16:39] :
Yad писал(а):
Ну а если ты отрекмодил модули

Да я же написал - сначала смотрю Vbase и D модуля, а после правки и реверсмода вручную релочу по первоначальным адресам, я кстати для того в дсм-ребилдер и встроил ModuleInfo.

[Ответить на тему]   Ответить с цитатой   
taxist@ [19.10.09, 22:35] :
Коллеги, во первых думаю стоит сказать спасибо модераторам за ещё одну интересную тему icon_smile

Теперь по теме.
Под впечатлением сегодняшних диалогов в соседней теме, придя домой, я накачал кучу разнообразных оригинальных прошивок, все их разобрал и внимательно изучил логи маппера, выявил ряд модулей в обязательном порядке размещённых в 0 слоте полностью, глянув на этот список я испытал чувство, что где то я этот список уже видел, почесав репу и выкурив сигарету вдруг понял, что именно этот список может видеть каждый ,открыв boot.rgu оригинальной прошивки 6.1 в ветке реестра посвящённой небезизвестному initvmmap.exe icon_smile
Вот они
01780000 - 01790000 L00010000 SYS: bthlink.dll
01790000 - 017e0000 L00050000 SYS: wmdrm.dll
017e0000 - 01850000 L00070000 SYS: sqlcese30.sys.dll
01850000 - 01870000 L00020000 SYS: wzcsvc.dll
01870000 - 01880000 L00010000 SYS: ws2instl.dll
01880000 - 018e0000 L00060000 SYS: tcpstk.dll
018e0000 - 01930000 L00050000 SYS: tcpip6.dll
01930000 - 01950000 L00020000 SYS: pptp.dll
01950000 - 01970000 L00020000 SYS: ppp.dll
01970000 - 01980000 L00010000 SYS: netbios.dll
01980000 - 01990000 L00010000 SYS: ndisuio.dll
01990000 - 019c0000 L00030000 SYS: ndis.dll
019c0000 - 019d0000 L00010000 SYS: ipv6hlp.dll
019d0000 - 019e0000 L00010000 SYS: ethman.dll
019e0000 - 019f0000 L00010000 SYS: eapol.dll
019f0000 - 01a00000 L00010000 SYS: dhcpv6l.dll
01a00000 - 01a10000 L00010000 SYS: dhcp.dll
01a10000 - 01a30000 L00020000 SYS: afd.dll
01a30000 - 01a40000 L00010000 SYS: unimodem.dll
01a40000 - 01a70000 L00030000 SYS: redir.dll
01a70000 - 01aa0000 L00030000 SYS: ipnat.dll
01aa0000 - 01ac0000 L00020000 SYS: irdastk.dll
01ac0000 - 01ad0000 L00010000 SYS: sbc.dll
01ad0000 - 01ae0000 L00010000 SYS: bta2dp.dll
01ae0000 - 01af0000 L00010000 SYS: bthuniv.dll
01af0000 - 01b60000 L00070000 SYS: btd.dll

их ровно 25 штук, из их числа выделяется лишь wmdrm.dll ,которая во всех разобранных прошивках была в этом ряду, но отсутствует в записях реестра initvmmap.exe.
Понятно что помимо этих модулей, в слоте 0 есть и ОЕМ компоненты ,но это дело индивидуальное для конкретного девайса.

[Ответить на тему]   Ответить с цитатой   
Alexx~ [19.10.09, 22:48] :
Точно. Интересно не могут быть связаны проблемы с Wi-Fi на Асусе 525 с тем, что
1. initvmmap.exe не работает для 6.0 (проблема с wzcsvc.dll)
2. initvmmap.exe работает на 6.0, а мы все поголовно стали удалять из ксипа этот файл.

[Ответить на тему]   Ответить с цитатой   
taxist@ [19.10.09, 22:54] :
Небольшая поправка;
кроме приведённых выше следует назвать l2tp.dll и ОЕМный asyncmac.dll

[Ответить на тему]   Ответить с цитатой   
Alexx~ [19.10.09, 22:55] :
На топазе в boot.rgu 6.1 были ещё ОЕМные

[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\debuglog.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\htcservices.dll]
"services.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\HtcPm.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\smd_com.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\errorfatal.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\BackLight.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\MicroP.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\AllLEDMgr.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\battdrvr.dll]
"device.exe"=dword:1
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\GSensor.dll]
"device.exe"=dword:1

а на 6.5 их почему то нет

[Ответить на тему]   Ответить с цитатой   
taxist@ [19.10.09, 23:02] :
Alexx~
Модули должные быть в 0 слоте, начинаются со старших адресов,а выше ,в младшие адреса, как раз попадают те модули которым не хватило места.

Да, я разбирал только оригинальные прошивки 6.1 в пределах билдов 19202-21055.
Понятно что в случае с 21055 оригинал с натяжкой icon_smile, но расклад и в ней повторяет оный с самого начала истории 6.1

Alexx~ писал(а):
Точно. Интересно не могут быть связаны проблемы с Wi-Fi на Асусе 525 с тем, что
1. initvmmap.exe не работает для 6.0 (проблема с wzcsvc.dll)
2. initvmmap.exe работает на 6.0, а мы все поголовно стали удалять из ксипа этот файл.


Хм..Возможно, хотя я до всех этих откровений и открытий, безнаказанно имел все означенные модули в 1 слоте и проблем, в том числе с Wi-Fi, не имел, хотя возможно для 525 это важно...

[Ответить на тему]   Ответить с цитатой   
Yad [20.10.09, 08:42] :
Хорошо бы разобраться с этим initvmmap.exe до конца... вот еще ссылочка:
http://hi.baidu.com/donghaozheng/blog/item/1a0f37db4798196ed1164e56.html

В статье упоминается еще одна, вот бы ее найти но я так и не нашел - "Tuning the Platform for Optimum Performance"...

[Ответить на тему]   Ответить с цитатой   
AndrewSh [20.10.09, 09:43] :
Alexx~ писал(а):
Точно. Интересно не могут быть связаны проблемы с Wi-Fi на Асусе 525 с тем, что
1. initvmmap.exe не работает для 6.0 (проблема с wzcsvc.dll)
2. initvmmap.exe работает на 6.0, а мы все поголовно стали удалять из ксипа этот файл.

Озадачился этим еще месяц или полтора назад. Собирал с initvmmap.exe и нетронутым boot.rgu (нетронутым - в смысле со списком taxist@-а). Даже в паблик пошла одна прошивка..... В принципе - те же яйца, что и без initvmmap.exe. Не работает оно.....

[Ответить на тему]   Ответить с цитатой   
taxist@ [20.10.09, 13:38] :
Собрал прошивку по всем новым канонам,- глюков как не было так и нет, скорость не выросла, никаких изменений короче...
А вот виртуалки поубавилось, Опера проблемничает при хорошем броузинге - больше 15 тяжёлых окон откроешь и выроятность вылета очень высока.
Может и прав БЕПЕ что пережитки всё это...

[Ответить на тему]   Ответить с цитатой   
Barin [20.10.09, 13:44] :
taxist@ писал(а):
Может и прав БЕПЕ что пережитки всё это...

Это было бы просто замечательно. Я всё-таки на досуге попытаюсь ещё поэкспериметировать, и по максимуму слот 0 разгрузить (хотя бы часть модулей SYS). А то жалко пространства. Какой-нибудь модуль попадётся размером в 10К, а в 0-м слоте вынь да положь ему как минимум 64К. Sad

[Ответить на тему]   Ответить с цитатой   
Alexx~ [20.10.09, 14:26] :
taxist@
так скорость вроде не причём.
А насчёт виртуалки - для твоего девайса разве есть nk 6.1?
Если нет, то так и должно быть, по идее initvmmap.exe на 6.1 должен динамически освобождать часть памяти, если его не использовать и занять дополнительно слот 0, то так только хуже должно стать. Другой вопрос - можно ли безболезненно перенести модули, которые должны быть в слоте 0 в слот 1.

[Ответить на тему]   Ответить с цитатой   
taxist@ [20.10.09, 15:01] :
Alexx~ писал(а):
taxist@
так скорость вроде не причём.
А насчёт виртуалки - для твоего девайса разве есть nk 6.1?
Если нет, то так и должно быть, по идее initvmmap.exe на 6.1 должен динамически освобождать часть памяти, если его не использовать и занять дополнительно слот 0, то так только хуже должно стать. Другой вопрос - можно ли безболезненно перенести модули, которые должны быть в слоте 0 в слот 1.


nk 6.1 для афины есть.
Скорости конечно взяться неоткуда, но сам понимаешь,- после всячских открытий, от вновь созданного РОМа субъективно ожидаешь большего icon_smile

Что касается initvmmap.exe ,то я его использую, но ты сам глянь к каким процессам привязано большинство модулей в сфере его влияния - device.exe, filesys.exe, то есть процессам априори резидентным и модули эти загружены всегда.

Я ещё понимаю вариант с какой нибудь не всегда используемой ОЕМ программой с библиотеками в 0 слоте, но смысла в наличии в этом списке моего драйвера дисплея не вижу, или я не так понимаю работу всего этого процесса.

Я не первый год использую прошивки в которых в 0 слоте нет абсолютно ни одного модуля расположенного там полностью,просто прошивки настолько лёгкие, что при пользовании традиционными релоками туда ничего не попадало - проблем никогда не знал,
например модули из пакета Bluetooth ,их работа\не работа наверное сразу бы стала очевидной, но БТ-гарнитуру использовал и до нынешних открытий.

[Ответить на тему]   Ответить с цитатой   
viper02 [20.10.09, 16:24] :
уважаемые, а как вручную установить модулю флаг L в дсм файле, подскажите пожалуйста.

[Ответить на тему]   Ответить с цитатой   
taxist@ [21.10.09, 14:58] :
После многочисленных экспериментов, могу с уверенностью, сдобренной известной долей субъективизма, сказать ,что наличие в 0 слоте sqlcese30.sys.dll ,несколько растормаживает девайс в различных файловых операциях.

[Ответить на тему]   Ответить с цитатой   
Yad [26.10.09, 17:53] :
Кто там хотел выставлять вручную флаги в dsm, в соседней теме OSBuilder это умеет icon_smile

[Ответить на тему]   Ответить с цитатой   
SergeySG2000 [11.12.09, 00:52] :
А никто не может написать, что означают флаги по буквам?? Ну с L понятно, вот остальные?? S H D N P K X M C U R? icon_smile

[Ответить на тему]   Ответить с цитатой   
Barin [11.12.09, 00:58] :
SergeySG2000
Выдержка из оригинала:

S to define it as a system file.
H to define it as a hidden file.
R to compress resources. Applies to the MODULES section only.
C to compress everything.
D to prevent a debugger from running.
N to mark a module as non-trusted. Applies to the MODULES section only.
P to signal that ROMIMAGE must not check the CPU type specified in the header against the platform's target CPU type on a per-module basis. This flag is usually used for resource-only DLLs that can be built on one CPU type and used on different CPU types.
K to signal that ROMIMAGE must fixup the module to a kernel address.
In this process, ROMIMAGE assigns a fixed virtual address to the public exports that the DLL provides, and which is identical for all programs that use the DLL. A module which has this flag set can only be loaded with LoadKernelLibrary.

Applies to the MODULES section only.

X to signal that ROMIMAGE has to sign the module and include the signature file in the ROM, which helps determine whether an image is valid.
Applies to the MODULES section only.

M to signal the kernel to page in the whole module. By default, the kernel demand pages modules as needed. This flag is usually set for system services that will be called in paging, or which are in out-of-memory (OOM) condition.
Applies to the MODULES section only.

L to signal the ROMIMAGE to not split a ROM DLL between the process virtual memory area and the process slot 1. This protects DLLs that require the code and data to reside at consecutive virtual addresses.
Applies to the MODULES section only.

U to keep the module uncompressed, regardless of what the default setting is.

By default, all modules are uncompressed.

The R and C types refer to how the file is stored in ROM and how much RAM is used when the file is run. For example, variables are always compressed into ROM because they must be copied into RAM in order to run. However, code does not need to be compressed because it can run directly in ROM. When deciding these attributes, remember that the more you compress, the smaller the ROM, but the more RAM will be needed.

The D type prevents a debugger from running while the module is loaded and prevents a debugger from loading the module to debug it.

The N type marks a module as non-trusted, as by default, every module in the ROM MODULES section of a BIB file and the resulting binary is considered to be a trusted application. This is better than putting the module in the FILES section of the .bib file because it keeps the XIP capabilities.

The K type signals that a module is to be treated like the kernel with regards to memory location and relocation fixup styles. The module also has to be loaded with a special LoadKernelLibrary instead of in the usual manner. This is currently only used for the debugger and Remote Kernel Tracker.

[Ответить на тему]   Ответить с цитатой   
Technicien [02.04.10, 21:29] :
Прошу прощения если поднял много пыли написав сюда Very Happy
Короче такие вот вопросы (если что можно и носом ткнуть)...

1. Здесь вам надо починить мое понимание бытия: initvmmap.exe - менеджер виртуальной памяти, как я понимаю он должен использовать в качестве оперативной памяти доступную память на устройстве, если еще точнее, то он сгружает данные некоторых запущенных программ из оперативки в сторадж - это верно? Если верно то признаком его деятельности должен быть изменяющийся размер стораджа, так вот я наблюдал такое при открытии большого кол-ва программ (под завязку не забивал еще), но менялся он не более чем на мегабайт-полтора, а после перезагрузки становился таким какой был - а это верно?

2.Вот есть у нас драгоценное место в слоте 0, а чем же оно так драгоценно? В чем его преимущество перед слотом 1 и ваще... эх пока мозгов мало чтобы сказать, что хочу... НО!
Я вполне согласен с тем, что системные модули если должны лежать в слоте 0 то пусть там и валяются, это как бы оригинал и кто его собирал (в нашем случаем работяги ASUS), тот лучше меня знает что им там самое место. Да вот только я нисколько не согласен с тем, что одной из библиотек NetCF 3.5, а именно mscoree3_5.dll предначертано лежать в слоте 0, разумно ли будет поменять значения V и D (то что в OSBuildere можно менять в информации модулей) на такие чтобы этот модуль записывался в слот 1 ведь у него размер около 900 кб!? А еще вопрос такой - имеет ли значение конкретное содержание в V и D, или главное чтобы был эээ... "признак присутствия в слоте X", а дальше релок сам во всем разберется?
Теперь вопрос по библиотекам для xT9... в оригинале они должны лежать в слоте 0, опять же вопрос... что это им даст, не будет ли им хуже в слоте 1? (занимают почти мегабайт простраства).
Еще попадались модули у которых нельзя поменять значения V и D - c чем это связано, и куда они должны попасть?

На закуску... очень большая просьба подробно рассказать\показать, что есть слот 0 и слот 1, чем же слот 0 лучше слота 1 и почему его надо держать как можно более свободным?

[Ответить на тему]   Ответить с цитатой   

[Ответить на тему]

На страницу Пред.  1, 2, 3  След.
Форум Asus Mobile Club Russia > Полезное > Раздел Разработчика и Программиста > О модулях в слоте 0