Commit graph

42 commits

Author SHA1 Message Date
Daniel Reimer
a7fddf9c07 Delete all Trailing spaces in code.
svn path=/trunk/; revision=29689
2007-10-19 23:05:02 +00:00
Magnus Olsen
70ab8ffa3c start implement detections of export functions name. not finish does not working yet. Only fix pe loader so it works
svn path=/trunk/; revision=25658
2007-01-28 19:52:02 +00:00
Magnus Olsen
2bdeda8d07 fixing a small disambler bug for mr
svn path=/trunk/; revision=25553
2007-01-21 15:06:57 +00:00
Magnus Olsen
b760238f4d sorry ia32 should be own folder
svn path=/trunk/; revision=25544
2007-01-20 13:39:01 +00:00
Magnus Olsen
fb71b542de start add mr op code causeome new bug for ppc
svn path=/trunk/; revision=25543
2007-01-20 13:33:42 +00:00
Magnus Olsen
5b7bc2d57e forgot thuse file
svn path=/trunk/; revision=25542
2007-01-20 13:32:26 +00:00
Magnus Olsen
a07e330040 forgot this file
svn path=/trunk/; revision=25541
2007-01-20 13:30:04 +00:00
Magnus Olsen
fa8f26e7c6 Fixing the src and dst of register so they are being read right (PPC brain)
Adding stw for dissembler and converting (PPC and IA32)
Fixing a counter bug in ConvertBitToByte, ConvertBitToByte32, GetMaskByte, GetMaskByte32
we did miss one bit calculation when we count the mask the bit 0 

svn path=/trunk/; revision=25527
2007-01-19 08:20:42 +00:00
Magnus Olsen
0cb4e210e1 Fixing another bug in converting
PPC 
stwu r1,-32(r1) 

equal with intel
mov [esp-32],esp; 
mov esp, esp - 32; 

svn path=/trunk/; revision=25518
2007-01-18 22:09:08 +00:00
Magnus Olsen
a286bd796f Adding stwu to converting to ia32
fixing some smaller bug when it was disabmler
fixing dymatic translations of abi for ppc and ia32


svn path=/trunk/; revision=25517
2007-01-18 21:35:48 +00:00
Magnus Olsen
36a8eccf27 Implement disambler for stwu, left todo add it to the Converter
svn path=/trunk/; revision=25514
2007-01-18 19:33:48 +00:00
Magnus Olsen
e6cfb666ca Fixing some ppc disambler bugs. Li are not 100% test it can contain some fault.
Fixing Li bug the register for dest was wrong calctions see file OpCodePPC.txt.
fixing some meaing in ReadMe.txt


svn path=/trunk/; revision=25511
2007-01-18 15:40:37 +00:00
Magnus Olsen
48cd2b3e75 Expain how the bit order works and how get the opcode. The IBM and freescale manual for ppc cpu are not good expain it.
now I got less headic, and got understainf how to decoding the manual and how the opcode are store. 
  

svn path=/trunk/; revision=25507
2007-01-18 13:43:17 +00:00
Magnus Olsen
4da115c6b5 Adding a opcode list, which opcode we are supportin convert from
svn path=/trunk/; revision=25506
2007-01-18 12:04:24 +00:00
Magnus Olsen
22033f60ea fixing dymatic abi for ppc, and implement a dymatic abi even for ia32 converter
svn path=/trunk/; revision=25500
2007-01-17 20:25:46 +00:00
Magnus Olsen
3f44d73a4b fixing count how many reg we are using. so we can setup a frame pointer
svn path=/trunk/; revision=25499
2007-01-17 18:47:08 +00:00
Magnus Olsen
d1aa0d32ae Adding m68k,arm,ia32,ppc to ppc convert.
Remove the old disambler list from ppc to ppc 
implement new ppc to ppc disambler that are allot better at end. 

svn path=/trunk/; revision=25498
2007-01-17 17:35:18 +00:00
Magnus Olsen
65747168ef fixing a bug did write end code for frame pointer that we do not have
tempary fix, we can not optimize code so good yet. so if it more that 4 register same time we are using own frame, ebx is working as our ebp for we already resvert  the ebp 

svn path=/trunk/; revision=25497
2007-01-17 16:23:39 +00:00
Magnus Olsen
af42a0cc24 fixing the ppc to ia32 break, use ebx as ebp if we got to many register.
svn path=/trunk/; revision=25496
2007-01-17 15:31:47 +00:00
Magnus Olsen
69999a5ad4 This break the ppc disambler support and convert to ia32, temporary
I change the desgin lite to preopare the ia32 to ppc 

svn path=/trunk/; revision=25495
2007-01-17 15:02:43 +00:00
Magnus Olsen
363cf7f261 the public frist version that can convert arty testms.exe that are commited to powerpc branch in the alink folder.
the program doing main() ( return 0 )
fixing minior bugs as well

svn path=/trunk/; revision=25453
2007-01-14 18:01:56 +00:00
Magnus Olsen
bb89b8709c delete ImageLoaer.c until I time rewrite it
svn path=/trunk/; revision=25451
2007-01-14 17:16:38 +00:00
Sylvain Petreolle
93c3b784de fix warnings
svn path=/trunk/; revision=25450
2007-01-14 15:21:35 +00:00
Magnus Olsen
f74e30f8ca Adding stub for AnyalsingProcess and ConvertToIntelProcess
svn path=/trunk/; revision=25449
2007-01-14 13:54:19 +00:00
Magnus Olsen
7c96cb069a adding blr opcode (can not found it in the ibm or motorala doc, the primary opcode refens to addi).
now we can disambler two opcode the li and blr, add blr to my own asm langues. 

svn path=/trunk/; revision=25448
2007-01-14 12:10:53 +00:00
Magnus Olsen
0764ca19ac Fixing a bug in ppc opcode Li
Fixing the memory leak bug
Full implement of the Li 
Convert Li to my own asm langues, opcode move reg,imm
Left todo is add the anyalying process and converting process, after that we can translate our frist public pe file for ppc to intel
with one opcode, it must be Li 



svn path=/trunk/; revision=25447
2007-01-14 10:57:18 +00:00
Magnus Olsen
c96114a82c start on adding the own langues, this version create a memory leak if u try run this tool in translate mode. but not in
disambler mode. (only true for ppc brain about memory leak)

svn path=/trunk/; revision=25445
2007-01-13 23:26:32 +00:00
Magnus Olsen
95c8fa90a8 1. fixing a layout bug
2. frist disambler output for public, the public version can now disambler ppc li rA,imm that all at moment

svn path=/trunk/; revision=25444
2007-01-13 22:09:11 +00:00
Magnus Olsen
350c6a32c2 adding GetData32Be, GetData32Le for getting 4bytes from big or lite endian
start implment Ld for ppc.

svn path=/trunk/; revision=25440
2007-01-13 17:27:14 +00:00
Magnus Olsen
ad3d7fea36 adding print out the type of asm file in the asm file
svn path=/trunk/; revision=25439
2007-01-13 14:34:50 +00:00
Magnus Olsen
9b4a7b1fc5 adding option for disambler mode, disambler mode does not translate a binary file. it doing a disambler of the file
svn path=/trunk/; revision=25438
2007-01-13 12:23:25 +00:00
Magnus Olsen
4ffa785260 1. last move is done arm to From folder
2. remove some include in CpuToIntel.c file they are not longer need it. 


svn path=/trunk/; revision=25436
2007-01-13 10:39:12 +00:00
Magnus Olsen
40bbafca90 Create a folder call From and start move in all cpu we will in futer translate from
svn path=/trunk/; revision=25435
2007-01-13 10:27:17 +00:00
Magnus Olsen
40628588f8 1. finish the peloader, left todo add decoder for each sectionheader, add the base address when u call a brain, and some other minior fix
2. fix some comment that was wrong. 
 

svn path=/trunk/; revision=25434
2007-01-13 09:56:05 +00:00
Magnus Olsen
2aab0c74eb backport the start of a pe loader,
backport allot of bug fix. like open file, reading file.
My working copy have allot of hacks and is a big mess. This stuff is cleanup from it.  

svn path=/trunk/; revision=25433
2007-01-12 21:11:44 +00:00
Magnus Olsen
022849644c minor changes, for be use later, adding some new data types
svn path=/trunk/; revision=25398
2007-01-09 10:53:19 +00:00
Magnus Olsen
fe4dcf7a00 1. starting adding pe loader to cputointel to misc.c
2. move the loadimage stuff to own functions to misc.c
3. rewrite so loader call to brain* after it load the image.
4. setup main using the loader
5. add few more input param to main -in, -inexe, -in try autodetect type of file, -inexe try convert a PE file. 

svn path=/trunk/; revision=25272
2007-01-02 02:21:58 +00:00
Magnus Olsen
3aa0dd271b Adding stubed arm4 for my CpuToIntel tool.
Now we got tree diffent arch we can port over to intel x86 asm. But this tool are experment tool

svn path=/trunk/; revision=25261
2007-01-01 13:37:24 +00:00
Magnus Olsen
791dced4bb adding a stubed ppc brain, to my cputointel tool
svn path=/trunk/; revision=25258
2007-01-01 00:30:58 +00:00
Magnus Olsen
00095b75ef 1. setup input param to main
2. implement cpu type flag in dummy and m68k 
3. Adding more opcode for m68k, but they are stubed 
Time to test the code and start implement m68k in next commit

svn path=/trunk/; revision=25257
2006-12-31 18:45:35 +00:00
Magnus Olsen
6da9503d34 1. Adding a dummycpu showing how you can write you own cpu brain.
2. Did make some cleanup work for m68k 

svn path=/trunk/; revision=25254
2006-12-31 16:03:07 +00:00
Magnus Olsen
39436f3008 initate work of a CPUtranslator, example M68k to Intel. it is writen so not only M68k can be added. it does not work at all. it is a ground layout how I should code it.
svn path=/trunk/; revision=25251
2006-12-31 14:59:07 +00:00