информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsSpanning Tree Protocol: недокументированное применениеПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hacking
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Если мы руками меняем иконку на кнопке, то она хранится либо в normal.dot либо внутри дока, если панель для него специфична 01.09.07 00:16  Число просмотров: 3962
Автор: Ustin <Ustin> Статус: Elderman
Отредактировано 01.09.07 00:36  Количество правок: 1
<"чистая" ссылка>
Иконки же по дефолту хранятся, скорее всего, в winword.exe, так как
а) поиск в инете грит, что хранятся они одним битмапом
б) он самый жырный ;)
> Ковырялся везде в офисе, не нашёл.
в) Я чё-то тоже, но там есть ресурсы типа 998, некоторые из них как раз по размеру тянут на заявленный битмап.
Поменять иконки к кнопкам можно с помощью макроса, исполняющегося по старту ворда. Создаём панель инструментов на ней делаем кнопки и подсасываем им иконку, например из буфера обмена (control.pasteface). Cохраняем в normal.dot соседа (или в своём шаблоне, тогда его кидаем в "C:\Documents and Settings\Знакомый\Application Data\Microsoft\Word\STARTUP\My.dot" ) + закидываем туда autoexec процедуру, которая собно и меняет иконки на имеющиеся в панели или стандартные путём манипуляций с ctrl.FaceID
UPD:
Соответствия фэйсидов названиям кнопок можно получить так:
Sub OutputControlsID()
  Const MinId = 0
  Const MaxId = MinId + 64
  ' создаем временную командную панель, MinId in [0..4096]?
  Set Cbr = CommandBars.Add("tmp", msoBarTop, False, True)
  On Error Resume Next
  ' игнорируем ошибки, не всем номерам соответствуют встроенные элементы
  For i = MinId To MaxId
    Cbr.Controls.Add ID:=i
  Next
  
  On Error GoTo 0  'включаем обработку ошибок
  Open "c:\temp\id.txt" For Output As #1
  For Each btn In Cbr.Controls
    Write #1, btn.ID, btn.Caption
  Next
  Close #1
  'записали в файл ID и названия кнопок
  Cbr.Visible = True
  MsgBox "Look 2 new panel"
0 Cbr.Delete  ' удаляем панель
End Sub

---
<hacking>
Из чисто спортивного интереса — где хранятся граф. ресурсы (изображение кнопок в тулбарах) в MS Word 2003? (Updated) 30.08.07 16:29  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 02.09.07 09:30  Количество правок: 5
<"чистая" ссылка>
Ковырялся везде в офисе, не нашёл.

<Updated>
В процессе исследований выяснилось, что искомое лежит (вероятно!) в экзешниках в ресурсах типа «998» в проприетарном сжатом (?) формате.
Цель — извлечь эти ресурсы в удобоваримом формате типа Icon или Bitmap.
Интересно, M$ выпускает Checked Build офиса? Тогда можно было бы «бегло просмотреть», что он там делает с 998, отладчиком ;-)

Интересно, какой му@ак в кулуарах этой открытой, дружелюбной к пользованиям компании дал команду программерам закрыть граф. ресурсы?
Если мы руками меняем иконку на кнопке, то она хранится либо в normal.dot либо внутри дока, если панель для него специфична 01.09.07 00:16  
Автор: Ustin <Ustin> Статус: Elderman
Отредактировано 01.09.07 00:36  Количество правок: 1
<"чистая" ссылка>
Иконки же по дефолту хранятся, скорее всего, в winword.exe, так как
а) поиск в инете грит, что хранятся они одним битмапом
б) он самый жырный ;)
> Ковырялся везде в офисе, не нашёл.
в) Я чё-то тоже, но там есть ресурсы типа 998, некоторые из них как раз по размеру тянут на заявленный битмап.
Поменять иконки к кнопкам можно с помощью макроса, исполняющегося по старту ворда. Создаём панель инструментов на ней делаем кнопки и подсасываем им иконку, например из буфера обмена (control.pasteface). Cохраняем в normal.dot соседа (или в своём шаблоне, тогда его кидаем в "C:\Documents and Settings\Знакомый\Application Data\Microsoft\Word\STARTUP\My.dot" ) + закидываем туда autoexec процедуру, которая собно и меняет иконки на имеющиеся в панели или стандартные путём манипуляций с ctrl.FaceID
UPD:
Соответствия фэйсидов названиям кнопок можно получить так:
Sub OutputControlsID()
  Const MinId = 0
  Const MaxId = MinId + 64
  ' создаем временную командную панель, MinId in [0..4096]?
  Set Cbr = CommandBars.Add("tmp", msoBarTop, False, True)
  On Error Resume Next
  ' игнорируем ошибки, не всем номерам соответствуют встроенные элементы
  For i = MinId To MaxId
    Cbr.Controls.Add ID:=i
  Next
  
  On Error GoTo 0  'включаем обработку ошибок
  Open "c:\temp\id.txt" For Output As #1
  For Each btn In Cbr.Controls
    Write #1, btn.ID, btn.Caption
  Next
  Close #1
  'записали в файл ID и названия кнопок
  Cbr.Visible = True
  MsgBox "Look 2 new panel"
0 Cbr.Delete  ' удаляем панель
End Sub

---
Извлечь не получается — ресурс «998» вроде имеет заголовок и дальше пожато... Нехорошие редиски в M$ :( 01.09.07 11:40  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Беглый поиск по инету нихрена не дал, всё сводится примерно к следущему: 01.09.07 23:27  
Автор: Ustin <Ustin> Статус: Elderman
Отредактировано 01.09.07 23:46  Количество правок: 1
<"чистая" ссылка>
Been there... done that.
I have gone through EVERY frikin' dll and exe related to Office XP, and as stated in a previous post, asked a friend of mine who works for MS (Programmer).
The images for the splash screen are not in bitmap format or gif of jpeg.
They are in binary format in the exe.
You would have to decompile the exe and then locate the resources that make up the image.
Then replace the resources and re-compile.
Sounds easy... but it's not.
http://www.aqua-soft.org/board/showthread.php?t=1250
А потом какой-то презик грит, что он добился этого, но не сообщает как.
----
OFF: как показала практика, код типа
Private Sub Document_Open()
 Randomize Timer
 If Int((256 * Rnd)) = 127 Then
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ","
        .Replacement.Text = ", @#$,"
        .Forward = True
      End With
    Selection.Find.Execute Replace:=wdReplaceAll
 End If
End Sub

---
в модуле thisdocument normal.dotа действует просто магически практически на всех людей, особенно если обернуть его какой-нить размножалкой
Про «подменить картинки» это стёб, на самом деле надо вытащить ресурсы. Поправлю корневой пост, дабы не смущать народ. 02.09.07 09:18  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 02.09.07 09:24  Количество правок: 1
<"чистая" ссылка>
> А потом какой-то презик грит, что он добился этого, но не сообщает как.
Ага, тоже рылся в инете. Натыкался на этот бред... Народ потом говорит "ны ты чё, давай. говори как вытащил/распаковал", а тот больше не появлялся.


> OFF: как показала практика, код типа
>
> Private Sub Document_Open()
>  Randomize Timer
>  If Int((256 * Rnd)) = 127 Then
>     Selection.Find.ClearFormatting
>     Selection.Find.Replacement.ClearFormatting
>     With Selection.Find
> 	.Text = ","
> 	.Replacement.Text = ", @#$,"
> 	.Forward = True
>       End With
>     Selection.Find.Execute Replace:=wdReplaceAll
>  End If
> End Sub
> 

---
> в модуле thisdocument normal.dotа действует просто
> магически практически на всех людей, особенно если обернуть
> его какой-нить размножалкой
Прости что ввел в заблуждение... Мне не это надо ;-)
Видимо плохо искал. Если не ошибаюсь, то лежат они в куче... 30.08.07 16:37  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
Видимо плохо искал. Если не ошибаюсь, то лежат они в куче dll и exe, в виде довольно больших BMP, до нескольких десятков кнопок в одном битмапе.
Поточнее? Про 988 я отписал выше... Может кто знает алгоритм? 01.09.07 17:44  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach