bird_egop
2cdd9f1e83
move tests to csv
2025-04-13 17:02:46 +03:00
bird_egop
565158d9bd
Fixed immediate value formatting in Group1 instruction handlers
2025-04-13 16:00:46 +03:00
bird_egop
2c85192d13
Fixed byte order handling in SUB instruction handlers and updated tests
...
Implemented SUB r32, r/m32 instruction handlers and tests
Added comprehensive tests for Push/Pop, Xchg, Sub instructions and enhanced segment override tests
2025-04-13 14:36:49 +03:00
bird_egop
44c73321ea
move handlers to respective folders
2025-04-13 04:13:44 +03:00
bird_egop
e8a16e7ecd
Moved AND instruction handlers from ArithmeticImmediate to dedicated And namespace for better organization
2025-04-13 04:11:06 +03:00
bird_egop
af94b88868
Added comprehensive test coverage for arithmetic and logical instructions. Implemented AND instruction handlers and added tests for ADC, SBB, and arithmetic unary operations.
2025-04-13 04:07:37 +03:00
bird_egop
b215908d76
fixups
2025-04-13 03:56:39 +03:00
bird_egop
611dce32e5
Fixed operand order in MOV instructions and updated tests to match disassembler output
2025-04-13 03:56:09 +03:00
bird_egop
b2929c38e9
Replaced all Assert.Contains with strict Assert.Equal in tests for better validation
2025-04-13 03:38:50 +03:00
bird_egop
0d271abdcb
Replaced Assert.Contains with strict Assert.Equal in tests for better validation
2025-04-13 03:33:51 +03:00
bird_egop
b718745d7a
Fixed MovRm32Imm32Handler to properly handle instruction boundaries
2025-04-13 03:25:20 +03:00
bird_egop
17ef78a7a7
Fixed instruction boundary detection and added JGE instruction handler
2025-04-13 03:19:42 +03:00
bird_egop
e12f5b5bdf
Fixed instruction boundary detection for complex instruction sequences
2025-04-13 03:08:37 +03:00
bird_egop
33b151d856
Fixed instruction boundary detection by improving MovRm8Imm8Handler
2025-04-13 03:00:31 +03:00
bird_egop
465056dd9a
Fixed instruction boundary detection for the specific sequence at address 0x00001874
2025-04-13 02:51:51 +03:00
bird_egop
618ee641a8
Added OrRm8R8Handler for decoding OR r/m8, r8 instruction (opcode 0x08)
2025-04-13 02:35:48 +03:00
bird_egop
d46d03ce65
Added AddEaxImmHandler for decoding ADD EAX, imm32 instruction (opcode 0x05)
2025-04-13 02:31:08 +03:00
bird_egop
d0667950f8
Added proper REPNE prefix handling and comprehensive string instruction tests
2025-04-13 02:26:49 +03:00
bird_egop
79bf419c07
Consolidated string instruction handling by enhancing StringInstructionHandler to handle both regular and REP/REPNE prefixed instructions
2025-04-13 02:23:27 +03:00
bird_egop
efd9141b39
Made StringInstructionHandler self-contained by removing dependency on OpcodeMap
2025-04-13 02:20:49 +03:00
bird_egop
bdd691a021
Inlined local methods in StringInstructionHandler for better readability
2025-04-13 02:19:19 +03:00
bird_egop
410211fcc6
Converted StringInstructionDecoder to StringInstructionHandler for better consistency with handler pattern
2025-04-13 02:18:12 +03:00
bird_egop
9dfa559045
Refactored instruction decoder to improve modularity. Created StringInstructionDecoder and updated PrefixDecoder. Fixed handler registration in InstructionHandlerFactory.
2025-04-13 02:16:12 +03:00
bird_egop
c14a92bf04
Added support for string instructions with REP prefix, specifically F3 A5 (REP MOVS)
2025-04-13 02:10:48 +03:00
bird_egop
bfaeba0d5f
Fixed segment override prefix handling for 0x64 (FS) opcode with tests
2025-04-13 01:39:38 +03:00
bird_egop
b4a85d2839
fix duplicated code
2025-04-13 01:36:11 +03:00
bird_egop
52841237c1
Added CmpRm32R32Handler for CMP r/m32, r32 instruction (0x39) with tests
2025-04-13 01:34:56 +03:00
bird_egop
28ba47bfab
add factory tests
2025-04-13 01:30:58 +03:00
bird_egop
c701fdb435
Added CmpAlImmHandler for CMP AL, imm8 instruction (0x3C) with tests
2025-04-13 01:30:42 +03:00
bird_egop
9cad5ff95c
fixup
2025-04-13 01:11:45 +03:00
bird_egop
8123ced2d6
Removed duplicate OR instruction handlers and files to fix handler organization
2025-04-13 01:11:20 +03:00
bird_egop
03aa51d13c
Removed Group1 folder and fixed handler organization. Organized handlers by instruction type instead of abstract groupings.
2025-04-13 01:08:49 +03:00
bird_egop
b8a37e626c
Implemented Group1 instruction handlers for CMP r/m8, imm8 and fixed OR r/m8, imm8
2025-04-13 01:02:37 +03:00
bird_egop
402cdc68fb
Added support for INC r32 instructions (0x40-0x47) with tests
2025-04-13 00:55:20 +03:00
bird_egop
7d23af32fa
Added support for MOV r/m8, imm8 (0xC6) and ADD r/m32, r32 (0x01) instructions with tests
2025-04-13 00:50:23 +03:00
bird_egop
266fdfeee5
Added support for CALL r/m32 (0xFF /2) and ADD r32, r/m32 (0x03) instructions with tests
2025-04-13 00:45:53 +03:00
bird_egop
393aac5bf6
Added support for DEC r32 instructions (0x48-0x4F) with tests
2025-04-13 00:41:36 +03:00
bird_egop
439b6576b7
Added support for CMP r32, r/m32 (0x3B) and MOV r/m32, imm32 (0xC7) instructions with tests
2025-04-13 00:38:38 +03:00
bird_egop
70f2acd3d1
Added support for LEA instruction (opcode 0x8D) with tests
2025-04-13 00:34:03 +03:00
bird_egop
79bb19df6b
Reorganized OR instruction handlers into a dedicated folder
2025-04-13 00:28:20 +03:00
bird_egop
94a61a17a1
Added complete set of OR instruction handlers with tests
2025-04-13 00:26:13 +03:00
bird_egop
3ffaaf0057
Added support for OR r8, r/m8 instruction (opcode 0x0A) with tests
2025-04-13 00:23:11 +03:00
bird_egop
7063a4a5a8
fix float
2025-04-13 00:21:01 +03:00
bird_egop
016e1ee54f
Reorganized instruction handlers into more descriptive folders (ArithmeticImmediate and ArithmeticUnary)
2025-04-12 23:46:05 +03:00
bird_egop
f658f4384c
cleanup
2025-04-12 23:40:48 +03:00
bird_egop
3cc6d27e33
Split FloatingPointHandler into specialized handlers for each instruction type and fixed FLDCW instruction formatting
2025-04-12 23:33:40 +03:00
bird_egop
82653f96f2
split float handlers
2025-04-12 23:24:42 +03:00
bird_egop
bb695cf3bb
move handlers, remove bases
2025-04-12 23:03:07 +03:00
bird_egop
acccf5169a
Fixed FnstswHandler test by registering the handler in InstructionHandlerFactory
2025-04-12 22:34:02 +03:00
bird_egop
c027adc113
split and move handlers
2025-04-12 22:18:46 +03:00
bird_egop
0cc03c2479
Added test for INT3 instruction handler
2025-04-12 22:16:12 +03:00
bird_egop
3ea408d088
Improved XCHG instruction test to be more flexible about operand order
2025-04-12 22:10:01 +03:00
bird_egop
d5bcd56774
Added tests for previously untested DataTransferHandler methods and fixed NOP instruction handling
2025-04-12 22:05:51 +03:00
bird_egop
759d28f9a7
Added comprehensive tests for instruction handlers
2025-04-12 22:00:15 +03:00
bird_egop
5ede2bd3c6
remove comments
2025-04-12 21:54:06 +03:00
bird_egop
a0e40c8a52
Fixed instruction handlers and tests for Group1, Group3, and XOR instructions
2025-04-12 21:48:41 +03:00
bird_egop
f107b8e763
Added comprehensive tests for various instruction handlers. Created test files for Jump, Return, XOR, Group1, Group3, and Call instructions. Fixed ConditionalJumpHandler test to use 'jz' instead of 'je' since they are equivalent in x86.
2025-04-12 21:38:47 +03:00
bird_egop
794b56c6b5
move handlers
2025-04-12 21:34:16 +03:00
bird_egop
a6b6cc1149
Removed two-byte instruction handling from FloatingPointHandler. Simplified the code by removing the TwoByteInstructions dictionary and related methods since we now have dedicated handlers for specific instructions.
2025-04-12 21:29:43 +03:00
bird_egop
6ed6a7bd00
Fixed floating point instruction handling. Removed redundant FNSTSW AX check from FloatingPointHandler and added dedicated test for FnstswHandler.
2025-04-12 21:27:17 +03:00
bird_egop
fe0b04f5a1
Fixed TEST instruction handlers and tests. Updated TestImmWithRm8Handler and TestImmWithRm32Handler to properly check opcode in CanHandle and validate reg field in Decode. Improved test cases to use InstructionDecoder directly.
2025-04-12 21:21:03 +03:00
bird_egop
bf5fcdd2ff
Fixed ConditionalJumpHandler to correctly implement x86 architecture specifications
2025-04-12 21:09:41 +03:00
bird_egop
bd251b6c06
Improved ConditionalJumpHandler with better documentation and clearer code
2025-04-12 21:02:52 +03:00
bird_egop
0925bb7fef
Fixed ConditionalJumpHandler to correctly display jump offset and added X86DisassemblerTests project to solution
2025-04-12 21:00:32 +03:00
bird_egop
87e0c152e2
Fixed disassembler regression by adding handlers for TEST r/m8, r8 and TEST r/m8, imm8 instructions
2025-04-12 20:32:38 +03:00
bird_egop
dbc9b42007
Removed obsolete handler classes and restored InstructionHandlerFactory
2025-04-12 20:25:29 +03:00
bird_egop
1442fd7060
Removed obsolete Group1Handler and Group3Handler classes
2025-04-12 20:14:28 +03:00
bird_egop
e4b8645da0
Implemented individual handlers for Group1 and Group3 instructions
2025-04-12 20:13:01 +03:00
bird_egop
58a148ebd8
Refactor instruction handlers to use single instruction per handler pattern
2025-04-12 19:57:42 +03:00
bird_egop
82ffd51a3e
Add support for RET instruction with immediate operand (0xC2)
2025-04-12 19:36:46 +03:00
bird_egop
0fb3fd7311
Add support for XOR instruction
2025-04-12 19:35:25 +03:00
bird_egop
f3aa862a57
Add support for two-byte conditional jumps, including JNZ (0F 85)
2025-04-12 19:30:13 +03:00
bird_egop
cedd7a931e
Add support for TEST instruction
2025-04-12 19:26:00 +03:00
bird_egop
ae1c4730d0
Add support for FNSTSW instruction
2025-04-12 19:21:32 +03:00
bird_egop
dffc405c10
Refactored instruction decoder into smaller, more maintainable components using handler pattern
2025-04-12 19:18:52 +03:00
bird_egop
2e6e133159
Added support for 0x83 opcode (Group 1 operations with sign-extended immediate)
2025-04-12 19:04:43 +03:00
bird_egop
1a76bb4e77
Enhanced x86 instruction decoder to fully decode memory operands and match Ghidra output
2025-04-12 18:55:54 +03:00
bird_egop
3823121bea
Added support for floating-point instructions including FISTP
2025-04-12 18:52:55 +03:00
bird_egop
60f63c2c06
clarify rva members
2025-04-12 18:49:23 +03:00
bird_egop
d73cccd3c5
Fixed DLL name display and console input handling in the disassembler
2025-04-12 18:44:51 +03:00
bird_egop
9b5ec7e0d6
Implemented enhanced x86 disassembler with improved instruction decoding and display
2025-04-12 18:41:40 +03:00
bird_egop
6a69b0b91b
Update code style to follow project rules with one-liner namespace declarations
2025-04-12 18:23:18 +03:00
bird_egop
53de948376
Refactor: Move classes to separate files with one-liner namespace style
2025-04-12 18:11:07 +03:00
bird_egop
cf2d61915c
Fix nullability warnings by initializing fields in constructors
2025-04-12 18:05:31 +03:00
bird_egop
79773b08aa
Move Is64Bit method from OptionalHeaderParser to OptionalHeader class
2025-04-12 18:01:43 +03:00
bird_egop
49a0a9e3a3
Remove function list truncation to show all exported and imported functions
2025-04-12 17:22:20 +03:00
bird_egop
e4adb45ed2
Move section code checking logic from SectionHeaderParser to SectionHeader class
2025-04-12 17:20:51 +03:00
bird_egop
f1a2fca4f3
Refactor PEFormat into smaller classes following Single Responsibility Principle
2025-04-12 17:12:18 +03:00
bird_egop
61a86f6681
Separate construction from parsing in PEFormat class
2025-04-12 17:05:23 +03:00
bird_egop
666a592217
Reorganize PE format code into separate files in PE namespace
2025-04-12 17:03:04 +03:00
bird_egop
bc572f5d33
Fix DLL name parsing in export directory to properly separate DLL name from function names
2025-04-12 16:51:22 +03:00
bird_egop
8dfc0b1a7b
Fix import directory parsing to properly resolve all DLL names and functions
2025-04-12 16:47:21 +03:00
bird_egop
f5bacc018c
test
2025-04-12 16:42:44 +03:00
bird_egop
a6057bf072
unfuck 565 and 4444 textures
2025-03-11 04:36:05 +03:00
bird_egop
a419be1fce
update NRES file with element count and element size, seen in ResTree .trf
2025-03-09 22:56:59 +03:00
bird_egop
8c4fc8f096
комментарии и дополнительные изыскания
2025-03-05 18:15:48 +03:00
bird_egop
135777a4c6
add varset view
2025-03-01 23:03:13 +03:00
bird_egop
76ef68635e
scr reversed type
2025-03-01 22:45:15 +03:00
bird_egop
d7eb23e9e0
Implement SCR UI
2025-02-26 04:27:16 +03:00
bird_egop
b47a9aff5d
Implement scr parsing
2025-02-25 01:51:28 +03:00