4
0
mirror of https://github.com/QuasarApp/pe-parse.git synced 2025-05-08 09:39:34 +00:00

82 Commits

Author SHA1 Message Date
Wesley Shields
912a892e47 Switch from using members to getseters.
This means I don't have to store anything in the pepy_parsed object (PyObject
pointers or native C types). Use a macro to get things out of the parsed
structures and into python objects.
2013-11-29 19:04:45 -05:00
Wesley Shields
3c7d1c1052 Turns out I like using native types.
Switch back to using native types. This is less memory for me to manage.
2013-11-29 16:29:45 -05:00
Wesley Shields
53fb7e7d2c Fix crash, convert back to PyObject pointers.
There was some weird memory corruption caused by how pepy_parsed_init()
was parsing arguments. The result was that accessing attributes or methods
which didn't exist would periodically cause segfaults. This code was leftover
from an earlier way of doing things and doesn't need to be done this way.
Just parse straight to a C style string instead of this crap.

Also implement support for signature, machine support.

Also, add Py_TPFLAGS_BASETYPE as you should.
2013-11-29 16:20:44 -05:00
Wesley Shields
860fbff4e4 Don't store parsed values in python objects.
Convert the PyObject pointers used inside pepy_parsed into their corresponding
native types and use those. Teach the members array to return them accordingly.

While here might as well add support for signature and machine values.

Also, convert test.py to have shorter output by not using pprint.
2013-11-29 14:28:39 -05:00
Wesley Shields
b816e1cbf9 Remove unused import. 2013-11-29 14:12:37 -05:00
Wesley Shields
ed77443f31 Implement timedatestamp member.
While here, DECREF the string used in init. Also, make a note that I really
want to use a bytearray instead of a list for get_bytes().
2013-11-29 14:11:01 -05:00
Wesley Shields
6d8a39ad72 Add a bunch of constants.
These are useful for checking values I'll be adding support for later.

import pepy
print hex(pepy.MZ_MAGIC)
2013-11-27 16:17:22 -05:00
Wesley Shields
20869810cf Silence warnings in pepy.cpp. 2013-11-27 16:16:55 -05:00
Wesley Shields
5ac15ad285 Add README. Still barebones. 2013-11-27 15:59:34 -05:00
Wesley Shields
14e2848aa2 Add a test file that uses the bindings. 2013-11-27 15:53:20 -05:00
Wesley Shields
a928a15b8b Initial commit of pepy (pronounced p-pie).
This is a set of python bindings to pe-parse. It is nowhere near feature
complete yet but I'll keep working on it.
2013-11-27 15:52:24 -05:00
Wesley Shields
94d9b4300c Add python build stuff to .gitignore 2013-11-27 15:51:59 -05:00
Wesley Shields
320eb4e840 Add .swp to .gitignore. 2013-11-27 15:47:06 -05:00
Dan Guido
9147a6728f Create LICENSE 2013-11-23 13:03:08 -05:00
munin
5956722feb oops 2013-11-22 21:19:43 -05:00
Postmodern
5e84744095 Attempt to fix markdown. 2013-11-22 17:17:15 -08:00
Postmodern
6141749257 Added a .gitignore file. 2013-11-22 16:46:23 -08:00
Postmodern
bdc87bb606 Add instructions on how to install boost and cmake on Linux/OSX. 2013-11-22 16:46:23 -08:00
Postmodern
d005c2e4f8 Link to the cmake and boost websites. 2013-11-22 16:45:42 -08:00
Postmodern
c6edada7a1 Fixed a typo. 2013-11-22 16:45:01 -08:00
munin
58a5507b49 Merge branch 'master' of github.com:trailofbits/pe-parse
Conflicts:
	README.md
2013-11-22 19:32:20 -05:00
munin
5f4b8866f2 . 2013-11-22 19:31:11 -05:00
Dan Guido
2534a8512d Update README.md 2013-11-22 19:30:31 -05:00
munin
9492bf2e98 . 2013-11-22 19:28:04 -05:00
Dan Guido
eb8c79d522 Update README.md 2013-11-22 19:25:24 -05:00
munin
c30c246881 Merge branch 'master' of github.com:trailofbits/pe-parse
Conflicts:
	README.md
2013-11-22 19:20:27 -05:00
munin
8f41438a81 . 2013-11-22 19:19:18 -05:00
Dan Guido
03b64f5809 Update README.md 2013-11-19 20:57:37 -05:00
munin
ff57f938ec . 2013-11-19 20:13:37 -05:00
munin
5531d3a249 . 2013-11-11 15:09:57 -05:00
munin
42cf2a4bb0 . 2013-08-05 11:53:47 -04:00
munin
a67651d1f8 . 2013-07-31 14:10:16 -04:00
munin
89d2752a87 . 2013-07-31 14:05:17 -04:00
munin
10bdaac799 now uses mmap instead of malloc 2013-07-31 14:04:56 -04:00
munin
a24fa560c0 more name changes 2013-07-31 13:39:58 -04:00
munin
5b55d18c2f change some names to reflect reality 2013-07-31 13:38:33 -04:00
munin
b8ea38a6c0 names can be stored at either of these RVAs 2013-07-31 10:58:59 -04:00
munin
0743e42ef3 compile on linux 2013-07-31 10:39:15 -04:00
Andrew
b858d71272 more descriptive output to dump, rename some things 2013-07-30 19:24:31 -04:00
Andrew
8e37530a50 neat, now an API that reads bytes from the supplied VA 2013-07-30 19:20:09 -04:00
Andrew
2244945059 add an API for reading a byte from a VA 2013-07-30 19:09:31 -04:00
Andrew
92169e1d6e oversight, wasn't getting correct import addresses 2013-07-30 18:20:40 -04:00
Andrew
05f96a8a8b dumping relocations successfully now 2013-07-30 18:11:59 -04:00
Andrew
e83e171b8c support to print out relocations 2013-07-30 17:55:52 -04:00
Andrew
fe933ff9d6 now it gets the VAs of the addresses of imports 2013-07-26 21:37:23 -04:00
Andrew
afb2287fdd names, now, addresses 2013-07-26 21:32:16 -04:00
Andrew
182bad8cff problems somewhere 2013-07-26 21:21:05 -04:00
Andrew
ff9ea62612 getting module names.. 2013-07-26 18:58:28 -04:00
Andrew
fea370c30e find section logic 2013-07-26 17:52:53 -04:00
Andrew
3e1b2ea8d2 some definitions 2013-07-26 17:12:47 -04:00