3. Examples
1. Introduction
QFMOD - модифицирует файлы.
2. Usage
QFMOD quick file modifier.
Usage: QFMOD [COMMAND..] [-SWITCH..]
commands:
=========
compare:[1-5] compare two files.
find:<val> finding.
change:<val> change, replacement.
to:<val> will changed on ...
offset:<hex> Hex address.
counter:<num> counter.
backup:[yes,no] save backup copy.
chksum:[normal,total] Fix check sum.
switches:
=========
s<file> Set source file.
d<dir> Set output file dir.
m:[hex,text] mode of programm work.
Errorlevels returned by QFMOD are as follows:
0 - no errors
1 - error
2 - QFMOD was not working
3 - unequal size of files, to compare(if been 'comare' command)
2.1 Commands
COMPARE Сравнивать
Сравнить два файла. Программа сравнит два файла. Данная команда может принимать параметр
(цифра от 1 до 5, после дветочия) задающий способ вывода:
1 - вывод таблицы типа (offset val_1 val_2), без рамок, несовпадения выделяются
символом *
2 - вывод таблицы типа (offset | val_1 | val_2), с рамкой, несовпадения выделяются
символом *
3 - вывод таблицы типа (offset val_1 val_2), без рамок, выводятся только
несовпадения.
4 - вывод таблицы типа (offset | val_1 | val_2), с рамкой, выводятся только
несовпадения.
5 - вывод только offset-ов, только несовпадения.
FIND Искать
Программа найдет заданное значение.
CHANGE Замена
Программа поменяет значение, заданное данной командой, на значение заданное командой 'TO'.
TO На что менять
Программа поменяет значение заданное командой 'CHANGE', на значение, заданное данной командой.
OFFSET Шестнадцатиричный адресс
Программа начнет просматривать файл с адреса, заданного данной командой.
Примечание: программа рассмотрит одинакого шестнадцатиричное значение 0x1000 и 1000
COUNTER Счетчик
Программа произведет работу, заданное количество раз.
backup Резервная копия
QFMOD создаст резервную копию файла.
Данная команда имеет два параметра:
yes - создать резервную копию файла.
no - НЕ создавать резервную копию файла.
Команда backup без параметра равнозначна команде backup с параметром 'yes' т.е создать ре
зервную копию файла.
CHKSUM Контрольная сумма
QFMOD подсчитает контрольную сумму файла, и если она отличается от той что записана
в PE заголовке, заменит эти данные.
Данная команда имеет два параметра:
normal - Предполагает что PE заголовок в НАЧАЛЕ файла.
total - Предполагает что PE заголовок в ЛЮБОМ МЕСТЕ файла(как у setupldr.bin).
Команда chksum без параметра равнозначна команде chksum с параметром 'normal' т.е предпола
гается что PE заголовок в начале файла.
2.2 Switches
-s<dir> Имя(путь)исходного файла
-d<dir> Директорий результат
Директорий, в который сохранить файл результат.
-m Режим работы программы
Задает режим работы программы. Может иметь два значения:
hex - шестнадцатиричный
text - текстовый
3. EXAMPLES
1. Пример поиска байт(hex).
QFMOD -Ssetupldr.bin -m:HEX FIND:90909090
В данном случае программа будет искать сочетание шестнадцатиричных чисел - 90909090, в файле
setupldr.bin и если найдет, то выведет на экран.
2. Пример поиска и замены символов (text).
QFMOD -Ssetupldr.bin -m:text change:i386 to:BT_1
В данном случае программа будет искать, для замены, сочетание текстовых символов - i386,
в файле setupldr.bin и если найдет, то заменит их на сочетание символов BT_1.
3. Пример вывода байт на экран.
QFMOD -Ssetup.exe -m:hex find offset:0x1000 counter:10
В данном случае программа выведет 10 символов и их шестнадцатиричных значений, начиная с hex
адреса 0x1000, файла setup.exe.
4. Пример поиска байт(hex).
QFMOD -Ssetup.exe -m:hex find:0x9c67
В данном случае программа выведет все сочетания 9c67 в файле setup.exe.
5. Пример поиска байт(hex).
QFMOD -SC:\setup.exe -m:hex find:0x9c67 counter:5
В данном случае программа выведет 5 сочетаний 9c67 начиная от первого встреченного в файле
C:\setup.exe.
6. Пример поиска байт(hex).
QFMOD -Ssetup.exe -m:hex find:0x9c67 counter:5 offset:0x1200
В данном случае программа выведет 5 сочетаний 9c67 начиная c дреса 0x1200, в файле setup.exe
7. Пример использования QFMOD в командном сценарии.
REM
REM Данный скрипт сравнивает файл F1 с файлом F2, и, если обнаружит отличия производит
REM изменения в F1. Итог F1 делается одинаковым с F2.
REM (работает медленно)
REM
@ECHO OFF
SET F1=SETUP.EXE
SET F2=E:\SETUP.EXE
QFMOD -M:HEX COMPARE:3 -S%F1% -S%F2% > %TEMP%\MISMATCH.TXT
IF EXIST %TEMP%\MISMATCH.TXT (
FOR /F "TOKENS=1,2,3* delims= " %%A IN (%TEMP%\MISMATCH.TXT) DO (
ECHO ------------------------------------------------------------
QFMOD -M:HEX -S%F1% OFFSET:%%A CHANGE:0x%%B TO:0x%%C COUNTER:1
ECHO OFFSET=%%A %%B =^> %%C
ECHO ------------------------------------------------------------
REM PAUSE
)
)
PAUSE
Данный пример демонстрирует то, как QFMOD может сравнивнить два файла и вности изменения
в файл.
|
Copyright © 2008,2009 by nanopredator
|