Commit Graph

213 Commits

Author SHA1 Message Date
awgh 0feef7d976 Merge pull request #9 from C-Sto/rva_function
add rva offset conversion as function to pe file
2020-07-11 21:16:26 -07:00
C-Sto 1cecce1be4 add rva offset conversion as function to pe file 2020-07-12 11:55:30 +08:00
awgh 63af8e4051 Added NewFileFromMemory, which lets you parse a PE binary from memory instead of file layout. <experimental feature!> 2020-06-20 22:00:44 -07:00
awgh db623b874a Commenting out debug prints. Need a debug/warning/error log scheme in here. 2020-06-20 10:23:50 -07:00
awgh 3ba66a81a9 Added support for ordinal-only exports. 2020-06-20 00:51:18 -07:00
awgh 7976403b13 Added Exports() which returns an array of Export structs describing the exported functions, if there are any. 2020-06-19 23:34:00 -07:00
Vyrus 9846938ecd fixed bug dealing with rich header writes and files with no dos stub 2019-09-29 00:27:09 -07:00
awgh d472551263 Commenting out some debug logging 2019-08-05 14:26:35 -07:00
awgh 8d4fd1e576 Fixed an integer overflow causing shellcode bug in x64. 2019-08-02 23:59:45 -07:00
awgh 8de2a11f74 Fixed padding for 64bit, shellcode isn't quite working for 64bit. 2019-08-02 20:25:13 -07:00
awgh 804a7d342d Made enhancements to allow adding sections that never existed in the original file.
Added some PE consts that were missing along the way.
2019-08-02 14:52:13 -07:00
awgh 03ddc00e7a Added the ability to insert shellcode for Mach-O's. Untested, needs unit tests. 2019-03-29 23:21:54 -07:00
awgh 1394807065 Merge branch 'master' of github.com:Binject/debug 2019-03-28 01:34:13 -07:00
awgh 04ecef3cb6 Fixed a bug in the Elf writer when inserting shellcode from DYN injector. 2019-03-28 01:33:24 -07:00
jamichaels f6227f8ddf Added function SectionByName which returns the first section in f with the given name 2019-03-27 21:06:08 -07:00
jamichaels 952b463c9b Added definition for InsertionEOF to elfFile struct. 2019-03-27 20:31:52 -07:00
jamichaels 511d1a4b31 Added insertion point for Elf write for PT_NOTE injector. 2019-03-27 20:27:17 -07:00
awgh 66146efe87 1) Implemented parsing and writing of dynamic section tagged values.
2) Fixed DynStrings function to use new parsed structures instead of going back to original file.
3) Implemented the WriteFile / Bytes change in elf that was already made in pe and macho
2019-02-27 02:10:45 -08:00
awgh 20195b1f9c Merge branch 'master' of github.com:Binject/debug 2019-02-25 19:38:09 -08:00
awgh 6110c64cf0 Refactoring: Moved relocations to their own file out of file.go.
Features:  Added parsing/saving of dynamic tag/value pairs.
2019-02-25 19:37:01 -08:00
Dan Borges ea48ac925e Update README.md 2019-02-24 22:30:04 -08:00
Dan Borges e4ff9170c8 Create README.md 2019-02-24 22:29:47 -08:00
Dan Borges 4716c7f660 Create README.md 2019-02-22 21:28:33 -08:00
awgh cf7175604d Merge branch 'master' of github.com:Binject/debug 2019-02-21 22:46:18 -08:00
awgh 328cb9f642 Section Header Table is now broken out in the parser and writer, enabling injection to work.
Dynamic section breakout is started, but not complete.
2019-02-21 22:45:35 -08:00
Dan Borges 88cea2f938 Merge pull request #7 from Binject/fat_work
Fat work
2019-02-21 19:42:09 -08:00
ahhh 247eb13f12 clone works, although an offset is not quite right, feels like 4 bytes off somewhere. cloned binaries still run 2019-02-20 23:26:37 -08:00
ahhh 37e08f3b00 Got fat header cloned, time to add fat files at proper offsets 2019-02-20 20:52:00 -08:00
ahhh c245e95876 Adding some of the fat / universalmacho cloning functionality 2019-02-20 20:10:20 -08:00
Dan Borges b89922c4e3 Merge pull request #6 from Binject/macho_write
refactoring macho's write.go
2019-02-04 07:38:35 -08:00
dborges 40b8d11c14 refactoring macho's write.go to use WriteFile and Bytes, such that the files can be constructed without being written to disk 2019-02-03 18:22:15 -08:00
Dan Borges 900b9af30e Merge pull request #5 from Binject/macho-cleanup
cleaning up comments a bit
2019-01-30 22:52:43 -08:00
ahhh ee21b37c19 update to macho write 2019-01-30 19:54:40 -08:00
awgh c914c9d515 Added Virtual Memory Segment Protection flag constants for Mach-O. 2019-01-29 23:52:49 -08:00
ahhh daa4766242 cleaning up comments a bit 2019-01-29 19:38:44 -08:00
Andrew LeFevre 2f826f277d Small optimization to only write PE cert info if it changed 2019-01-28 18:05:24 -05:00
Andrew LeFevre ac54a07fc1 Separate PE writing logic into two functions, fix cert writing (again) 2019-01-28 17:15:04 -05:00
Andrew LeFevre 564c67b7e0 More refactoring/fixing 2019-01-28 15:53:11 -05:00
Andrew LeFevre b8a29f67bf Refactored and improved cert writing code 2019-01-28 14:47:04 -05:00
Andrew LeFevre a9b465661b Small tweak to correctly write certain files that don't have a Rich header 2019-01-28 13:55:48 -05:00
Andrew LeFevre 8fcbc6782c Added comments 2019-01-27 23:41:40 -05:00
Andrew LeFevre e3d3d8509f PE parsing and writing Rich header working 2019-01-27 23:36:30 -05:00
Dan Borges 247614b64c Merge pull request #4 from Binject/moreloadcmds
Like a boss
2019-01-27 15:04:17 -08:00
ahhh 4dc14f1dad Finished parsing the Dynlinker Info blocks and associated data structures. Can properly parse and write signed apple macho binaries now 2019-01-27 15:03:06 -08:00
ahhh cbf3116125 more parsing 2019-01-27 00:44:55 -08:00
ahhh 50e8551ad8 properly parses and writes the 'Function Starts' and 'Data in Code Entrie' blocks now 2019-01-27 00:17:27 -08:00
ahhh af93ba4ec8 updating parsed structures 2019-01-26 23:53:06 -08:00
ahhh 6b99be8ca5 defining more macho load commands 2019-01-26 23:25:31 -08:00
Dan Borges 322fabcdd3 Merge pull request #3 from Binject/macho_sig
Macho sig
2019-01-25 00:13:30 -08:00
ahhh 38bfa0a76e more work on parsing / writing signature block 2019-01-24 23:44:14 -08:00