dipeshrestha
May 19th, 2005, 00:30
Hi all,
Recently d/l aspr 1.33 special build. i protect notepad without advance import elimination. With no problem, i found OEP, then dump and rebuild IAT... but my dumped app crash... i traced where the problem was and found that the problem occur at address 10006549. The code are as follows:
Original Notepad
01006532 74 0A JE SHORT NOTEPAD.0100653E
01006534 3C 20 CMP AL,20
01006536 77 06 JA SHORT NOTEPAD.0100653E
01006538 46 INC ESI
01006539 8975 8C MOV DWORD PTR SS:[EBP-74],ESI
0100653C EB F0 JMP SHORT NOTEPAD.0100652E
0100653E C745 D0 000000 MOV DWORD PTR SS:[EBP-30],0
01006545 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
01006548 50 PUSH EAX ; /pStartupinfo
01006549 FF15 9C100001 CALL DWORD PTR DS:[<&KERNEL32.GetStartup>; \GetStartupInfoA
0100654F . F645 D0 01 TEST BYTE PTR SS:[EBP-30],1
01006553 . 74 0A JE SHORT NOTEPAD.0100655F
01006555 . 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C]
01006558 . 25 FFFF0000 AND EAX,0FFFF[/SIZE][SIZE=2]
Dumped Notepad
01006532 74 0A JE SHORT dumped.0100653E
01006534 3C 20 CMP AL,20
01006536 77 06 JA SHORT dumped.0100653E
01006538 46 INC ESI
01006539 8975 8C MOV DWORD PTR SS:[EBP-74],ESI
0100653C EB F0 JMP SHORT dumped.0100652E
0100653E C745 D0 000000 MOV DWORD PTR SS:[EBP-30],0
01006545 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
01006548 50 PUSH EAX
01006549 E8 DB E8
0100654A B6 DB B6
0100654B 9A DB 9A
0100654C 0C DB 0C
0100654D 00 DB 00
0100654E B8 DB B8
0100654F F6 DB F6
01006550 45 DB 45 ; CHAR 'E'
01006551 D0 DB D0
01006552 01 DB 01
01006553 74 DB 74 ; CHAR 't'
01006554 0A DB 0A
01006555 8B DB 8B
01006556 45 DB 45 ; CHAR 'E'
01006557 D4 DB D4
01006558 25 DB 25 ; CHAR '%'
01006559 FF DB FF
0100655A FF DB FF
0100655B 00 DB 00
0100655C 00 DB 00
0100655D EB DB EB
0100655E 05 DB 05
0100655F B8 DB B8
01006560 0A DB 0A
01006561 00 DB 00
01006562 00 DB 00
01006563 00 DB 00
01006564 50 56 6A 00 ASCII "PVj",0
01006568 6A DB 6A ; CHAR 'j'
01006569 00 DB 00
Traced code of packed Notepad
01006532 74 0A JE SHORT Npaspr.0100653E
01006534 3C 20 CMP AL,20
01006536 77 06 JA SHORT Npaspr.0100653E
01006538 46 INC ESI
01006539 8975 8C MOV DWORD PTR SS:[EBP-74],ESI
0100653C EB F0 JMP SHORT Npaspr.0100652E
0100653E C745 D0 00000000 MOV DWORD PTR SS:[EBP-30],0
01006545 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
01006548 50 PUSH EAX
01006549 E8 B69A0C00 CALL 010D0004
0100654E B8 F645D001 MOV EAX,1D045F6
01006553 74 0A JE SHORT Npaspr.0100655F
01006555 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C]
01006558 25 FFFF0000 AND EAX,0FFFF
0100655D EB 05 JMP SHORT Npaspr.01006564
Now what i cannot understand is whether my IAT rebuilding is wrong or anything else... Also why odbg cannot cannot analyze that part of code at 1006549. can someone help me with that...
i have attached my packed notepad along with this....
Recently d/l aspr 1.33 special build. i protect notepad without advance import elimination. With no problem, i found OEP, then dump and rebuild IAT... but my dumped app crash... i traced where the problem was and found that the problem occur at address 10006549. The code are as follows:
Original Notepad
01006532 74 0A JE SHORT NOTEPAD.0100653E
01006534 3C 20 CMP AL,20
01006536 77 06 JA SHORT NOTEPAD.0100653E
01006538 46 INC ESI
01006539 8975 8C MOV DWORD PTR SS:[EBP-74],ESI
0100653C EB F0 JMP SHORT NOTEPAD.0100652E
0100653E C745 D0 000000 MOV DWORD PTR SS:[EBP-30],0
01006545 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
01006548 50 PUSH EAX ; /pStartupinfo
01006549 FF15 9C100001 CALL DWORD PTR DS:[<&KERNEL32.GetStartup>; \GetStartupInfoA
0100654F . F645 D0 01 TEST BYTE PTR SS:[EBP-30],1
01006553 . 74 0A JE SHORT NOTEPAD.0100655F
01006555 . 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C]
01006558 . 25 FFFF0000 AND EAX,0FFFF[/SIZE][SIZE=2]
Dumped Notepad
01006532 74 0A JE SHORT dumped.0100653E
01006534 3C 20 CMP AL,20
01006536 77 06 JA SHORT dumped.0100653E
01006538 46 INC ESI
01006539 8975 8C MOV DWORD PTR SS:[EBP-74],ESI
0100653C EB F0 JMP SHORT dumped.0100652E
0100653E C745 D0 000000 MOV DWORD PTR SS:[EBP-30],0
01006545 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
01006548 50 PUSH EAX
01006549 E8 DB E8
0100654A B6 DB B6
0100654B 9A DB 9A
0100654C 0C DB 0C
0100654D 00 DB 00
0100654E B8 DB B8
0100654F F6 DB F6
01006550 45 DB 45 ; CHAR 'E'
01006551 D0 DB D0
01006552 01 DB 01
01006553 74 DB 74 ; CHAR 't'
01006554 0A DB 0A
01006555 8B DB 8B
01006556 45 DB 45 ; CHAR 'E'
01006557 D4 DB D4
01006558 25 DB 25 ; CHAR '%'
01006559 FF DB FF
0100655A FF DB FF
0100655B 00 DB 00
0100655C 00 DB 00
0100655D EB DB EB
0100655E 05 DB 05
0100655F B8 DB B8
01006560 0A DB 0A
01006561 00 DB 00
01006562 00 DB 00
01006563 00 DB 00
01006564 50 56 6A 00 ASCII "PVj",0
01006568 6A DB 6A ; CHAR 'j'
01006569 00 DB 00
Traced code of packed Notepad
01006532 74 0A JE SHORT Npaspr.0100653E
01006534 3C 20 CMP AL,20
01006536 77 06 JA SHORT Npaspr.0100653E
01006538 46 INC ESI
01006539 8975 8C MOV DWORD PTR SS:[EBP-74],ESI
0100653C EB F0 JMP SHORT Npaspr.0100652E
0100653E C745 D0 00000000 MOV DWORD PTR SS:[EBP-30],0
01006545 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
01006548 50 PUSH EAX
01006549 E8 B69A0C00 CALL 010D0004
0100654E B8 F645D001 MOV EAX,1D045F6
01006553 74 0A JE SHORT Npaspr.0100655F
01006555 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C]
01006558 25 FFFF0000 AND EAX,0FFFF
0100655D EB 05 JMP SHORT Npaspr.01006564
Now what i cannot understand is whether my IAT rebuilding is wrong or anything else... Also why odbg cannot cannot analyze that part of code at 1006549. can someone help me with that...
