90 Commits

Author SHA1 Message Date
Godzil
7687c2b7d2 Trying to make parser to correctly handle CS 2018-09-18 18:50:13 +01:00
nemerle
d6af9c1555 Add iInvalid enum value for invalid instructions
Various cleanups.
2017-02-13 13:24:54 +01:00
nemerle
d7acc8cd4d rename otherLongRegi to getPairedRegisterAt, make it a method of
LOCAL_ID struct.
2017-02-13 12:31:30 +01:00
nemerle
a5f1d17e83 Various code cleanups. 2017-02-13 12:11:29 +01:00
nemerle
b60903306f Fix memset-of-non-POD bug.
PROG contains vector, but was memset.
2016-05-19 16:17:08 +02:00
nemerle
58532f4402 Removing LLVM dependency contd. 2016-05-19 12:40:59 +02:00
nemerle
7d986ef661 Removing LLVM dependencies WIP 2016-05-19 11:14:46 +02:00
nemerle
e71c8051c3 Rename icodeType entries
Following 2f80f16e6f76e3794ddc35ac9a6c1a86cb11cd28
2016-05-19 10:27:15 +02:00
nemerle
73cf949e25 Undefine PASCAL if it's defined as a macro
Following 0af07017b9c2f14435bd0fd103ae199cbf840bb0
2016-05-19 10:20:51 +02:00
nemerle
b2be1cf2da Simplify: SetupLibCheck does not depend on PROG or Project classes.
It also does not exit the program when ".sig" loader fails.

Use QString to build signature filename.
2016-04-26 13:42:41 +02:00
Vladimir Kryvian
d77927c608 Added new line for "removeRegFromLong not supproted" message in icode.h. 2016-04-26 10:06:00 +02:00
nemerle
a944ea5da8 Implement some of the methods in DccImpl 2016-04-26 09:23:34 +02:00
nemerle
d1738ea630 New feature: option to decompile only a specific function.
Similar to boomerang's -E option:

```
dcc -E 0x1222 ./TARGET.EXE
```

Will only decompile function at given address.
This might help in isolating dcc crashes.
2016-04-26 00:46:56 +02:00
nemerle
d6249916e1 More logic operator replacements.
Use Qt string classes.
2016-04-25 15:51:58 +02:00
nemerle
9cd3226536 Normalize logic operation keywords and add use msvc fix
Logical or should be only 'or','and','not', and not error prone
'||','&&','!'
2016-04-25 11:39:07 +02:00
nemerle
3f217e83da Add header that will contain msvc fixes 2016-04-25 10:08:25 +02:00
nemerle
c0e9ba2fb3 Add addOutEdgesForConditionalJump to header 2016-04-25 10:03:30 +02:00
nemerle
12ee08f87e Implement two new switch idioms closes #14 2016-04-23 20:05:11 +02:00
nemerle
5c85c92d1a Replace tabs with spaces 2016-04-22 11:45:23 +02:00
nemerle
a697ad05c0 Add original dcc tools to repository
* makedsig has been integrated with makedstp, it should handle both LIB and TPL files
* other tools have not been modified
2015-02-10 17:28:50 +01:00
nemerle
36b063c183 Working towards gui integration with exetoc_qt 2014-05-24 17:08:05 +02:00
nemerle
3603877f42 Qt5 command options processing 2014-03-07 20:01:36 +01:00
nemerle
50950028e0 Pre-qt5 2014-03-07 19:42:27 +01:00
nemerle
1c5e1c2fce replace boolT with plain old bool in a few places 2014-02-28 11:26:02 +01:00
Artur K
0209b7ceb2 Changes 2012-07-20 18:18:25 +02:00
Artur K
d5e1fc733f Fixes to libdisasm, also use it a bit more 2012-07-19 19:37:30 +02:00
Artur K
c1eb8df114 Split COND_EXPR into Unary/Binary/AstIdent subclasses 2012-07-16 19:31:29 +02:00
Artur K
ca129c5177 Fix to idiom19 and fixFloatEmulation() 2012-07-15 20:17:16 +02:00
Artur K
c19231a1bd extracted FunctionCfg as it's own class 2012-07-15 16:52:59 +02:00
Artur K
5087a051b5 More simplifications on BB creation 2012-07-14 23:04:09 +02:00
Artur K
ba110a64cb removed most of clang warnings / errors 2012-03-29 22:02:25 +02:00
Artur K
9cc5202ff7 Pre branch commit 2012-03-18 11:35:56 +01:00
Artur K
71fc8bfef7 Added JumpTable class, and simplified LongJCond23/22 by using Assignment
class as an parameter.
2012-03-17 23:42:46 +01:00
Artur K
7b63b45dd5 Some more method splitting , replaced a few argument that were using
ICODE, with LLInst
2012-03-17 23:35:48 +01:00
Artur K
d3a22fc03c Refactored BasicBlock::genDU1() into three utility methods.
Const'ized a few pointers in locident.cpp
2012-03-17 23:15:27 +01:00
Artur K
61392772e1 More work on LLOperand,
Adding accessors for src operand to LLIns
2012-03-17 23:09:35 +01:00
Artur K
26b9ab1e00 Added setters/creation methods to LLOperand
Moved PROG global into Project instance. Still need to refactor all
usages of prog.
Split fseek offset calculation in frontend.cpp to allow for easier
debugging.
Added alreadyDecoded method to CIcodeRec
LONGID_TYPE now has a method matching srcDstRegMatch icode's src a dst
regs
2012-03-17 22:57:54 +01:00
Artur K
dc8e7156a8 LLOperand no longer inherits from llvm::MCOperand, it contains one
instead.
Added BB accessors to ICODE and typedef'd BB to MachineBasicBlock
Removed an unused method in ICODE, and a parameter in isLong23
2012-03-17 22:38:54 +01:00
Artur K
467ff56356 Added libdisasm to 3rd_party.
Started the move of 'prog' global into Project.
2012-03-17 21:36:10 +01:00
Artur K
b85106498e More ranges 2012-03-15 23:22:02 +01:00
Artur K
4dd97b0709 Using boost now 2012-03-15 18:55:27 +01:00
Artur K
a740690e04 Replaced memory tags #defines with eAreaType enum
Added replaceExpr, which replaces expression, and deletes the old one.
Moved subReg* family to Machine_X86, also moved there a few float op
decoding parts.
A few more usages of cCode global replaced with ostreams
Refactored compoundCond().
2012-03-13 22:10:07 +01:00
Artur K
c2e5ac2694 Added global 'Project' class, and DccFrontend 2012-03-13 09:04:32 +01:00
Artur K
902a5ec3d8 Extracted commonalities between SYM and STKSYM into SymbolCommon and
between SYMTAB and STKFRAME into SymbolTableCommon<STKSYM>
2012-03-13 01:22:13 +01:00
Artur K
d3e62a99aa Replaced return type of insertCallGraph with bool
renamed two locals in newRegArg, and used range based for in it
2012-03-13 00:43:05 +01:00
Artur K
fe250a822d Removed 2 lingering TRUE/FALSE references
Removed 2 calls to cCode.appendDecl in walkCondExpr, replaced with
ostringstream usage + 1 call to cCode.appendDecl
Created Type helper class = TypeContainer
2012-03-13 00:35:32 +01:00
Artur K
14b06c252e Replaced all TRUE/FALSE macro usages with true/false booleans 2012-03-13 00:28:04 +01:00
Artur K
d39449124a writeProcComments is now member of Function, at it has an ostream based overload, also added gmock framework to dependencies 2012-03-13 00:16:09 +01:00
Artur K
bc395da6ab lots of changes, created Disassembler class, removed a few globals etc. 2012-03-11 02:48:19 +01:00
Artur K
3bcbb7a2cf Removed lints 2012-03-10 22:46:15 +01:00