能力值:
( LV2,RANK:10 )
2 楼
不错,可惜俺的硬件跟不上
能力值:
( LV6,RANK:90 )
3 楼
终于刻完盘了
正在给我的一台主机安装
这个版本的光盘里面有I386和AMD64两个目录
AMD64是专门针对AMD64系统的安装文件
I386是针对intel以及其他系统的安装文件
不一定非是64位的系统
哈哈看了一下文件信息压盘时间是2004-12-3日
应该算最新版本的XP了
能力值:
( LV4,RANK:50 )
4 楼
我测试过 还不错 不过缺少太多设备64位驱动 附件中是64位的记事本 大家用IDA反编译看看吧 ;)
附件:NOTEPAD.rar
这些是OEP入口的代码 看来大家需要学习新东东了
.text:000000000000A450 mov rax, rsp
.text:000000000000A453 sub rsp, 0E8h ; int
.text:000000000000A45A mov [rax+200000FFFFFFF8h], rbx
.text:000000000000A45E mov [rax+200000FFFFFFF0h], rdi
.text:000000000000A462 lea rcx, [rsp+0E8h+var_88]
.text:000000000000A467 call cs:GetStartupInfoA
.text:000000000000A46D nop
.text:000000000000A46E cmp word ptr cs:1E000000000000h, 5A4Dh
.text:000000000000A477 jz short loc_A488
.text:000000000000A479 xor ebx, ebx
.text:000000000000A47B mov [rsp+0E8h+var_B8], ebx
.text:000000000000A47F lea rdi, cs:1E000000000000h
.text:000000000000A486 jmp short loc_A504
.text:000000000000A488 ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:000000000000A488
.text:000000000000A488 loc_A488: ; CODE XREF: start+27j
.text:000000000000A488 movsx rax, dword ptr cs:1E00000000003Ch
.text:000000000000A48F lea rdi, cs:1E000000000000h
.text:000000000000A496 add rax, rdi
.text:000000000000A499 cmp dword ptr [rax], 4550h
.text:000000000000A49F jz short loc_A4A9
.text:000000000000A4A1 xor ebx, ebx
.text:000000000000A4A3 mov [rsp+0E8h+var_B8], ebx
.text:000000000000A4A7 jmp short loc_A504
能力值:
( LV6,RANK:90 )
5 楼
能力值:
( LV8,RANK:130 )
6 楼
不知那个用的IDA是哪个版本,竟然反汇编出错误的结果.
看看我反汇编你的notepad.rar的结果!
其中RIP相对寻址是AMD64的新指令,如“CMP WORD PTR [RIP+ffff5b89H],5a4dH”
00000010000a450 488BC4 MOV RAX,RSP
000000010000a453 4881ECE8000000 SUB RSP,e8H
000000010000a45a 488958F8 MOV QWORD PTR [RAX+fffffff8H],RBX
000000010000a45e 488978F0 MOV QWORD PTR [RAX+fffffff0H],RDI
000000010000a462 488D4C2460 LEA RCX,[RSP+60H]
000000010000a467 FF156B6EFFFF CALL [RIP+ffff6e6bH]
000000010000a46d 90 NOP
000000010000a46e 66813D895BFFFF4D5A CMP WORD PTR [RIP+ffff5b89H],5a4dH
000000010000a477 740F JZ 000000010000a488
000000010000a479 33DB XOR EBX,EBX
000000010000a47b 895C2430 MOV DWORD PTR [RSP+30H],EBX
000000010000a47f 488D3D7A5BFFFF LEA RDI,[RIP+ffff5b7aH]
000000010000a486 EB7C JMP 000000010000a504
000000010000a488 486305AD5BFFFF MOVSXD RAX,DWORD PTR [RIP+ffff5badH]
000000010000a48f 488D3D6A5BFFFF LEA RDI,[RIP+ffff5b6aH]
000000010000a496 4803C7 ADD RAX,RDI
000000010000a499 813850450000 CMP DWORD PTR [RAX],4550H
000000010000a49f 7408 JZ 000000010000a4a9
000000010000a4a1 33DB XOR EBX,EBX
000000010000a4a3 895C2430 MOV DWORD PTR [RSP+30H],EBX
000000010000a4a7 EB5B JMP 000000010000a504
000000010000a4a9 0FB74818 MOVZX ECX,WORD PTR [RAX+18H]
000000010000a4ad 81F90B010000 CMP ECX,10bH
000000010000a4b3 7432 JZ 000000010000a4e7
000000010000a4b5 81F90B020000 CMP ECX,20bH
000000010000a4bb 7408 JZ 000000010000a4c5
000000010000a4bd 33DB XOR EBX,EBX
000000010000a4bf 895C2430 MOV DWORD PTR [RSP+30H],EBX
000000010000a4c3 EB3F JMP 000000010000a504
000000010000a4c5 83B8840000000E CMP DWORD PTR [RAX+84H],eH
000000010000a4cc 7708 JNBE 000000010000a4d6
000000010000a4ce 33DB XOR EBX,EBX
000000010000a4d0 895C2430 MOV DWORD PTR [RSP+30H],EBX
000000010000a4d4 EB2E JMP 000000010000a504
000000010000a4d6 33DB XOR EBX,EBX
000000010000a4d8 3998F8000000 CMP DWORD PTR [RAX+f8H],EBX
000000010000a4de 0F95C3 SETNZ BL
000000010000a4e1 895C2430 MOV DWORD PTR [RSP+30H],EBX
000000010000a4e5 EB1D JMP 000000010000a504
000000010000a4e7 8378740E CMP DWORD PTR [RAX+74H],eH 我知道了:IDA算出了绝对地址!
另外谁能解释它为什么比较5a4dH
能力值:
( LV2,RANK:10 )
7 楼
我有CD盘,但我的硬件跟不上呀~~~~~~~
可惜了~~~~~~~~
能力值:
( LV4,RANK:50 )
8 楼
5A4D 在32位Windows里面是PE文件头的标识字,在64位操作系统里面什么含义还不清楚
我用的IDA是4.7版,我看不出我们编译结果有什么不同,仅仅是IDA反编译深度不同而已
能力值:
( LV8,RANK:130 )
9 楼
能力值:
( LV12,RANK:370 )
10 楼
看来要学新东西还得换硬件
能力值:
( LV12,RANK:660 )
11 楼
穷啊~
能力值:
( LV2,RANK:10 )
12 楼
穷人一个,还没有钱换呢,不过现在的程序大多还是32位的,将来我们还要学习64位汇编了呀~~~
能力值:
( LV8,RANK:130 )
13 楼
汇编没有用说做废就做废