View previous topic :: View next topic |
Author |
Message |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Wed Jun 23, 2010 02:19 Post subject: Re: Открыть новую вкладку в текущем окне |
|
|
DoctorIkari wrote: | Суть: пропатчил файл uTorrent.exe чтобы возможно было перходить в тотал по меню "Открыть папку". |
можешь рассказать как ты нашёл пункт "Открыть папку" и в какой программе ты его искал?
мои действия:
распаковал utorrent с помощью upx, открыл ResHack'ом и пытался найти что-то напоминающее "explorer", но увы не нашёл.. может плохо искал? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 23, 2010 07:42 Post subject: Re: Открыть новую вкладку в текущем окне |
|
|
DoctorIkari wrote: | MVV, ты в чем просматривал файл? |
Я привык к WinHex и пользуюсь только им.
laburj wrote: | мои действия:
распаковал utorrent с помощью upx, открыл ResHack'ом и пытался найти что-то напоминающее "explorer", но увы не нашёл.. может плохо искал? |
Надо было открывать не ресурс хакером, а hex-редактором. Искомые строки находятся в секции данных, а не в секции ресурсов. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Wed Jun 23, 2010 12:16 Post subject: |
|
|
MVV, а не мог бы поподробнее рассказать как и что ты искал в winHex'e и в последствии на что заменял?
а также как сравнивал 2 файла в winHex'e? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 23, 2010 12:59 Post subject: |
|
|
laburj wrote: | MVV, а не мог бы поподробнее рассказать как и что ты искал в winHex'e и в последствии на что заменял?
а также как сравнивал 2 файла в winHex'e? |
Сравнивать можно просто в тотале. А в винхексе можно сравнивать и одновременно править, при этом можно сравнивать файлы с разных позиций (но кратных ширине строки) - для этого грузишь два файла и выбираешь View - Synchronize & Compare.
К сожалению, винхекс не позволяет править юникод-строки в текстовом виде, как некоторые hex-редакторы.
Открываешь распакованный файл в винхексе, жмешь Find Text, вводишь explorer.exe и выбираешь Unicode. Найдешь два места, где прописан explorer.exe - они рядом расположены. Далее нужно аккуратно прописать поверх строки explorer.exe новую строку (автор темы прописывал open.lnk) - необходимо уместиться в длину исходной строки. В юникод-строках каждый символ занимает два байта, английские символы кодируются как сам символ и за ним нулевой байт - поэтому все английские юникод-строки выглядят как текстовые строки, где после каждого символа идет нулевой байт - так их и надо оставить, и обязательно в конце два нулевых байта для завершения строки. То есть, исходная строка explorer.exe длиной 12 символов плюс завершающий нулевой (или 26 байт):
Code: | 65 00 78 00 70 00 6C 00 6F 00 72 00 65 00 72 00 2E 00 65 00 78 00 65 00 00 00
e x p l o r e r . e x e _ |
(подчерком я обозначил нулевой символ)
Прописываем поверх этой строки, скажем, строку open.lnk длиной 8 символов плюс нулевой (18 байт):
Code: | 6F 00 70 00 65 00 6E 00 2E 00 6C 00 6E 00 6B 00 00 00
o p e n . l n k _
|
Прописывать новые значения можно как в столбце текста, так и в столбце hex-значений (например, нулевой байт можно прописать только в нем).
А остаток исходной строки (там еще будут символы exe и нулевые байты) можно оставить без изменения, так как мы и так прервали строку нулевым символом (то есть, двумя нулевыми байтами). _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Wed Jun 23, 2010 13:33 Post subject: |
|
|
MVV, спасибо огромное за такое подробное разъяснение!
подправил свой utorrent и теперь открывает папку в новой папке текущей панели
ярлык таков:
C:\totalcmd\TOTALCMD.EXE /O /S /T
пс. правда одно НО! :
Если торрент содержал один лишь файл, без папки, то в тотале его папка не открывается, а только лишь активируется тотал.
Last edited by laburj on Wed Jun 23, 2010 14:28; edited 1 time in total |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jun 23, 2010 14:16 Post subject: |
|
|
laburj
Нет такого ключа /L, есть ключ /L=<путь>, и восприниматься он будет Тоталом в данной команде как исходный каталог. См. справку. |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Wed Jun 23, 2010 14:28 Post subject: |
|
|
Flasher
случайно добавил, copy-paste подвёл
но всё равно проблему не решает |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jun 23, 2010 14:38 Post subject: |
|
|
laburj
Да как же он будет открывать ТС в нужной папке и ставить курсор на нужный файл, если не задан сам путь к файлу? См. как я писал во втором посте. Сразу пишу, что пока свой utorrent не патчил, поэтому точно сказать не могу, что даёт специальный параметр utorrent-a "%s", я его понимаю как вставку полного пути в комстроке, как в случае с ТС это был бы %P%N. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 23, 2010 15:19 Post subject: |
|
|
Я проверял с батником. Если исправлять только путь к explorer.exe, то параметры, передаваемые ярлыку (или батнику), будут такими:
Code: | /select,"X:\путь\к\папке" |
Такой параметр будет передаваться ярлыку при выборе команды перехода в контекстном меню торрента из одного файла, а также при выборе команды перехода в контекстном меню любого файла в списке файлов торрента. А команда перехода из контекстного меню торрента-папки передает просто путь к папке. Поэтому надо еще подправить строчку файла, содержащую этот самый /select. Это единственная строка файла /select,"%s", и ее нужно исправить на просто "%s" (она тоже в юникоде, поэтому после каждого символа нужен нулевой байт, а в конце - два). После корректировки мюторрент будет передавать ярлыку просто полный путь к файлу или папке в кавычках.
Quote: | Нет такого ключа /L, есть ключ /L=<путь>, и восприниматься он будет Тоталом в данной команде как исходный каталог. См. справку. |
Кстати, хорошо, что тотал понимает и просто путь в командной строке, без /L=. Поэтому в ярлык можно написать просто TOTALCMD.exe /O /S /T, а мюторрент при запуске ярлыка будет указывать дополнительный параметр - путь к файлу/папке - и тотал будет прыгать к объекту в новой вкладке активной панели запущенного тотала - собственно, такие параметры и используются в описанном выше ярлыке. А вот с неактивной панелью такой фокус уже не пройдет, придется менять в мюторренте описанную выше строчку на /R="%s", или же ярлыком запускать батник, который будет передавать тоталу параметр /R=%1.
Quote: | Сразу пишу, что пока свой utorrent не патчил, поэтому точно сказать не могу, что даёт специальный параметр utorrent-a "%s", я его понимаю как вставку полного пути в комстроке, как в случае с ТС это был бы %P%N. |
Здесь строка /select,"%s" - форматная строка функции построения строк по формату (например, есть стандартная системная функция wsprintf), и %s означает, что параметр является строковым - в этом параметре мюторрент и передает функции путь к файлу/папке. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Wed Jun 23, 2010 16:08; edited 1 time in total |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jun 23, 2010 16:05 Post subject: |
|
|
MVV wrote: | Это единственная строка файла /select,"%s", и ее нужно исправить на просто "%s" | Пока разницы в эффекте не почувствовал. MVV wrote: | Кстати, хорошо, что тотал понимает и просто путь в командной строке, без /L=. Поэтому в ярлык можно написать просто TOTALCMD.exe /O /S /T, а мюторрент при запуске ярлыка будет указывать дополнительный параметр - путь к файлу/папке - и тотал будет прыгать к объекту в новой вкладке активной панели запущенного тотала | Фактически уже начал писать об этом, опередил, только вот прыжка не наблюдается. MVV wrote: | Здесь строка /select,"%s" - форматная строка функции построения строк по формату (например, есть стандартная системная функция wsprintf), и %s означает, что параметр является строковым - в этом параметре мюторрент и передает функции путь к файлу/папке. | Тем не менее, как оказалось и без него всё работает. Вот только с перескоком-то что делать? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Wed Jun 23, 2010 16:11 Post subject: |
|
|
Flasher wrote: | MVV писал(а):Это единственная строка файла /select,"%s", и ее нужно исправить на просто "%s"Пока разницы в эффекте не почувствовал. |
я тоже увы не разницы не заметил, файлы мюторрента как не открывались в торренте, так и не открываются, только папки.
MVV wrote: | Как вариант, можно просто поставить в этой строке пробел вместо запятой - тогда ТК при запуске проигнорит параметр /select, а следующий за ним путь откроет в панели. |
так тоже пробовал, но увы всё по прежнему |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 23, 2010 16:23 Post subject: |
|
|
Ну, ребята, не знаю, у меня работает правильно. Попробуйте прописать в свойства ярлыка не тотал с параметрами, а чисто бат-файл без параметров:
Code: | @echo off
echo %*
pause
cls |
Тогда он будет показывать параметр, с которым его запустил мюторрент. Во всех случаях показывать должно лишь полное имя файла/папки в кавычках.
Мюторрент точно тот патчите? Перезапускаете?
Изменял я строку:
Code: | 2F 00 73 00 65 00 6C 00 65 00 63 00 74 00 2C 00 22 00 25 00 73 00 22 00 00 00
/ s e l e c t , " % s " _ |
И прописывал поверх нее строку:
Code: | 22 00 25 00 73 00 22 00 00 00
" % s " _ |
А с просто пробелом вместо запятой попробовал - не так работает, как ожидалось, факир был нетрезв.
Quote: | Тем не менее, как оказалось и без него всё работает. |
Без него не работает. Если, конечно, он - это параметр %s в форматной строке. А просто так абы где (например, в свойствах ярлыка) его указывать и не получится. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jun 23, 2010 16:51 Post subject: |
|
|
А я просто дЭлю строки в текстовом режимеЭто не то же самое? MVV wrote: | А просто так абы где (например, в свойствах ярлыка) его указывать и не получится. | Указать-то получится, только толку от него - ноль. 
Last edited by Flasher on Wed Jun 23, 2010 16:58; edited 2 times in total |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 23, 2010 16:55 Post subject: |
|
|
Flasher wrote: | А я просто делю строки в текстовом режимеЭто не то же самое? |
В смысле "делишь"? Каждый второй символ строки должен быть нулевым байтом (00 в hex, а в текстовом столбце он отображается в виде точки), а после последнего должно идти минимум два нулевых байта (00 00 в hex). И тебе надо поверх этой строки /select прописать строку "%s". А в столбце текста нулевой байт поставить невозможно.
Quote: | Указать-то получится, только толку от него - ноль.  |
Это и подразумевалось.
А толку от него будет ни больше ни меньше дополнительная пара символов %s. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Wed Jun 23, 2010 17:01; edited 1 time in total |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|