-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLookingFor.tex
117 lines (77 loc) · 4.7 KB
/
LookingFor.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
\documentclass[11pt,a4paper,numbers=enddot]{scrartcl}
\usepackage{rawfonts}
\usepackage{amssymb}
\usepackage{geometry}
\geometry{
a4paper,
total={170mm,267mm},
left=25mm,
top=20mm,
bottom=20mm,
right=25mm
}
\usepackage{color}
\definecolor{astral}{RGB}{46,116,181}
\definecolor{myblue}{rgb}{0.25,0.25,0.5}
\usepackage{sectsty}
\sectionfont{\color{astral}}
\usepackage[colorlinks=true, urlcolor=blue, linkcolor=blue]{hyperref}
\setlength{\parskip}{1.5ex plus 0.5ex minus 0.5ex}
\usepackage{indentfirst}
\begin{document}
\title{\color{myblue}{LookingFor 2.0}}
\subtitle{\color{myblue}{A Masm64 tool to find strings in files}}
\author{Héctor S. Enrique}
\date{ nov 10, 2024}
\maketitle
\section{Running the Program: }
\begin{itemize}
\item Step 1: Enter target, that is a path and some file mask, for example:
\verb$ $ Target: \verb$\Masm64\*.as?|*.inc$.
\hspace{1cm} where:\\
\verb$ $ Target Path: \verb$\Masm64\ $ (end with backslash character ``\verb$\$'') \\
\verb$ $ Target Mask: \verb$*.as?|*.inc $ (can't be empty, at least a wildcard ``\verb$*$'')
\item Step 2: Enter strings to search. If no string is entered then all files that fit the mask are listed. If there are two strings, files listed match both.
\item Step 3: For each string set modes to search:
\begin{itemize}
\item case: sensitive, insensitive or ignore first char.
\item word: partial word, full word, or full with underscore (usually a compose word). An experimental options is full with points (because ML64 accept the point at name beginning).
\end{itemize}
\item Step 4: If You want to exclude files fitting some mask, write that in ``excluded'' cell (for example \verb$*.exe|*.lib|*.dll|*.obj$)
\item Step 5 : When entered two strings, is possible to restrict the search to some distance between them. Enter in cell ``maxDist'' the number of bytes.
\item Step 6 : Adittionally, files to search can be limited by size writing megabyte size in cell ``maxMb''.
\item Step 7 : Click ``Find'' button (or Return key in any edition cell).
\item Step 8 : a running search can be stopped any moment clicking same button, wich now show ``Cancel'' text.
\end{itemize}
\section{Values storage: }
After first running the program will create an .ini file containing:
\begin{itemize}
\item Key 1: interface size and position
\item Key 2: to store current target and search parameters.
\item Key 3: prefered list of targets (see \hyperlink{targets}{Targets List}).
\item Key 4: default editors for \verb$*.bat$, \verb$*.cmd$ and \verb$*.js$ files (if not present \verb$\masm64\qeditor$).
\item Key 5: last sorting order.
\end{itemize}
\section {More about file mask}
Some general file masks can be used to search:
\hspace{2cm}``*`` in all files, except ``.`` and ``..``
\hspace{2cm}``*.`` in files without extension
\hspace{2cm}``.*`` in only extension files
\hspace{2cm}``*.*`` in all files with name and extension
\section {Files matching definitions}
Clicking with mouse or pressing Enter key will open selected file in result list. Because is a tool for programming, is expected that extensions of interest have associated an editor.
Executable files will not open to prevent unwanted runnings.
In similar way \verb$*.bat$, \verb$*.cmd$ and \verb$*.js$ files will not run. But in this cases they will open in an editor. By default \verb$\masm64\qeditor$ is that editor. But is possible to select a new path or editor. If default or stored editor fail, a dialog will ask a new path or editor. Later, editor could be changed in LookingFor.ini file.
\hypertarget{targets}{}\section {Targets List}
Buttons ``+'' and ``--'' allow to store or remove current target from an specific list stored in LookingFor.ini file.
Button ``...'' open a dialog with options to sort the targets by storage sequence, characters in target and use frequency, in ascendent or descent order. The ASCII characters are ordered as following: symbols (first half), numbers, letters (case insensible), second half characters (above 127).
\section{Knowledgements}
To Masm32 forum members that help in testing this application, specially to greenozon for detailed reports.
\section{Additional Information}
The program was builded with \verb$Masm64 SDK$.
Source code and discussion is is available at:
\begin{itemize}
\item \href{https://masm32.com/board/index.php?topic=11888.0}{LookingFor: a Masm64 tool to find strings in files} (in Masm32 Forum)
\item \href{https://github.com/ASMHSE/LookingFor-in-Assembly}{LookingFor\_in\_Assembly} (in GitHub)
\end{itemize}
\end{document}