Codebase list rust-libslirp / 350a701
Update goblin to 0.1.3 Wolfgang Silbermayr 4 years ago
7 changed file(s) with 107 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
0 rust-goblin (0.1.3-1) UNRELEASED-FIXME-AUTOGENERATED-DEBCARGO; urgency=medium
1
2 * Package goblin 0.1.3 from crates.io using debcargo 2.4.2
3
4 -- Wolfgang Silbermayr <wolfgang@silbermayr.at> Fri, 21 Feb 2020 17:25:56 +0100
5
06 rust-goblin (0.1.0-1) unstable; urgency=medium
17
28 * Team upload.
1616
1717 Files: debian/*
1818 Copyright:
19 2018 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
19 2018-2020 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
2020 2018 Ximin Luo <infinity0@debian.org>
21 2020 Wolfgang Silbermayr <wolfgang@silbermayr.at>
2122 License: MIT
2223
2324 License: MIT
2121
2222 Files: debian/*
2323 Copyright:
24 2018-2019 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
25 2018-2019 Ximin Luo <infinity0@debian.org>
24 2018-2020 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
25 2018-2020 Ximin Luo <infinity0@debian.org>
26 2018-2020 Wolfgang Silbermayr <wolfgang@silbermayr.at>
2627 License: MIT
2728
2829 License: MIT
00 overlay = "."
1 uploaders = ["Ximin Luo <infinity0@debian.org>"]
1 uploaders = [
2 "Ximin Luo <infinity0@debian.org>",
3 "Wolfgang Silbermayr <wolfgang@silbermayr.at>",
4 ]
25 [source]
36 build_depends = ["librust-scroll-0.10-dev (>= 0.10.1~)"]
4 [packages."lib+archive"]
7
8 [packages."lib"]
59 test_is_broken = true
0 --- a/tests/archive.rs
1 +++ b/tests/archive.rs
2 @@ -50,6 +50,7 @@
3 }
4
5 #[test]
6 +#[ignore]
7 fn parse_self() {
8 use std::fs;
9 use std::io::Read;
0 --- a/examples/dotnet_pe_analysis.rs
1 +++ /dev/null
2 @@ -1,75 +0,0 @@
3 -/// Demonstrates how to read additional metadata (i.e. .Net runtime ones) from PE context
4 -
5 -use goblin::container::Endian;
6 -use goblin::pe::data_directories::DataDirectory;
7 -use goblin::pe::PE;
8 -use goblin::pe::utils::get_data;
9 -use scroll::ctx::TryFromCtx;
10 -use scroll::Pread;
11 -
12 -#[repr(C)]
13 -#[derive(Debug, Pread)]
14 -pub struct CliHeader {
15 - pub cb: u32,
16 - pub major_version: u16,
17 - pub minor_version: u16,
18 - pub metadata: DataDirectory,
19 - pub flags: u32,
20 - pub entry_point_token: u32,
21 -}
22 -
23 -#[repr(C)]
24 -#[derive(Debug)]
25 -struct MetadataRoot<'a> {
26 - pub signature: u32,
27 - pub major_version: u16,
28 - pub minor_version: u16,
29 - _reserved: u32,
30 - pub length: u32,
31 - pub version: &'a str,
32 -}
33 -
34 -impl<'a> TryFromCtx<'a, Endian> for MetadataRoot<'a> {
35 - type Error = scroll::Error;
36 - fn try_from_ctx(src: &'a [u8], endian: Endian) -> Result<(Self, usize), Self::Error> {
37 - let offset = &mut 0;
38 - let signature = src.gread_with(offset, endian)?;
39 - let major_version = src.gread_with(offset, endian)?;
40 - let minor_version = src.gread_with(offset, endian)?;
41 - let reserved = src.gread_with(offset, endian)?;
42 - let length = src.gread_with(offset, endian)?;
43 - let version = src.gread(offset)?;
44 - Ok((
45 - Self {
46 - signature,
47 - major_version,
48 - minor_version,
49 - _reserved: reserved,
50 - length,
51 - version,
52 - },
53 - *offset,
54 - ))
55 - }
56 -}
57 -
58 -fn main() {
59 - let file = include_bytes!("../assets/dotnet_executable_example.dll");
60 - let file = &file[..];
61 - let pe = PE::parse(file).unwrap();
62 - if pe.header.coff_header.machine != 0x14c {
63 - panic!("Is not a .Net executable");
64 - }
65 - let optional_header = pe.header.optional_header.expect("No optional header");
66 - let file_alignment = optional_header.windows_fields.file_alignment;
67 - let cli_header = optional_header
68 - .data_directories
69 - .get_clr_runtime_header()
70 - .expect("No CLI header");
71 - let sections = &pe.sections;
72 -
73 - let cli_header_value: CliHeader = get_data(file, sections, cli_header, file_alignment).unwrap();
74 - println!("{:#?}", cli_header_value);
75 - let metadata_root: MetadataRoot = get_data(file, sections, cli_header_value.metadata, file_alignment).unwrap();
76 - println!("{:#?}", metadata_root);
77 -}
0 remove-dll-example.diff
1 ignore_test_parse_self.diff