ia32rtools.git
9 years agominor fixes master github/master
notaz [Thu, 26 Nov 2015 00:26:22 +0000 (02:26 +0200)]
minor fixes

9 years agotranslate: tune float i/o, indirect tailcalls
notaz [Sat, 21 Nov 2015 18:52:01 +0000 (20:52 +0200)]
translate: tune float i/o, indirect tailcalls

float i/o needs special handling because gcc generates vldr/vstr that
don't allow unaligned accesses

9 years agoimm funcs
notaz [Thu, 19 Nov 2015 23:13:58 +0000 (01:13 +0200)]
imm funcs

should just start using real headers someday...

9 years agotranslate: improve call arg collection
notaz [Wed, 18 Nov 2015 23:40:21 +0000 (01:40 +0200)]
translate: improve call arg collection

9 years agotranslate: fabs, another prologue, one va_arg
notaz [Tue, 17 Nov 2015 23:14:24 +0000 (01:14 +0200)]
translate: fabs, another prologue, one va_arg

also stdcall propagation in hdr mode

9 years agotranslate: add fptr-arg checking
notaz [Sat, 14 Nov 2015 23:14:06 +0000 (01:14 +0200)]
translate: add fptr-arg checking

9 years agotranslate: fixes for pop scan
notaz [Thu, 19 Nov 2015 01:43:21 +0000 (03:43 +0200)]
translate: fixes for pop scan

9 years agotranslate: fixes
notaz [Sat, 14 Nov 2015 16:18:51 +0000 (18:18 +0200)]
translate: fixes

9 years agotranslate: detect funcs which get their address taken
notaz [Sat, 14 Nov 2015 16:03:30 +0000 (18:03 +0200)]
translate: detect funcs which get their address taken

also add reg-use warning disable switch

9 years agoplugin: more aggressive name change to avoid conflicts
notaz [Sat, 14 Nov 2015 16:21:13 +0000 (18:21 +0200)]
plugin: more aggressive name change to avoid conflicts

9 years agocvt_data: zero out import tables
notaz [Sun, 8 Nov 2015 22:31:52 +0000 (00:31 +0200)]
cvt_data: zero out import tables

not needed, sometimes won't link

9 years agotranslate: ignore attrs from skipped funcs
notaz [Sun, 8 Nov 2015 22:31:06 +0000 (00:31 +0200)]
translate: ignore attrs from skipped funcs

9 years agonew header tool
notaz [Sat, 7 Nov 2015 01:06:42 +0000 (03:06 +0200)]
new header tool

outputs a header IDA is almost happy with

9 years agohandle stuff, add funcs
notaz [Fri, 6 Nov 2015 01:01:42 +0000 (03:01 +0200)]
handle stuff, add funcs

9 years agovarious additions
notaz [Tue, 3 Nov 2015 01:22:48 +0000 (03:22 +0200)]
various additions

rdtsc, cpuid, barrier, argframe attr, support for decorated names in asm

9 years agotranslate: handle yet another prologue/epilogue
notaz [Sun, 1 Nov 2015 22:48:43 +0000 (00:48 +0200)]
translate: handle yet another prologue/epilogue

9 years agominor fixes, winsvc api
notaz [Sun, 25 Oct 2015 20:21:17 +0000 (22:21 +0200)]
minor fixes, winsvc api

9 years agotranslate: more heuristics and checks for func returns
notaz [Sat, 24 Oct 2015 20:56:09 +0000 (23:56 +0300)]
translate: more heuristics and checks for func returns

9 years agotranslate: don't overpromote to fastcall
notaz [Sat, 24 Oct 2015 20:53:05 +0000 (23:53 +0300)]
translate: don't overpromote to fastcall

this creates false register deps and leads to problems

9 years agotranslate: avoid dupe work
notaz [Sat, 24 Oct 2015 20:51:55 +0000 (23:51 +0300)]
translate: avoid dupe work

9 years agocvt_data: allow fastcall compatible funcs
notaz [Fri, 23 Oct 2015 22:48:55 +0000 (01:48 +0300)]
cvt_data: allow fastcall compatible funcs

9 years agomore apis
notaz [Sun, 18 Oct 2015 22:56:02 +0000 (01:56 +0300)]
more apis

9 years agotranslate: some fixes
notaz [Sun, 18 Oct 2015 15:04:15 +0000 (18:04 +0300)]
translate: some fixes

9 years agotranslate: support for data imports
notaz [Sun, 18 Oct 2015 15:00:58 +0000 (18:00 +0300)]
translate: support for data imports

9 years agomore snd apis
notaz [Sat, 17 Oct 2015 15:51:17 +0000 (18:51 +0300)]
more snd apis

9 years agotranslate: seh finalize handler
notaz [Sat, 17 Oct 2015 15:46:28 +0000 (18:46 +0300)]
translate: seh finalize handler

9 years agotranslate: some float arg handling
notaz [Fri, 16 Oct 2015 21:49:27 +0000 (00:49 +0300)]
translate: some float arg handling

9 years agoplugin: don't rename stdcall names
notaz [Fri, 16 Oct 2015 21:46:55 +0000 (00:46 +0300)]
plugin: don't rename stdcall names

func@4 and the likes

9 years agosome 64bit arg handling
notaz [Tue, 13 Oct 2015 22:26:25 +0000 (01:26 +0300)]
some 64bit arg handling

9 years agotranslate: more float
notaz [Sun, 11 Oct 2015 20:09:26 +0000 (23:09 +0300)]
translate: more float

9 years agotranslate: more seh removal
notaz [Sun, 11 Oct 2015 20:09:07 +0000 (23:09 +0300)]
translate: more seh removal

9 years agoapi for fog
notaz [Mon, 5 Oct 2015 00:05:48 +0000 (03:05 +0300)]
api for fog

9 years agotranslate: seh removal
notaz [Mon, 5 Oct 2015 00:04:30 +0000 (03:04 +0300)]
translate: seh removal

9 years agotranslate: more float stuff
notaz [Sun, 4 Oct 2015 19:50:38 +0000 (22:50 +0300)]
translate: more float stuff

9 years agotranslate: handle yet more things
notaz [Sun, 4 Oct 2015 00:36:15 +0000 (03:36 +0300)]
translate: handle yet more things

bsr, stack align, 64bit ptr args

9 years agotools: better fastcall support
notaz [Sat, 3 Oct 2015 00:00:41 +0000 (03:00 +0300)]
tools: better fastcall support

9 years agoget rid of some duplication
notaz [Wed, 30 Sep 2015 23:54:11 +0000 (02:54 +0300)]
get rid of some duplication

9 years agotranslate: more cases
notaz [Mon, 28 Sep 2015 23:14:36 +0000 (02:14 +0300)]
translate: more cases

9 years agotranslate: handle more noreturn cases
notaz [Sun, 20 Sep 2015 21:29:34 +0000 (00:29 +0300)]
translate: handle more noreturn cases

9 years agomore 32bit fixes
notaz [Fri, 18 Sep 2015 18:48:23 +0000 (21:48 +0300)]
more 32bit fixes

need 64bit numbers after all

9 years agofix non-cross compile
notaz [Fri, 18 Sep 2015 00:42:57 +0000 (03:42 +0300)]
fix non-cross compile

9 years ago32bit fixes
notaz [Thu, 17 Sep 2015 23:39:17 +0000 (01:39 +0200)]
32bit fixes

9 years agotranslate: more noreturn cases, neg flags
notaz [Thu, 17 Sep 2015 22:38:11 +0000 (01:38 +0300)]
translate: more noreturn cases, neg flags

9 years agotranslate: fix an issue with ebp arg
notaz [Sun, 28 Jun 2015 23:33:04 +0000 (02:33 +0300)]
translate: fix an issue with ebp arg

9 years agotranslate: add ref hint, document others
notaz [Sun, 28 Jun 2015 17:48:06 +0000 (20:48 +0300)]
translate: add ref hint, document others

9 years agocvt_data: fix escape chars
notaz [Sat, 20 Jun 2015 00:48:43 +0000 (03:48 +0300)]
cvt_data: fix escape chars

9 years agotranslate: allow negative offsets on indexed stack accesses
notaz [Sun, 10 May 2015 14:12:05 +0000 (17:12 +0300)]
translate: allow negative offsets on indexed stack accesses

9 years agotranslate: minor fixes
notaz [Sun, 3 May 2015 20:10:51 +0000 (23:10 +0300)]
translate: minor fixes

9 years agoyet more APIs
notaz [Fri, 1 May 2015 23:50:57 +0000 (02:50 +0300)]
yet more APIs

9 years agotranslate: misc fixes and additions
notaz [Fri, 1 May 2015 23:50:00 +0000 (02:50 +0300)]
translate: misc fixes and additions

9 years agotranslate: support more dereference types
notaz [Thu, 30 Apr 2015 21:19:53 +0000 (00:19 +0300)]
translate: support more dereference types

9 years agotranslate: fix several rep cmps/scas bugs
notaz [Tue, 28 Apr 2015 23:30:16 +0000 (02:30 +0300)]
translate: fix several rep cmps/scas bugs

9 years agotranslate: handle float arg frame
notaz [Tue, 28 Apr 2015 21:20:46 +0000 (00:20 +0300)]
translate: handle float arg frame

9 years agotranslate: fcom and more
notaz [Mon, 27 Apr 2015 00:20:28 +0000 (03:20 +0300)]
translate: fcom and more

9 years agotranslate: bswap, allsh* and some tweaks
notaz [Sat, 25 Apr 2015 23:41:48 +0000 (02:41 +0300)]
translate: bswap, allsh* and some tweaks

9 years agotranslate: float: stack mode and some more ops
notaz [Sat, 25 Apr 2015 20:40:02 +0000 (23:40 +0300)]
translate: float: stack mode and some more ops

9 years agotranslate: more float ops
notaz [Fri, 24 Apr 2015 23:48:34 +0000 (02:48 +0300)]
translate: more float ops

9 years agofix tests
notaz [Fri, 24 Apr 2015 22:55:15 +0000 (01:55 +0300)]
fix tests

reg autoclear was dropped as it could allow some serious problems
to be missed

9 years agocmpmrg_text: allow mixed align insns
notaz [Fri, 24 Apr 2015 22:47:19 +0000 (01:47 +0300)]
cmpmrg_text: allow mixed align insns

9 years agoplugin: various tweaks
notaz [Fri, 24 Apr 2015 20:23:34 +0000 (23:23 +0300)]
plugin: various tweaks

more stuff to make masm frienlier aoutput:
- detect ida's overalignment better
- detect names that only differ by case
- detect more labels referenced by data

9 years agoplugin: add hints on 'jmp $5' for translate
notaz [Sun, 19 Apr 2015 20:45:59 +0000 (23:45 +0300)]
plugin: add hints on 'jmp $5' for translate

9 years agotranslate: func ref checking from .data
notaz [Sat, 18 Apr 2015 16:28:52 +0000 (19:28 +0300)]
translate: func ref checking from .data

enforcing consistent calling convention

9 years agotranslate: add an attr for regs that fail to be traced
notaz [Fri, 17 Apr 2015 23:46:14 +0000 (02:46 +0300)]
translate: add an attr for regs that fail to be traced

don't guess it, this may miss uninitialized reg args

9 years agotranslate: fixes for call reg tracking
notaz [Mon, 13 Apr 2015 23:47:22 +0000 (02:47 +0300)]
translate: fixes for call reg tracking

9 years agotranslate: add custom stack-clear attribute
notaz [Mon, 13 Apr 2015 22:24:02 +0000 (01:24 +0300)]
translate: add custom stack-clear attribute

9 years agominor fixes
notaz [Sun, 12 Apr 2015 21:30:06 +0000 (00:30 +0300)]
minor fixes

9 years agomove notes to better place, update them
notaz [Tue, 7 Apr 2015 00:20:34 +0000 (03:20 +0300)]
move notes to better place, update them

9 years agotranslate: check xrefs before adding to header
notaz [Tue, 7 Apr 2015 00:19:20 +0000 (03:19 +0300)]
translate: check xrefs before adding to header

otherwise lots of conflicting symbols on project merge

9 years agoadjust for newer mingw
notaz [Mon, 6 Apr 2015 19:28:48 +0000 (22:28 +0300)]
adjust for newer mingw

9 years agotranslate: initial struct parsing for member calls
notaz [Sun, 5 Apr 2015 23:55:58 +0000 (02:55 +0300)]
translate: initial struct parsing for member calls

9 years agotranslate: initial float support
notaz [Sat, 4 Apr 2015 17:58:31 +0000 (20:58 +0300)]
translate: initial float support

9 years agotranslate: improve cast simplification
notaz [Sat, 4 Apr 2015 16:14:13 +0000 (19:14 +0300)]
translate: improve cast simplification

9 years agotranslate: some bugfixes
notaz [Wed, 1 Apr 2015 20:53:26 +0000 (23:53 +0300)]
translate: some bugfixes

9 years agomore APIs
notaz [Mon, 30 Mar 2015 01:23:59 +0000 (04:23 +0300)]
more APIs

9 years agotranslate: random fixes, 16bit div
notaz [Mon, 30 Mar 2015 01:23:27 +0000 (04:23 +0300)]
translate: random fixes, 16bit div

9 years agostart some tests
notaz [Sat, 28 Mar 2015 21:37:37 +0000 (23:37 +0200)]
start some tests

9 years agotranslate: rework register tracking
notaz [Sat, 28 Mar 2015 21:18:04 +0000 (23:18 +0200)]
translate: rework register tracking

9 years agotranslate: push/pop corner cases
notaz [Thu, 26 Mar 2015 01:05:40 +0000 (03:05 +0200)]
translate: push/pop corner cases

RSAVE looks broken, but I don't need it right now

9 years agotranslate: deal with and 0 / or ~0
notaz [Thu, 26 Mar 2015 00:21:52 +0000 (02:21 +0200)]
translate: deal with and 0 / or ~0

9 years agotranslate: few more ops and corner cases
notaz [Sun, 22 Mar 2015 21:11:42 +0000 (23:11 +0200)]
translate: few more ops and corner cases

9 years agotranslate: yet more work on sp tracking
notaz [Sun, 22 Mar 2015 21:00:18 +0000 (23:00 +0200)]
translate: yet more work on sp tracking

9 years agostdc: some stuff for d1 (and some extra)
notaz [Sat, 21 Mar 2015 00:51:13 +0000 (02:51 +0200)]
stdc: some stuff for d1 (and some extra)

9 years agorun_imp: allow to specify mingw
notaz [Fri, 20 Mar 2015 20:41:03 +0000 (22:41 +0200)]
run_imp: allow to specify mingw

9 years agoplugin: new simple findptr plugin
notaz [Fri, 20 Mar 2015 01:56:31 +0000 (03:56 +0200)]
plugin: new simple findptr plugin

9 years agotranslate: stop data parse on imports
notaz [Thu, 19 Mar 2015 21:00:37 +0000 (23:00 +0200)]
translate: stop data parse on imports

9 years agomore stuff for d1ui
notaz [Thu, 19 Mar 2015 18:24:14 +0000 (20:24 +0200)]
more stuff for d1ui

9 years agoprotoparse: improve ret guessing
notaz [Thu, 19 Mar 2015 18:21:58 +0000 (20:21 +0200)]
protoparse: improve ret guessing

9 years agotranslate: improve epilogue search, clear with and op
notaz [Thu, 19 Mar 2015 01:41:02 +0000 (03:41 +0200)]
translate: improve epilogue search, clear with and op

9 years agotranslate: eliminate some useless func ptr reads
notaz [Wed, 18 Mar 2015 02:14:56 +0000 (04:14 +0200)]
translate: eliminate some useless func ptr reads

9 years agotranslate: handle more push/pop pair cases
notaz [Sun, 15 Mar 2015 21:34:10 +0000 (23:34 +0200)]
translate: handle more push/pop pair cases

9 years agostdc: more funcs for d1ui
notaz [Sun, 15 Mar 2015 18:47:37 +0000 (20:47 +0200)]
stdc: more funcs for d1ui

9 years agotranslate: simplify seed passthrough
notaz [Sun, 15 Mar 2015 18:43:38 +0000 (20:43 +0200)]
translate: simplify seed passthrough

9 years agotranslate: don't warn about skipped ops
notaz [Sun, 15 Mar 2015 18:04:57 +0000 (20:04 +0200)]
translate: don't warn about skipped ops

9 years agotranslate: output complex headers from seed
notaz [Sun, 15 Mar 2015 00:24:28 +0000 (02:24 +0200)]
translate: output complex headers from seed

9 years agotranslate: improve esp adjust yet more
notaz [Sun, 15 Mar 2015 00:22:57 +0000 (02:22 +0200)]
translate: improve esp adjust yet more

9 years agotranslate: add some help text
notaz [Sat, 14 Mar 2015 21:47:25 +0000 (23:47 +0200)]
translate: add some help text

9 years agotranslate: many improvements for header gen
notaz [Sat, 14 Mar 2015 21:25:10 +0000 (23:25 +0200)]
translate: many improvements for header gen

9 years agotranslate: use separate removed and done flags
notaz [Mon, 9 Mar 2015 01:15:13 +0000 (03:15 +0200)]
translate: use separate removed and done flags

9 years agotranslate: hdrgen: detect strings, skip std funcs
notaz [Sun, 8 Mar 2015 21:03:11 +0000 (23:03 +0200)]
translate: hdrgen: detect strings, skip std funcs

9 years agotranslate: improve arg collect
notaz [Sat, 7 Mar 2015 22:01:13 +0000 (00:01 +0200)]
translate: improve arg collect