Upx_Doxygen
https://github.com/upx/upx
p_lx_sh.h
1
/* p_lx_sh.h --
2
3
This file is part of the UPX executable compressor.
4
5
Copyright (C) 1996-2016 Markus Franz Xaver Johannes Oberhumer
6
Copyright (C) 1996-2016 Laszlo Molnar
7
Copyright (C) 2000-2016 John F. Reiser
8
All Rights Reserved.
9
10
UPX and the UCL library are free software; you can redistribute them
11
and/or modify them under the terms of the GNU General Public License as
12
published by the Free Software Foundation; either version 2 of
13
the License, or (at your option) any later version.
14
15
This program is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU General Public License for more details.
19
20
You should have received a copy of the GNU General Public License
21
along with this program; see the file COPYING.
22
If not, write to the Free Software Foundation, Inc.,
23
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25
Markus F.X.J. Oberhumer Laszlo Molnar
26
<markus@oberhumer.com> <ezerotven+github@gmail.com>
27
28
John F. Reiser
29
<jreiser@users.sourceforge.net>
30
*/
31
32
33
#ifndef __UPX_P_LX_SH_H //{
34
#define __UPX_P_LX_SH_H 1
35
36
37
/*************************************************************************
38
// linux/sh386
39
**************************************************************************/
40
41
class
PackLinuxI386sh
:
public
PackLinuxI386
42
{
43
typedef
PackLinuxI386
super
;
44
public
:
45
PackLinuxI386sh
(
InputFile
*f);
46
virtual
~
PackLinuxI386sh
();
47
virtual
int
getVersion()
const
{
return
13; }
48
virtual
int
getFormat()
const
{
return
UPX_F_LINUX_SH_i386; }
49
virtual
const
char
*getName()
const
{
return
"linux.sh/i386"
; }
50
virtual
const
char
*getFullName(
const
options_t
*)
const
{
return
"i386-linux.elf.shell"
; }
51
virtual
const
int
*getFilters()
const
{
return
NULL; }
52
virtual
void
buildLoader(
const
Filter
*);
53
54
virtual
void
pack1(
OutputFile
*fo,
Filter
&ft);
55
virtual
void
pack3(
OutputFile
*fo,
Filter
&ft);
56
57
virtual
bool
canPack();
58
// virtual void unpack(OutputFile *fo) { super::unpack(fo); }
59
virtual
bool
canUnpackVersion(
int
version)
const
60
{
return
(version >= 11); }
61
62
protected
:
63
virtual
bool
getShellName(
char
*buf);
64
65
virtual
void
patchLoader();
66
67
int
o_shname;
// offset to name_of_shell
68
int
l_shname;
// length of name_of_shell
69
};
70
71
72
#endif
/*} already included */
73
74
/* vim:set ts=4 sw=4 et: */
options_t
Definition:
options.h:45
InputFile
Definition:
file.h:89
OutputFile
Definition:
file.h:121
PackUnixLe32
Definition:
p_unix.h:161
Filter
Definition:
filter.h:53
PackLinuxI386sh
Definition:
p_lx_sh.h:41
PackLinuxI386
Definition:
p_lx_exc.h:40
Generated by
1.8.13