LIEF: Library to Instrument Executable Formats
Version 1.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
lief-install
x86_64
static
include
LIEF
VDEX
VDEX/File.hpp
Go to the documentation of this file.
1
/* Copyright 2017 - 2026 R. Thomas
2
* Copyright 2017 - 2026 Quarkslab
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#ifndef LIEF_VDEX_FILE_H
17
#define LIEF_VDEX_FILE_H
18
#include <ostream>
19
20
#include "
LIEF/VDEX/Header.hpp
"
21
#include "
LIEF/VDEX/type_traits.hpp
"
22
23
#include "
LIEF/visibility.h
"
24
#include "
LIEF/Object.hpp
"
25
#include "
LIEF/iterators.hpp
"
26
27
#include <vector>
28
#include <memory>
29
30
namespace
LIEF
{
31
namespace
DEX
{
32
class
File
;
33
}
34
namespace
OAT
{
35
class
Binary
;
36
}
37
38
namespace
VDEX
{
39
class
Parser
;
40
42
class
LIEF_API
File
:
public
Object
{
43
friend
class
Parser
;
44
friend
class
OAT::Binary
;
45
46
public
:
47
using
dex_files_t
= std::vector<std::unique_ptr<DEX::File>>;
48
using
it_dex_files
=
ref_iterator<dex_files_t&, DEX::File*>
;
49
using
it_const_dex_files
=
50
const_ref_iterator<const dex_files_t&, const DEX::File*>
;
51
52
File
&
operator=
(
const
File
& copy) =
delete
;
53
File
(
const
File
& copy) =
delete
;
54
56
const
Header
&
header
() const
LIEF_LIFETIMEBOUND
;
57
Header
&
header
()
LIEF_LIFETIMEBOUND
;
58
60
it_dex_files
dex_files
()
LIEF_LIFETIMEBOUND
;
61
it_const_dex_files
dex_files
() const
LIEF_LIFETIMEBOUND
;
62
63
dex2dex_info_t
dex2dex_info
() const;
64
65
std::
string
dex2dex_json_info
();
66
67
void
accept
(
Visitor
& visitor) const override;
68
69
70
~
File
() override;
71
72
LIEF_API
friend std::ostream& operator<<(std::ostream& os,
73
const
File
& vdex_file);
74
75
private:
76
File
();
77
78
Header
header_;
79
dex_files_t
dex_files_;
80
};
81
82
}
83
}
84
85
#endif
Object.hpp
Header.hpp
type_traits.hpp
LIEF::DEX::File
Class that represents a DEX file.
Definition
DEX/File.hpp:39
LIEF::OAT::Binary
Definition
OAT/Binary.hpp:41
LIEF::Object::Object
Object()
LIEF::VDEX::File::it_const_dex_files
const_ref_iterator< const dex_files_t &, const DEX::File * > it_const_dex_files
Definition
VDEX/File.hpp:49
LIEF::VDEX::File::it_dex_files
ref_iterator< dex_files_t &, DEX::File * > it_dex_files
Definition
VDEX/File.hpp:48
LIEF::VDEX::File::dex2dex_json_info
std::string dex2dex_json_info()
LIEF::VDEX::File::dex_files_t
std::vector< std::unique_ptr< DEX::File > > dex_files_t
Definition
VDEX/File.hpp:47
LIEF::VDEX::File::dex_files
it_dex_files dex_files()
Iterator over LIEF::DEX::Files registered.
LIEF::VDEX::File::File
File(const File ©)=delete
LIEF::VDEX::File::operator=
File & operator=(const File ©)=delete
LIEF::VDEX::File::header
const Header & header() const
VDEX Header.
LIEF::VDEX::File::accept
void accept(Visitor &visitor) const override
LIEF::VDEX::File::Parser
friend class Parser
Definition
VDEX/File.hpp:43
LIEF::VDEX::File::dex2dex_info
dex2dex_info_t dex2dex_info() const
LIEF::VDEX::Header
Definition
VDEX/Header.hpp:29
LIEF::VDEX::Parser
Class which parses a VDEX file and transforms it into a VDEX::File object.
Definition
VDEX/Parser.hpp:32
LIEF::Visitor
Definition
Visitor.hpp:212
LIEF::ref_iterator
Iterator which returns reference on container's values.
Definition
iterators.hpp:45
LIEF_LIFETIMEBOUND
#define LIEF_LIFETIMEBOUND
Definition
compiler_attributes.hpp:72
iterators.hpp
LIEF::DEX
Definition
DEX/Class.hpp:30
LIEF::OAT
Definition
ELF/Parser.hpp:32
LIEF::VDEX
Definition
OAT/Binary.hpp:31
LIEF::VDEX::dex2dex_info_t
std::unordered_map< const DEX::File *, DEX::dex2dex_info_t > dex2dex_info_t
Definition
VDEX/type_traits.hpp:29
LIEF
LIEF namespace.
Definition
Abstract/Binary.hpp:40
LIEF::const_ref_iterator
ref_iterator< CT, U, typename decay_t< CT >::const_iterator > const_ref_iterator
Iterator which returns a const ref on container's values.
Definition
iterators.hpp:318
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:45
Generated by
1.17.0