Последние сообщения

Страницы: 1 ... 3 4 5 6 7 [8] 9 10
71
RusMe - РусМи! / Re: Удлинение "неудлиняемых" строк
« Последний ответ от миха04 12 Мая 2020, 11:17:07 »
Большое спасибо. Вот таких тонкостей я как раз и не знал. Будет добавка в мою копилку статей. :dance:
72
RusMe - РусМи! / Re: Удлинение "неудлиняемых" строк
« Последний ответ от leserg73 12 Мая 2020, 01:46:05 »
У строк подменю "Paste Special" есть ссылки, только они не прямые, а косвенные (посредством другого адреса/ссылки). Возьмем строку "Insert", Обращение к этой строке выполняется инструкцией вида lea r15, ds:[0x00000001415D1910]. Причем, адрес 00000001415D1910 является ссылочным и указывает не на строку, а на следующий адрес 00000001415CB758, по которому уже находится сама строка "Insert".

Рис. 1


Таким образом, вам нужно сделать перевод данной строки в другом месте, например в новой секции, и изменить в коде только прямой адрес к этой строке, а ссылочный адрес оставить без изменений. Вот как ниже показан пример со строкой "Insert". В новом месте добавлен перевод и скорректирован прямой адрес к этой строке. Ссылочный адрес остался без изменений.

Рис. 2


Обратите внимание, что порядок записи байт адреса обратный (от младшего к старшему). Аналогично нужно поступить и по остальным строкам этого подменю. Как видно из рис.1 (см. панель дампа), все прямые адреса на строки этого подменю находятся в одном месте и следуют друг за другом. Вот эти адреса вам необходимо скорректировать в отладчике с учётом  адресации переведенных строк для подменю.


Касательно пунктов подменю "Rewind", "Play" в меню "Transport". По строке "Rewind" я проблем не увидел, просто для неё исправьте указатель длины в соответствии с длиной переведенной строки. Аналогично для строки "Play", но с небольшим нюансом. Эта строка является динамической. Если обратили внимание, то при включении воспроизведения она изменяется на "Stop" и наоборот. Также, полагаю, вы обратили внимание на то, что длина этих строк, "Play" и "Stop", одинаковая - 5 байт (длина строк 4 байта плюс 1 байт на признак клавиши быстрого доступа (&)).  Из-за этого у них в коде общий указатель длины. Он находится перед блоками кода с выбором установки соответствующих строк. Смотрите участок кода, представленный на рисунке ниже. Сначала командой mov r8d, 0x5 в регистр r8d заносится значение длины строки, а затем выбирается та или иная строка для установки в меню.

Рис. 3


Что делать? Можно немного переделать код так, чтобы для каждой их строк устанавливался указатель длины, соответствующий переведенным строкам. Это не сложно, если разбираетесь в ассемблере. А можно пойти другим путём. Сделать переводы строк одинаковой длины и потом на это значение скорректировать указатель длины. Например, переведем строки следующим образом: "Воспроизвести" и "Остановить". В кодировке UTF-8 длина первой строки - 1Ah байт, а второй - 14h байт. Строку "Остановить" дополняем пробелами до размера 1Ah байт. Вот так: "Остановить      "  (6 пробелов). Затем корректируем в коде значение указателя длины для этих строк.

Рис. 4


Вы можете сделать перевод этих строк в Radialix, а потом в отладчике или НЕХ-редакторе изменить значение длины. Главное сделайте длину строку одинаковой, иначе более короткая строка потеряет клавишу управления (Space). Сохраняете изменения в файле; проверяете в работе.

Рис. 5
73
RusMe - РусМи! / Удлинение "неудлиняемых" строк
« Последний ответ от миха04 10 Мая 2020, 16:19:20 »
Поздравляю всех с Днём Победы! Коварный iZotope RX7 постоянно подкидывает проблемы. В меню Transport строки Rewind, Play, например, не хотят удлиняться ни с помощью IDA, ни переносом на новый адрес в x64dbg. Всё строго ограничено количеством байт, а вот слово Файл уложилось при переносе. Также проблема со строками в подменю Paste Special меню Edit, это Insert и так далее. У них нет ссылок. Вот такая заморочка. Есть ли решение проблемы? Пытался искать по размерам полей, куда вписаны строки, но там просто гигантское число констант выскакивает. Для меня, как человека малосведущего в коде, это просто непонятный набор символов. Файл https://yadi.sk/d/h7umphumB4NN9A
74
RusMe - РусМи! / Re: Извлечение изображений из бинарного файла
« Последний ответ от миха04 10 Мая 2020, 13:44:51 »
Поздравляю всех с Днём Победы! Коварный iZotope RX7 постоянно подкидывает проблемы. В меню Transport строки Rewind, Play, например, не хотят удлиняться ни с помощью IDA, ни переносом на новый адрес в x64dbg. Всё строго ограничено количеством байт, а вот слово Файл уложилось при переносе. Также проблема со строками в подменю Paste Special меню Edit, это Insert и так далее. У них нет ссылок. Вот такая заморочка. Есть ли решение проблемы?
75
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от SENKO 04 Мая 2020, 21:43:18 »
Bы вeдь пoнимaeтe, чтo нyжeн нe тoлькo фaйл NОDЕ.ЈЅ, нo и вce cкpипты, гдe мoжeт быть тpeбyющaя пepeвoдa cтpoкa. A инoгдa нaдo и кapтинкy c инocтpaнным тeкcтoм пoдпpaвить. Baш бaтник ищeт oпpeдeлённyю cтpoчкy и извлeкaeт нaйдeнныe ЈЅ-фaйлы. Ho вeдь иx тaм гopaздo бoльшe! Kaк вытaщить вcё (вce cкpипты, кapтинки и т.д.)? C cyщecтвyющим бaтникoм, к coжaлeнию, – никaк :( (y мeня ecть cмyтнoe пoдoзpeниe, чтo и пятьдecят фaйлoв – пpocтo нeкoe фикcиpoвaннoe чиcлo, пocлe кoтopoгo цикл пpинyдитeльнo oбpывaeтcя; кaкaя, кcтaти, пpoгpaммa пoкaзывaeт внyтpeнниe имeнa ЈЅ?). Aдpeca вшитыx cкpиптoв нyжны для oтлaдки пoлyчeннoгo peзyльтaтa: пoкa чтo нe знaю, кaк cкpипты фyнкциoниpyют пocлe лoкaлизaции, a кaк иx вызвaть изнyтpи любoй НТМL-cтpaницы – нe вeдaю.
76
RusMe - РусМи! / Re: Извлечение изображений из бинарного файла
« Последний ответ от миха04 04 Мая 2020, 21:00:08 »
В очередной раз спасибо! Благодаря вашим подсказкам выяснил, что проще программу переводить с IDA Pro 5.2, части строк придётся корректировать длину в x64dbg. Помучился, но получил опыт :dance:
77
RusMe - РусМи! / Re: Извлечение изображений из бинарного файла
« Последний ответ от leserg73 04 Мая 2020, 17:11:29 »
Быстро это можно сделать с помощью утилиты Exeinfo PE. Поместите исполняемый файл программы iZotope RX 7 Audio Editor.exe в отдельный каталог, чтобы извлеченные данные не смешались с файлами программы, иначе можно запутаться. Затем загрузите этот файл в Exeinfo PE, нажмите кнопку "Rip" далее в подменю GFX pictures выберите пункт PNG. Начнется процесс извлечения, утилита покажет окошко извлекаемых данных. По окночании не спешите закрывать это окошко, а нажмите кнопку "Clip". Вся информация об извлекаемых данных будет скопирована в буфер обмена. Сохраните её в текстовый документ. Она пригодится вам для быстрого нахождения необходимого изображения в исполняемом файле при помощи НЕХ- редактора и последующей его замены. Этот список содержит данные смещений, по которым найденные изображения находятся в файле. Ориентируйтесь в списке по именам файлов. Смотрите прилагаемые скриншоты.

Также есть множество других утилит, например, Ravioli Game Tools (описание работы) или MultiExtractor. В отличии от Exeinfo PE они позволяют вставить изображение обратно в файл не заморачиваясь в НЕХ-редакторе.
78
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от leserg73 04 Мая 2020, 14:02:34 »
Нативные сценарии находятся в NW.ЕХЕ с адреса #020ABF68 по #020F9E01 и представляют собой сплошной перечень функций, которые программа выбирает и загружает по определенному алгоритму (принцип LEGO).



Что-то в них изменить или добавить невозможно. В случае нарушения целостности данного блока данных программа аварийно прекращает свою работу. В коде программы (файл nw.exe) чтение функций осуществляется следующим образом:



Из этих функций формируются нативные сценарии JS, которым далее присваиваются имена:



Подобным образом формируются другие сценарии, т.е. складываются из отдельных строк, блоков, а затем выводятся в программе. Остальные сценарии ищите в ресурсах, например сценарий wіndоw_bіndіngѕ.јѕ там и находится (файл nw.pak).

Раз программа проверяет эти данные, то не исключена проверка и всех остальных сценариев JS зашитых в коде (те 50 штук). Поэтому их тотальная замена может быть неудачной; программа не будет работать.  :(

P.S. Кстати я ошибался, когда говорил, что последние версии имеют локализацию. :shuffle:
Имеющиеся языковые файлы относятся к браузеру Chromium, на котором базируется разработка, а к самому приложению не имеют никакого отношения.

Да, если вам нужна для XP, то по заявлению разработчика, последней версией, которая поддерживает Windows XP, является v0.14.7. В общем сами разберетесь, что вам нужнее.  :)
79
RusMe - РусМи! / Извлечение изображений из бинарного файла
« Последний ответ от миха04 04 Мая 2020, 13:01:25 »
Всем добра и здоровья. Чем можно извлечь изображения из бинарного файла .res или .exe, где находится этот ресурс? С Hex редактором много возни, большое количество .png, а также мусора в виде морд лица разработчиков на десятки тысяч байт (скрин). Файл программы iZotope RX7 https://yadi.sk/d/h7umphumB4NN9A . Нужна кнопка Repair Assistsnt.
80
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от leserg73 04 Мая 2020, 00:00:22 »
У меня готовый файл зaпускaeтся, но мгновенно вырубaeтся, если некoторые пoдпpaвлeнныe cкpипты побaйтно не coвпадaют с рaзмером оригинaла!
Скорее всего программа проверяет размеры этих данных. Поэтому и писал про идеальный вариант. Это продиктовано опытом, чтобы не ломать голову и не терять время, разбираясь почему происходит сбой. Тем более формат данных текстовый и добиться в нем исходного размера не так сложно. Сколько нужно добавить или убавить очень хорошо видно, например, в текстовом редакторе Notepad++. В строке состояния он показывает размер открытого файла. И не нужно использовать НЕХ-редактор. Открыли файл, запомнили или записали размер (можно рядом открыть окно проводника с резервной копией оригинального файла, чтобы его размер был у вас на виду). Отредактировали документ, потом глянули на число и окончательной правкой подогнали под исходный размер. Возможные способы подгонки я описал выше.  :yes:



В какой-то мере работа с QuісkВМЅ даже сложнее правки в НЕХ-редaкторе, где сразу видишь рeзультат в пределах нeскольких стрoк: надо либо проверять кoмпиляцией каждый промeжуточный рeзультат, либо в конце вручную высчитывать рaзницу в байтaх (и вручную же их подклеивать).
QuісkВМЅ - это просто обработчик скриптовых команд. Сам по себе он ничего не делает. Только то, что написано в сценарии. Можете им не пользоваться, я его привел в качестве примера. НЕХ-редакторы тоже поддерживают скриптовый движок, например, такие как WinHEX, SweetScape 010 Editor или Hex Editor Neo. Если вы используете один из указанных, то изучите его возможности. А вообще можно использовать и другие инструменты, например, AutoIt, PureBasic, Hiasm и т.д. (список можно продолжать).   :bow:

Ваш бaтник ищет стрoку «// Соруrіght Јоуеnt» и возвращает пятьдeсят результaтов! Причём из тех 42 он не видит cкрипты с «// Соруrіght (c) 2012 Intel Corp» в заголoвке (их oдиннадцать), а также аѕѕеrt.јѕ, wіndоw_bіndіngѕ.јѕ и двадцать штук «native». Кстати, а какой командой извлечь не только ЈЅ, но и все другие рeсурсы ЕХЕ
Разговор шел о файле NODE.JS. На его основе я набросал сценарий для поиска и извлечения данных подобных  ему. Чтобы извлечь что-то другое, вам достаточно сделать копию сценария, дать ему другое имя, изменить в нем строку поиска и при распаковке указать другую папку.

  # Выполняем поиск смещения с указанными данными
  FindLoc OFFSET binary "// Copyright Joyent" 0 ""

Сценарий имеет текстовый формат и в нем даны комментарии. Подробное описание команд дано в сопровождающей документации к QuісkВМЅ. Но прежде необходимо изучить внутренности ЕХЕ-файла, структуру, порядок, размещение и формат ресурсов. Определить ключевые блоки ресурсов, по которым их можно безошибочно идентифицировать.  :smoke:

Также хотелось бы спросить, по какому адреcу NW.ЕХЕ открывает вшитыe туда cкрипты?

Чтобы ответить на этот вопрос, его нужно загрузить в отладчик и заняться исследованием кода программы. Зачем вам это?  :idontnow:

Они указаны при зaгрузке пустoй страницы, но попытка добaвить их через (к примеру) <script src="nw://nоdе.јѕ"></script> генерирует «Unсаught nоdе.јѕ Еrrоr».

SENKO, чес слово, с программой я не знаком. Как она работает, что она делает и т.д. и т.п. Какая пустая страница, где загружается, где и как вы пытаетесь что-то добавить? Может вы неправильно это делаете или не туда добавляете.   :idontnow:
Страницы: 1 ... 3 4 5 6 7 [8] 9 10