Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
4ae95ea
Mac - Adds El Capitan 10.11.4 and 10.11.3 profiles
williamshowalter Apr 19, 2016
72d4f17
Merge pull request #18 from williamshowalter/issue-17
gleeda Apr 27, 2016
035ea02
Merge pull request #19 from jblukach/master
gleeda Apr 27, 2016
170240b
Added files via upload
May 3, 2016
d509748
Merge pull request #20 from marcurdy/master
gleeda May 3, 2016
0001bbd
Merge branch 'master' of github.com:volatilityfoundation/profiles
gleeda May 6, 2016
65a6c23
Debian84
4p3p Jun 9, 2016
17bc63d
Merge pull request #22 from f99942/master
gleeda Jun 9, 2016
59f5e64
5.11 profile pulled from http://vdchuyen.com/
Jun 16, 2016
2ecd764
Merge pull request #23 from marcurdy/master
gleeda Jun 17, 2016
044a316
Added Kernel profile for Centos 7.2 x64
p0bailey Jul 31, 2016
4a74b75
adding osx 10.11.6 profile
wroersma Sep 9, 2016
d596dee
Merge pull request #26 from p0bailey/master
gleeda Sep 9, 2016
e1b4cab
Merge pull request #27 from wroersma/master
gleeda Sep 9, 2016
ad33dcd
Added Ubuntu 1{2,4}.04.5 and 16.04.1 profiles
hexadite-dima Sep 20, 2016
0402e1d
Adding profile for macOS Sierra 10.12
tribalchicken Sep 25, 2016
8ca9869
First upload off confirmed profile
Sep 30, 2016
bb91c4b
Add files via upload
adamziaja Oct 1, 2016
9151bf5
Add profile for Centos7 with kernel version 3.10.0-327.36.3.el7.x86_64
chansonzhang Nov 1, 2016
33ae001
Merge pull request #33 from chansonzhang/master
gleeda Nov 16, 2016
c00b21e
Merge pull request #32 from adamziaja/master
gleeda Nov 16, 2016
efa1005
Merge pull request #29 from tribalchicken/master
gleeda Nov 16, 2016
d24056d
Merge pull request #28 from hexadite-dima/master
gleeda Nov 16, 2016
26ba91f
Merge pull request #31 from marcurdy/master
gleeda Nov 16, 2016
90122f3
initial addition of profile:
gleeda Jan 3, 2017
9e8b972
Merge branch 'master' of github.com:volatilityfoundation/profiles
gleeda Jan 3, 2017
17f4980
New 409 kernel past Redhat 5.11 official
Jan 3, 2017
5f44044
Merge pull request #37 from marcurdy/master
gleeda Jan 3, 2017
f634335
Add profile for Mac OS 10.11.6 build 15G1217.
deorbit Feb 15, 2017
3f1a3cb
Merge pull request #38 from deorbit/master
gleeda Feb 15, 2017
84d1c1c
adding profile Sierra_10.12.3_16D32.zip
gleeda Feb 21, 2017
7800b6f
Added CentOS68 profile
glassdfir Mar 22, 2017
c13b121
Merge pull request #40 from glassdfir/master
iMHLv2 Mar 22, 2017
c455943
Add profiles of OS X Mountain Lion, Sierra, Yosemite, and El Capitan
atcuno Apr 5, 2017
91a0e00
Fix broken OS X profiles
atcuno Apr 10, 2017
4ad99c5
remove duplicate underscore. replace dots with underscores to be cons…
Apr 12, 2017
2889918
Combined Mac 10.10 14A389 with 14B25
atcuno Apr 12, 2017
2aa748a
Mac - combine 14D136 and 14D131
atcuno Apr 12, 2017
e733e6f
Merge duplicate 10.6 profiles
atcuno Apr 19, 2017
c8c8336
Merge duplicate 10.10.5 profiles
atcuno Apr 19, 2017
08840b0
Merge duplicate 10.11.6 profiles
atcuno Apr 19, 2017
6aa20d9
Merge duplicate 10.11.3 profiles
atcuno Apr 19, 2017
bff0b45
Merge duplicate 10.8.2 profiles
atcuno Apr 19, 2017
5f5e40c
Mac - add 10.9.5_13F1911
atcuno Apr 19, 2017
d2f4e44
Add macOS Sierra 10.12.5, 10.12.6
ufrisk Aug 20, 2017
ed232b3
Merge pull request #48 from ufrisk/master
atcuno Aug 24, 2017
5f0814d
Add support for 15G1611, 15G1510, and 14F2511
atcuno Aug 24, 2017
edf5500
Add new Mac profiles
atcuno Nov 13, 2017
f2a083d
Add High Sierra profiles
atcuno Jan 9, 2018
ed03a6f
Mac - Add profile for 10.13.3_17D47
atcuno Jan 25, 2018
69f8189
Added Ubuntu 16.04.2 x64 profile
developerbart Feb 28, 2018
2ce5530
Add Ubuntu 15.10 x86 profile
al4r0 Mar 9, 2018
8ac2d05
Add Debian 9.4.0 x64
ZeArioch Apr 8, 2018
fa6cb8d
Add new Mac profiles
atcuno May 7, 2018
22a659f
Remove duplicate profiles
atcuno May 7, 2018
58ec8b4
Add new mac profiles
atcuno May 9, 2018
043bf72
remove old profiles
atcuno May 9, 2018
bc789fe
remove old profiles
atcuno May 9, 2018
cf142d3
update profiles
atcuno May 9, 2018
e1b084e
Remove duplicate profiles
atcuno May 9, 2018
d00e06d
Add mac processing scripts
atcuno May 11, 2018
d1f69fc
Update OS X Profiles
atcuno May 21, 2018
b6828c7
Merge pull request #49 from developerbart/master
gleeda May 23, 2018
d7bd591
Merge pull request #51 from v4char/master
gleeda May 23, 2018
b33d477
Merge pull request #52 from ZeArioch/master
gleeda May 23, 2018
ee8c354
Centos 7 added
May 25, 2018
2cb0e29
Kernel 4.10.0-14-generic on Ubuntu 16.0.4.4
blschatz May 31, 2018
2b2b972
HighSierra_10.13.5_17F77 profile added
jipegit Jul 6, 2018
4f42a54
add HighSierra_10.13.6_17G65 profile
siliconblade Sep 6, 2018
6b55ea7
adding Ubuntu 16.04.5 profile
siliconblade Sep 20, 2018
3543330
Merge pull request #55 from sodd/add-centos7
gleeda Sep 21, 2018
f4b8030
Merge pull request #57 from blschatz/master
gleeda Sep 21, 2018
7977eef
Merge pull request #58 from jipegit/master
gleeda Sep 21, 2018
9217699
Merge pull request #60 from siliconblade/add-osx-profile
gleeda Sep 21, 2018
7843f2c
Merge pull request #61 from siliconblade/add-ubuntu-profile
gleeda Sep 21, 2018
0c1f301
Ubuntu 18.04.1x64 profile
tpalmer Dec 3, 2018
3471a87
Ubuntu-10.04.3-i386 (System.map-2.6.32-33-generic)
prete Dec 17, 2018
8d1710f
new profile for MacOS 10.11.6 (15G31)
simsong Feb 25, 2019
54f6801
Ubuntu18.04.1-4.18.0-25
dfir-alvin Jul 24, 2019
5868b47
Delete Ubuntu18.04.1.zip
dfir-alvin Jul 24, 2019
5d138f9
Ubuntu 18.04.1 profile (based on kernel 4.18.0-25)
dfir-alvin Jul 24, 2019
46a38f4
10.13.4_17E199 Profile
dfir-alvin Jul 24, 2019
151fcc1
Ubuntu 18.04.3x64 profile
tpalmer Oct 3, 2019
af25b08
Merge pull request #73 from tpalmer/ubuntu18.04.3x64
gleeda Oct 8, 2019
b48f4f2
Merge pull request #64 from tpalmer/ubuntu18.04.1x64
gleeda Oct 8, 2019
006784d
Merge pull request #65 from prete/master
gleeda Oct 8, 2019
cac2715
Merge pull request #68 from simsong/master
gleeda Oct 8, 2019
0ef63d1
Merge pull request #71 from dfir-alvin/master
gleeda Oct 8, 2019
3a321ca
New profile for Debian 10.2
nankeen Feb 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Linux/CentOS/CentOS72.zip
Binary file not shown.
Binary file added Linux/CentOS/x64/CentOS511-2.6.18-409.zip
Binary file not shown.
Binary file added Linux/CentOS/x64/CentOS511.zip
Binary file not shown.
Binary file added Linux/CentOS/x64/CentOS68.zip
Binary file not shown.
Binary file not shown.
Binary file added Linux/CentOS/x86/CentOS511-2.6.18-408.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Linux/Debian/x64/Debian102.zip
Binary file not shown.
Binary file added Linux/Debian/x64/Debian84.zip
Binary file not shown.
Binary file added Linux/Debian/x64/Debian86.zip
Binary file not shown.
Binary file added Linux/Debian/x64/Debian94.zip
Binary file not shown.
Binary file added Linux/RedHat/x64/RedHat66.zip
Binary file not shown.
Binary file added Linux/RedHat/x64/RedHat67.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu12045.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu14045.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu1604.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu16041.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu16042.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu16044.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu16045.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu18.04.1-4.18.0-25.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu1804.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x64/Ubuntu18043.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x86/Ubuntu10043.zip
Binary file not shown.
Binary file added Linux/Ubuntu/x86/Ubuntu1510.zip
Binary file not shown.
Binary file added Mac/10.10/x64/Yosemite_10.10.1_14b25_14a389.zip
Binary file not shown.
Binary file removed Mac/10.10/x64/Yosemite_10.10.3_14D136.zip
Binary file not shown.
Binary file modified Mac/10.10/x64/Yosemite_10.10.4_14E46.zip
Binary file not shown.
Binary file removed Mac/10.10/x64/Yosemite_10.10.5_14F1021.zip
Binary file not shown.
Binary file not shown.
Binary file added Mac/10.10/x64/Yosemite_10.10.5_14F1912.zip
Binary file not shown.
Binary file not shown.
Binary file added Mac/10.10/x64/Yosemite_10.10.5_14F2315.zip
Binary file not shown.
Binary file added Mac/10.10/x64/Yosemite_10.10.5_14F2411.zip
Binary file not shown.
Binary file added Mac/10.10/x64/Yosemite_10.10.5_14F2511.zip
Binary file not shown.
Binary file removed Mac/10.10/x64/Yosemite_10.10_14A389.zip
Binary file not shown.
Binary file removed Mac/10.10/x64/Yosemite_10.10_14B25.zip
Binary file not shown.
Binary file removed Mac/10.11/ElCapitan_10.11.3_15D13b.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.3_15D21_15D13b.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.4_15E27e.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.4_15E39d.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.4_15E49a.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.4_15E65.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.5_15F18b_15F24b.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.5_15F34.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G1004_15G1108.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G1212.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G1217.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G12a.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G1421.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G1510.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G1611.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G17023.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G18013.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G19009.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G19a.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G20015.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G24b_15G31.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G31.zip
Binary file not shown.
Binary file added Mac/10.11/ElCapitan_10.11.6_15G7a.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.1_16B2327e.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.1_16B2338c.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.1_16B2657.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.2_16C48b.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.2_16C63a.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.2_16C67.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.3_16D30a_16D32.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.4_16E144f.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.4_16E163f.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.4_16E183b.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.4_16E195.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.5_16F73.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.6_16G1036.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.6_16G1114.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.6_16G1212.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.6_16G1314.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.6_16G18a.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.6_16G23a.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12.6_16G29.zip
Binary file not shown.
Binary file added Mac/10.12/Sierra_10.12_16A323.zip
Binary file not shown.
Binary file added Mac/10.13/10.13.4_17E199.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.1_17B25c.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.1_17B35a.zip
Binary file not shown.
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.1_17B48.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.2_17C88.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.2_Seed_17C60c.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.3_17D47.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.4_17E150g.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.4_17E160e.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.4_17E170c.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.4_17E182a.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.4_17E202.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.5_17F45c.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.5_17F59b.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.5_17F66a.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.5_17F77.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13.6_17G65.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A264c.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A291j.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A306f.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A315i.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A344b.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A352a.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A358a.zip
Binary file not shown.
Binary file added Mac/10.13/HighSierra_10.13_17A360a_17A362a.zip
Binary file not shown.
Binary file removed Mac/10.6/x64/SnowLeopard_10.6.1_AMD.zip
Binary file not shown.
Binary file removed Mac/10.6/x86/SnowLeopard_10.6.1_Intel.zip
Binary file not shown.
Binary file added Mac/10.8/x64/MountainLion_10.8.2_12c54_12c60.zip
Binary file not shown.
Binary file removed Mac/10.8/x64/MountainLion_10.8.2_AMD.zip
Binary file not shown.
Binary file added Mac/10.8/x64/MountainLion_10.8.5_12F2518_AMD.zip
Binary file not shown.
Binary file added Mac/10.9/x64/Mavericks_10.9.1_13b42_13a603.zip
Binary file not shown.
Binary file removed Mac/10.9/x64/Mavericks_10.9.1_AMD.zip
Binary file not shown.
Binary file added Mac/10.9/x64/Mavericks_10.9.2_13c64.zip
Binary file not shown.
Binary file removed Mac/10.9/x64/Mavericks_10.9.2__13C64.AMD.zip
Binary file not shown.
Binary file added Mac/10.9/x64/Mavericks_10.9.3_13d65.zip
Binary file not shown.
Binary file removed Mac/10.9/x64/Mavericks_10.9.3_AMD.zip
Binary file not shown.
Binary file added Mac/10.9/x64/Mavericks_10.9.4_13e28.zip
Binary file not shown.
Binary file removed Mac/10.9/x64/Mavericks_10.9.4_AMD.zip
Binary file not shown.
Binary file removed Mac/10.9/x64/Mavericks_10.9.5_13F1077_AMD.zip
Binary file not shown.
Binary file added Mac/10.9/x64/Mavericks_10.9.5_13F1911_AMD.zip
Binary file not shown.
Binary file added Mac/10.9/x64/Mavericks_10.9.5_13f34.zip
Binary file not shown.
Binary file removed Mac/10.9/x64/Mavericks_10.9.5_AMD.zip
Binary file not shown.
Binary file added Mac/10.9/x64/Mavericks_10.9_13F1077.zip
Binary file not shown.
59 changes: 59 additions & 0 deletions Mac/scripts/check_for_dups.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import os, sys, re, zipfile, hashlib

def get_hash(profpkg, f, skip_first=False):
data = profpkg.read(f.filename)
data = data.split("\n")
if skip_first:
data = data[5:]

return hashlib.md5("".join(data)).hexdigest()

def main():
path = "."

pairs = {}

for path, _, files in os.walk(path):
for fn in files:
full_path = os.path.join(path, fn)
if zipfile.is_zipfile(full_path):
profpkg = zipfile.ZipFile(full_path)

syms = ""
vtypes = ""

for f in profpkg.filelist:
if 'symbol.dsymutil' in f.filename.lower():
syms = get_hash(profpkg, f, skip_first=True)

elif f.filename.endswith(".vtypes"):
vtypes = get_hash(profpkg, f)


if syms == "" or vtypes == "":
print "BROKE ON %s" % full_path
exit()

key = "%s|%s" % (syms, vtypes)

if not key in pairs:
pairs[key] = []

pairs[key].append(full_path)


for paths in pairs.values():
if len(paths) > 1:
print paths










if __name__ == "__main__":
main()
81 changes: 81 additions & 0 deletions Mac/scripts/check_for_symbol.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import os, sys, re, zipfile

def exec_vtypes(filename):
env = {}
exec(filename, dict(__builtins__ = None), env)
return env["mac_types"]

def parse_dsymutil(data, wanted_symbol):
"""Parse the symbol file."""

ret = 0

# get the system map
for line in data.splitlines():
ents = line.split()

match = re.search("\[.*?\(([^\)]+)\)\s+[0-9A-Fa-z]+\s+\d+\s+([0-9A-Fa-f]+)\s'(\w+)'", line)

if match:
(sym_type, addr, name) = match.groups()
sym_type = sym_type.strip()

addr = int(addr, 16)

if addr == 0 or name == "":
continue

if name == wanted_symbol:
ret = addr
break

return ret

def main():
path = sys.argv[1]

lenargs = len(sys.argv)

if lenargs == 3:
sym = sys.argv[2]
else:
structname = sys.argv[2]
member = sys.argv[3]

for path, _, files in os.walk(path):
for fn in files:
full_path = os.path.join(path, fn)
if zipfile.is_zipfile(full_path):
#print "checking %s" % full_path

profpkg = zipfile.ZipFile(full_path)

for f in profpkg.filelist:
if lenargs == 3 and 'symbol.dsymutil' in f.filename.lower():
ret = parse_dsymutil(profpkg.read(f.filename), sym)

if ret == 0:
print "NOT FOUND: %s" % full_path

#print "%s -> %x" % (sym, ret)

break

elif lenargs == 4 and f.filename.endswith(".vtypes"):
v = exec_vtypes(profpkg.read(f.filename))

if structname in v:
member_info = v[structname][1]

if member in member_info:
info = member_info[member]
print "found: %s | %s" % (full_path, info)
else:
print "member %s not found!" % full_path
else:
print "struct %s not found in %s!" % (structname, full_path)

break

if __name__ == "__main__":
main()
116 changes: 116 additions & 0 deletions Mac/scripts/generate_profile_list.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Volatility
#
# This file is part of Volatility.
#
# Volatility is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Volatility is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Volatility. If not, see <http://www.gnu.org/licenses/>.
#

'''
This helper script generates (kernel version, version address pairs)
to help generate the list used by mac_get_profiles

Run it from the Mac directory of the Volatility profiles repo
'''

import os, sys, re
import zipfile

def parse_dsymutil(data, module):
"""Parse the symbol file."""
sys_map = {}
sys_map[module] = {}

want_lower = ["_IdlePML4"]

type_map = {}
type_map[module] = {}

# get the system map
for line in data.splitlines():
ents = line.split()

match = re.search("\[.*?\(([^\)]+)\)\s+[0-9A-Fa-z]+\s+\d+\s+([0-9A-Fa-f]+)\s'(\w+)'", line)

if match:
(sym_type, addr, name) = match.groups()
sym_type = sym_type.strip()

addr = int(addr, 16)

if addr == 0 or name == "":
continue

if not name in sys_map[module]:
sys_map[module][name] = [(addr, sym_type)]

# every symbol is in the symbol table twice
# except for the entries in 'want_lower', we need the higher address for all
oldaddr = sys_map[module][name][0][0]
if addr < oldaddr and name in want_lower:
sys_map[module][name] = [(addr, sym_type)]

if not addr in type_map[module]:
type_map[module][addr] = (name, [sym_type])

type_map[module][addr][1].append(sym_type)

return sys_map["kernel"]

print "profiles = ["

for path in set("."):
for path, _, files in os.walk(path):
for fn in files:
if zipfile.is_zipfile(os.path.join(path, fn)):
lg = "BAD"
aslr = -1
name = "BAD"
comm_offset = -1

profpkg = zipfile.ZipFile(os.path.join(path, fn))
for f in profpkg.filelist:
if 'symbol.dsymutil' in f.filename.lower():
data = parse_dsymutil(profpkg.read(f.filename), "kernel")

if "_lowGlo" in data:
lg = data["_lowGlo"][0][0]
else:
lg = "0"

if "_BootPML4" in data:
aslr = 1
else:
aslr = 0

name = fn.replace(".zip", "")
name = 'Mac' + name.replace('.', '_')

if name.find("Intel") == -1:
name = name + "x64"
else:
name = name + "x86"

elif '.vtypes' in f.filename.lower():
env = {}
exec(profpkg.read(f.filename), dict(__builtins__ = None), env)
mtypes = env['mac_types']
comm_offset = mtypes['proc'][1]['p_comm'][0]

if lg == "BAD" or aslr == -1 or name == "BAD" or comm_offset == -1:
print "BROKEN PARSING FOR %s" % (os.path.join(path, fn))
else:
print "[\"%s\", %s, %s, %d]," % (name, data["_version"][0][0], lg, aslr)

print "]"