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 |
|
bird_egop
|
ba7c2afe2a
|
unknown fixes
|
2025-02-24 23:35:55 +03:00 |
|
bird_egop
|
c50512ea52
|
add gameobjects view
|
2024-11-28 05:07:17 +03:00 |
|
bird_egop
|
e16b219854
|
добавил tma в просмотр и отрефакторил код
|
2024-11-26 04:06:11 +03:00 |
|
 Bird EgopandGitHub
|
b336f44b72
|
Update README.md
|
2024-11-26 01:17:35 +03:00 |
|
bird_egop
|
b14742f2cd
|
теперь читает данные о миссии)
|
2024-11-25 03:37:52 +03:00 |
|