Commit Graph

302 Commits

Author SHA1 Message Date
d7832d1072 Added a peek() helper 2011-09-03 20:23:14 +00:00
cfe1768474 Added a peek() helper and passing the base address through the "call" pointer 2011-09-03 20:21:25 +00:00
98576fdf6d Better decoding of some instructions 2011-09-03 20:20:31 +00:00
a8dc013144 Also fixed the base address for 32-bits executables 2011-09-03 20:19:13 +00:00
5c080712de Added some instructions 2011-09-03 20:18:19 +00:00
d43e27eb8d Let the arch plug-ins know the current base address when decoding instructions 2011-08-31 16:19:07 +00:00
ca032b4a0c Improved the PE disassembling routines 2011-08-31 16:17:20 +00:00
945dfe6232 The offset calculation belongs to the format plug-in itself 2011-08-31 16:16:15 +00:00
6bfdb88736 Mark the first argument to the "call" instruction as referring to a function 2011-08-31 16:15:38 +00:00
69fb6897c9 Temporary fix to decode some amd64 in a more accurate way 2011-08-31 16:14:49 +00:00
13218f3561 Removed useless self-mention of .cvsignore in .cvsignore files 2011-07-29 00:28:45 +00:00
354ae1b199 Trying to improve 64-bit support on 32-bit platforms 2011-07-10 17:24:04 +00:00
cd861cc44a Got rid of some global variables 2011-07-09 22:09:15 +00:00
22619db6a3 Code cleanup 2011-07-09 21:52:46 +00:00
dbce9809a7 Working on ELF support 2011-07-09 21:44:44 +00:00
4068b60e1a Much improved ARM support 2011-06-16 07:59:59 +00:00
0b81e9475d Improving ARM support 2011-06-14 23:10:08 +00:00
a88be030a1 Improving ARM support 2011-06-14 22:46:24 +00:00
281dd9d9c4 Code cleanup 2011-06-14 22:42:53 +00:00
b2120b5582 Improving ARM support 2011-06-14 22:34:49 +00:00
221bad8794 Improving ARM support 2011-06-14 22:25:24 +00:00
2851fcfcde Improving ARM support 2011-06-14 22:03:46 +00:00
106f0ca2c0 Code cleanup 2011-06-14 14:51:49 +00:00
776053e805 Much improved ARM support 2011-06-14 14:48:01 +00:00
b7fb506f00 Improving ARM support 2011-06-12 15:55:26 +00:00
b67b0d0eff Improving ARM support 2011-06-12 15:41:16 +00:00
d655dbda03 Improving ARM support 2011-06-12 15:33:48 +00:00
42e41651da Improving ARM support 2011-06-12 15:27:56 +00:00
c45018e465 Improving ARM support 2011-06-12 15:03:26 +00:00
2b85e9fddc Improving ARM support 2011-06-12 12:30:27 +00:00
03f5786aca Improving ARM support 2011-06-12 12:14:51 +00:00
48ea9c04a8 Better support for "make PREFIX=..." 2011-06-12 00:53:13 +00:00
b46fad75cd Improving ARM support 2011-06-12 00:39:19 +00:00
b815fb7805 Improving ARM support 2011-06-12 00:23:03 +00:00
8845d2de76 Improving ARM support 2011-06-12 00:06:56 +00:00
ad6348c38e Getting the first ARM opcodes right 2011-06-11 23:47:45 +00:00
baa8076906 Beginning to truly implement ARM support 2011-06-11 23:33:55 +00:00
74130f88fe Added stub files for ARM support as well 2011-06-09 18:05:05 +00:00
fe28af3bed Added stubs for mips support 2011-06-08 01:13:47 +00:00
7edc2f2b6a Added the "nop" instruction for sparc{,64} 2011-06-04 13:16:36 +00:00
95ababcdfa Ignore some errors while disassembling sparc{,64} binaries 2011-06-04 02:38:47 +00:00
44a9c15a29 Beginning to disassemble sparc{,64} binaries 2011-06-04 02:34:36 +00:00
cafca288a2 Print error when disassembly fails 2011-06-04 01:56:26 +00:00
430d35282a Beginning to decode ELF binaries cross-endian 2011-06-04 01:43:10 +00:00
34dfcf56ea Beginning to swap endian when necessary 2011-06-04 00:52:04 +00:00
7fbcf60794 Fixed erratic call 2011-06-03 23:29:27 +00:00
d9a7463ac3 Implemented asm_set_function() 2011-05-11 21:47:30 +00:00
bbeb9ee7f3 Make sure the ArchInstructionCall structure is initialized before being used 2011-05-08 17:46:10 +00:00
670529b5a5 Fixed output of the "db" class of instruction 2011-05-08 17:35:27 +00:00
b9a48a2493 Fixed compilation in debugging mode 2011-05-08 17:22:26 +00:00
78568e9995 Fixed sizes for the "db", "dw", "dl" and "dq" instructions 2011-05-08 17:21:03 +00:00
5ecfa2ce56 Identifying more calls 2011-05-08 00:23:35 +00:00
f193041208 Defined a few more arguments as indexes to method names 2011-05-08 00:15:19 +00:00
9e598335ea Implemented a few more instructions and prefixes 2011-05-08 00:08:44 +00:00
fa4f93e29f Fixed and added a few instructions 2011-05-07 23:43:12 +00:00
de372f12aa Code cleanup 2011-05-07 23:42:53 +00:00
42341e0ff5 Removed debugging left-over 2011-05-07 23:30:32 +00:00
c38c9b0fd6 Code cleanup 2011-05-07 23:26:55 +00:00
4cda60c32c Fixed detection 2011-05-07 23:26:17 +00:00
27f30975b1 More reliable decoding 2011-05-07 23:16:53 +00:00
e4fc7626ff Code cleanup 2011-05-07 23:15:45 +00:00
a296d8ea63 Avoid warnings when compiled in debugging mode 2011-05-07 15:28:35 +00:00
7fa5dbc51f Working on better support for deassembling functions 2011-05-07 15:05:29 +00:00
aaba31a0db Fixed duplicate error reporting 2011-05-05 10:51:53 +00:00
6d022bd70d This file is no longer required 2011-05-05 10:51:00 +00:00
2e7902b0cb Implemented "-D" to influence the pre-processor 2011-05-04 16:18:41 +00:00
266f4c2682 Fixed semantics of type vs definition for ArchOperands 2011-05-02 01:08:21 +00:00
d16f99ebbb Moved detection of file format and architecture for deassembling into libasm 2011-05-01 20:07:15 +00:00
8c4cb8cce7 Use the predefined macros 2011-05-01 13:47:47 +00:00
955abacfb1 Exposing the Code class to both Arch and Format to avoid defining callbacks 2011-04-29 05:51:36 +00:00
1e482f87e1 Display the offset again 2011-04-28 08:52:45 +00:00
24200d4689 Moved deassembly printout into the Code class (allows printing strings) 2011-04-28 08:47:28 +00:00
25dce8d5bf Allow immediate values to reference string indexes 2011-04-28 07:51:45 +00:00
17f9579803 Fixing dependencies 2011-04-28 07:51:09 +00:00
04c95f6d79 Let CVS be quieter 2011-04-28 07:49:59 +00:00
39de4b15fd Added a few instructions 2011-04-28 06:24:10 +00:00
6870bbd088 Build a statically-linked version of asm for tests 2011-04-28 02:54:43 +00:00
dc35c51e55 Implemented some more parts of the API 2011-04-28 02:01:48 +00:00
36b78c27ed Preparing the API for maximum code re-use 2011-04-28 01:22:19 +00:00
e6329a15f6 Removed unused code 2011-04-28 00:04:21 +00:00
524ef4d910 Simplifying the API 2011-04-27 23:57:16 +00:00
7bbe4797be Renamed the "As" class to "Asm" 2011-04-27 23:54:47 +00:00
e7c3dc36b2 Added more i386 instructions 2011-04-25 16:19:24 +00:00
a76056547a Still adding jump instructions 2011-04-25 16:03:15 +00:00
7e14e3759a Added some more jump instructions 2011-04-25 16:01:57 +00:00
0f27c79d03 Added a few jump instructions 2011-04-25 15:58:30 +00:00
9176288890 Much work on better support for disassembling the Mod R/M byte 2011-04-25 06:16:07 +00:00
5361aa325a Nicer diassembly output 2011-04-25 03:41:49 +00:00
4fb64f8b2f Get rid of a couple warnings 2011-04-25 03:31:02 +00:00
95b8ad869b Disassembling i386 now has many more chances to complete 2011-04-25 03:14:48 +00:00
d3b506a52b Still working on i386 disassembly 2011-04-25 02:44:54 +00:00
59d9af1dd8 Improving i386 disassembly some more 2011-04-25 02:29:16 +00:00
4f328cb963 Added a mnemonic for the "call" instruction 2011-04-25 01:46:58 +00:00
37edc4e721 Disassembling some more i386 2011-04-25 01:37:10 +00:00
fbf01a7e91 Added two mnemonics for the "mov" instruction 2011-04-25 01:24:18 +00:00
e65c36ce04 Added the "jmp" instruction 2011-04-25 01:08:56 +00:00
98faecff40 Slightly improved i386 instruction decoding 2011-04-25 01:02:27 +00:00
69dd017c53 Got rid of a warning 2011-04-25 00:12:17 +00:00
92979e4dac Saving all instructions into memory before printing them (will help handle labels) 2011-04-25 00:10:50 +00:00
62978f4e08 Probably solved an endian issue 2011-04-24 16:46:26 +00:00