My favorites | Sign in
Project Logo
             
Details: Show all Hide all

Earlier this year

  • Jul 23, 2009
    issue 1 (Few new instruction and some issues.) Status changed by codyrpierce   -   Typos fixed in rev. 18 New Instructions and PyLinux changes in rev. 19 Thank you a lot for the help. Im still looking at redoing PyMemory.
    Status: Fixed
    Typos fixed in rev. 18 New Instructions and PyLinux changes in rev. 19 Thank you a lot for the help. Im still looking at redoing PyMemory.
    Status: Fixed
  • Jul 23, 2009
    r19 (Added JP, JNP, JPO. Thanks dima.ky!) committed by codyrpierce   -   Added JP, JNP, JPO. Thanks dima.ky!
    Added JP, JNP, JPO. Thanks dima.ky!
  • Jul 23, 2009
    r18 (Fixed typos in osize. Thanks dima.ky!) committed by codyrpierce   -   Fixed typos in osize. Thanks dima.ky!
    Fixed typos in osize. Thanks dima.ky!
  • Jul 23, 2009
    issue 2 (python programming) Status changed by codyrpierce   -   Cannot find this "trivial" bug in the source. Everything looks fine.
    Status: Invalid
    Cannot find this "trivial" bug in the source. Everything looks fine.
    Status: Invalid
  • Jul 23, 2009
    issue 2 (python programming) reported by Grzegorz.Makarewicz   -   is this code usable - or this code is only for non linux ? programming in python isn't complicated - but so trivial bug ? (one from) Tia, m32 diff /devel/python/pyemu/PyEmu.py ./PyEmu.py 809c809 < self.os.initialize(self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size) --- > self.os.initialize(self, self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size) 879c879 < self.os.initialize(self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size) --- > self.os.initialize(self, self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size)
    is this code usable - or this code is only for non linux ? programming in python isn't complicated - but so trivial bug ? (one from) Tia, m32 diff /devel/python/pyemu/PyEmu.py ./PyEmu.py 809c809 < self.os.initialize(self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size) --- > self.os.initialize(self, self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size) 879c879 < self.os.initialize(self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size) --- > self.os.initialize(self, self.stack_base, self.stack_base - self.stack_size, self.heap_base, self.heap_base + self.heap_size)
  • Jun 14, 2009
    issue 1 (Few new instruction and some issues.) reported by dima.ky   -   Attached diff addresses this: 1. 3 new instructions JP, JNP, JPO. 2. ROR instruction was not working "correctly". Now it behaves not exactly as the documentation says. If you look at what the doc says. (* ROR instruction operation *) IF tempCOUNT > 0) (* Prevent updates to CF *) WHILE (tempCOUNT ≠ 0) DO tempCF ← LSB(SRC); DEST ← (DEST / 2) + (tempCF ∗ 2^SIZE); tempCOUNT ← tempCOUNT – 1; OD; ELIHW; CF ← MSB(DEST); IF COUNT = 1 THEN OF ← MSB(DEST) XOR MSB − 1(DEST); ELSE OF is undefined; FI; FI; This DEST ← (DEST / 2) + (tempCF ∗ 2^SIZE); does not really make sense to me as (tempCF * 2^SIZE) is always zero. So I change it so it does tempCF * 2^(SIZE-1). That way the PyEmu produces the same result as the real CPU. 3. PyLinux was not initialized properly. 4. Few little thing live wrong variable name etc. in TEST, MOVZX, MOVSX. (Actually, it looks like libdasm in the repository does not disassemble MOVZX properly, the fix was submitted to http://code.google.com/p/libdasm/) Here is the issues I bumped into but did not address them in any way. 1. PyEmu.dump_register may result into infinite recursion as PyEmu.raise_exception uses PyEmu.dump_register. And PyEmu.dump_register may cause a call to raise exception. 2. While trying to manipulate the memory at high address (greater then 0x80000000) i got OverflowError: long int too large to convert to int in PyMemory.py. Apparently, pages list index is to big for xrange or something. I guess it can be fixed by using only 20 bits integers for those indexes, first 12 bits are all zero anyhow. I saw it only on 32-bit system, on 64-bit system did not see anything like that.
    Attached diff addresses this: 1. 3 new instructions JP, JNP, JPO. 2. ROR instruction was not working "correctly". Now it behaves not exactly as the documentation says. If you look at what the doc says. (* ROR instruction operation *) IF tempCOUNT > 0) (* Prevent updates to CF *) WHILE (tempCOUNT ≠ 0) DO tempCF ← LSB(SRC); DEST ← (DEST / 2) + (tempCF ∗ 2^SIZE); tempCOUNT ← tempCOUNT – 1; OD; ELIHW; CF ← MSB(DEST); IF COUNT = 1 THEN OF ← MSB(DEST) XOR MSB − 1(DEST); ELSE OF is undefined; FI; FI; This DEST ← (DEST / 2) + (tempCF ∗ 2^SIZE); does not really make sense to me as (tempCF * 2^SIZE) is always zero. So I change it so it does tempCF * 2^(SIZE-1). That way the PyEmu produces the same result as the real CPU. 3. PyLinux was not initialized properly. 4. Few little thing live wrong variable name etc. in TEST, MOVZX, MOVSX. (Actually, it looks like libdasm in the repository does not disassemble MOVZX properly, the fix was submitted to http://code.google.com/p/libdasm/) Here is the issues I bumped into but did not address them in any way. 1. PyEmu.dump_register may result into infinite recursion as PyEmu.raise_exception uses PyEmu.dump_register. And PyEmu.dump_register may cause a call to raise exception. 2. While trying to manipulate the memory at high address (greater then 0x80000000) i got OverflowError: long int too large to convert to int in PyMemory.py. Apparently, pages list index is to big for xrange or something. I guess it can be fixed by using only 20 bits integers for those indexes, first 12 bits are all zero anyhow. I saw it only on 32-bit system, on 64-bit system did not see anything like that.
  • Feb 16, 2009
    r17 (PyCPU.py: Moved to asize and osize for overrides.) committed by codyrpierce   -   PyCPU.py: Moved to asize and osize for overrides.
    PyCPU.py: Moved to asize and osize for overrides.
  • Feb 16, 2009
    r16 (PyOS.py: Fixed a bug in lib checking pydasm.pyd: Added 2.5 p...) committed by codyrpierce   -   PyOS.py: Fixed a bug in lib checking pydasm.pyd: Added 2.5 pydasm.pyd
    PyOS.py: Fixed a bug in lib checking pydasm.pyd: Added 2.5 pydasm.pyd
  • Feb 12, 2009
    r15 (PyCPU.py:get_memory_address cheap hack to take out 16 bit ad...) committed by codyrpierce   -   PyCPU.py:get_memory_address cheap hack to take out 16 bit addressing until I can correct the rest of the calls to get_memory_address.
    PyCPU.py:get_memory_address cheap hack to take out 16 bit addressing until I can correct the rest of the calls to get_memory_address.

Older

  • Dec 10, 2008
    r14 (PyCPU - Fixed a bug in sign_extend when extending from byte ...) committed by codyrpierce   -   PyCPU - Fixed a bug in sign_extend when extending from byte registers
    PyCPU - Fixed a bug in sign_extend when extending from byte registers
  • Nov 25, 2008
    r13 (PyCPU.py - Fixed a bug in MOV using selectors PyOS.py - Adde...) committed by codyrpierce   -   PyCPU.py - Fixed a bug in MOV using selectors PyOS.py - Added a convenient function add_fake_library
    PyCPU.py - Fixed a bug in MOV using selectors PyOS.py - Added a convenient function add_fake_library
  • Nov 20, 2008
    r12 (PyEmu - Fixed a bug in steps. Thanks Dennis!) committed by codyrpierce   -   PyEmu - Fixed a bug in steps. Thanks Dennis!
    PyEmu - Fixed a bug in steps. Thanks Dennis!
  • Oct 24, 2008
    r11 (PyCPU.py - Added instruction caching PyMemory.py - Improved ...) committed by codyrpierce   -   PyCPU.py - Added instruction caching PyMemory.py - Improved the memory getters/setters PyInstruction.py - Removed the disasm for performance now needs to be called from PyCPU PyOS.py - Added a static for PEB address
    PyCPU.py - Added instruction caching PyMemory.py - Improved the memory getters/setters PyInstruction.py - Removed the disasm for performance now needs to be called from PyCPU PyOS.py - Added a static for PEB address
  • Oct 17, 2008
    r10 (rep test) committed by codyrpierce   -   rep test
    rep test
  • Oct 17, 2008
    r9 (PyCPU.py - Added popa PyCPU.py - Fixed a bug in rep instruct...) committed by codyrpierce   -   PyCPU.py - Added popa PyCPU.py - Fixed a bug in rep instructions PyCPU.py - Fixed a bug in MOV PyCPU.py - Fixed multiple bugs in the lack of &'ing left shifting instructions PyEmu.py - Minor fixes PyMemory.py - Added dump_memory and started adding an allocator. PyOS.py - Improved the library adding
    PyCPU.py - Added popa PyCPU.py - Fixed a bug in rep instructions PyCPU.py - Fixed a bug in MOV PyCPU.py - Fixed multiple bugs in the lack of &'ing left shifting instructions PyEmu.py - Minor fixes PyMemory.py - Added dump_memory and started adding an allocator. PyOS.py - Improved the library adding
  • Oct 10, 2008
    r8 (Added get_memory_string for returning a string from memory) committed by codyrpierce   -   Added get_memory_string for returning a string from memory
    Added get_memory_string for returning a string from memory
  • Oct 10, 2008
    r7 (Fixed a recursion bug in dump_stack Improved library calling...) committed by codyrpierce   -   Fixed a recursion bug in dump_stack Improved library calling Added PUSHAD
    Fixed a recursion bug in dump_stack Improved library calling Added PUSHAD
  • Oct 10, 2008
    r6 (Added get_library_address to look up addr by name) committed by codyrpierce   -   Added get_library_address to look up addr by name
    Added get_library_address to look up addr by name
  • Oct 10, 2008
    r5 (Cleanup) committed by codyrpierce   -   Cleanup
    Cleanup
  • Sep 26, 2008
    r4 (Selective addition of remaining files) committed by codyrpierce   -   Selective addition of remaining files
    Selective addition of remaining files
  • Sep 26, 2008
    r3 (Adding Files) committed by codyrpierce   -   Adding Files
    Adding Files
  • Sep 26, 2008
    r2 (GC Test) committed by codyrpierce   -   GC Test
    GC Test
 
Hosted by Google Code