Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
209d2976
Commit
209d2976
authored
Apr 22, 2019
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedump: Also check for builtin dll signature.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
3a02bc2e
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
7 deletions
+11
-7
pe.c
tools/winedump/pe.c
+11
-7
No files found.
tools/winedump/pe.c
View file @
209d2976
...
...
@@ -98,16 +98,20 @@ static const IMAGE_NT_HEADERS32 *get_nt_header( void )
return
PRD
(
dos
->
e_lfanew
,
sizeof
(
DWORD
)
+
sizeof
(
IMAGE_FILE_HEADER
));
}
static
BOOL
is
_fake_dll
(
void
)
static
void
print
_fake_dll
(
void
)
{
static
const
char
builtin_signature
[]
=
"Wine builtin DLL"
;
static
const
char
fakedll_signature
[]
=
"Wine placeholder DLL"
;
const
IMAGE_DOS_HEADER
*
dos
;
dos
=
PRD
(
0
,
sizeof
(
*
dos
)
+
sizeof
(
fakedll_signature
));
if
(
dos
&&
dos
->
e_lfanew
>=
sizeof
(
*
dos
)
+
sizeof
(
fakedll_signature
)
&&
!
memcmp
(
dos
+
1
,
fakedll_signature
,
sizeof
(
fakedll_signature
)
))
return
TRUE
;
return
FALSE
;
dos
=
PRD
(
0
,
sizeof
(
*
dos
)
+
32
);
if
(
dos
&&
dos
->
e_lfanew
>=
sizeof
(
*
dos
)
+
32
)
{
if
(
!
memcmp
(
dos
+
1
,
builtin_signature
,
sizeof
(
builtin_signature
)
))
printf
(
"*** This is a Wine builtin DLL ***
\n\n
"
);
else
if
(
!
memcmp
(
dos
+
1
,
fakedll_signature
,
sizeof
(
fakedll_signature
)
))
printf
(
"*** This is a Wine fake DLL ***
\n\n
"
);
}
}
static
const
void
*
get_dir_and_size
(
unsigned
int
idx
,
unsigned
int
*
size
)
...
...
@@ -1948,7 +1952,7 @@ void pe_dump(void)
int
all
=
(
globals
.
dumpsect
!=
NULL
)
&&
strcmp
(
globals
.
dumpsect
,
"ALL"
)
==
0
;
PE_nt_headers
=
get_nt_header
();
if
(
is_fake_dll
())
printf
(
"*** This is a Wine fake DLL ***
\n\n
"
);
print_fake_dll
(
);
if
(
globals
.
do_dumpheader
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment