Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.1.2 upgrades #2

Merged
merged 7 commits into from
Apr 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 10 additions & 0 deletions CHANGE_LOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# 0.1.2
## Usage
* Now parsers are integrated into format
* Now most functions can be used through some traits provided. These are done by using dynamic
dispatch, so full struct may be shadowed. But this provide universal interface totally ignoring
32-bit and 64-bit differences.

## Internal
* macros are used when define the parser of elf 32 version and 64 version.
* Use trait to provide functionalities
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "rustep"
version = "0.1.1"
version = "0.1.2"
authors = ["Anciety <ding641880047@126.com>"]
description = "Rust Executable file Parser"

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License

Copyright (c) 2018 Anciety
Copyright (c) 2018 Anciety <ding641880047@126.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Note: Only 64 bit OS is supported.

# Current Progress
* [x] `ELF` file format support
* [ ] more `ELF` info to extract
* [ ] `PE` file format support
* [ ] `macho` file format support
* [ ] DWARF support
Expand Down
6 changes: 6 additions & 0 deletions TODOS
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 0.1.1 ~ 0.1.2
* [x] avoid the duplicate code of elf parsers when dealing with two versions of elf format
* [x] use trait as the main interface of the structure instead of access the data directly. (Partially done. Elf header and elf itself not complete.)

# 0.1.2 ~ 0.1.3
* [ ] provide more information from ELF(got table, symbol table, etc.)
6 changes: 6 additions & 0 deletions src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ pub enum RustepErrorKind {
SegmentFlag(u64),
#[fail(display = "Section flag {} invalid", _0)]
SectionFlag(u64),
#[fail(display = "Unknown elf type {}", _0)]
ElfType(u64),
#[fail(display = "Unknown elf machine {}", _0)]
ElfMachine(u64),
#[fail(display = "Not an Elf file")]
NotElf,
}

impl Fail for RustepError {
Expand Down
Loading