能力值:
( LV3,RANK:20 )
|
-
-
2 楼
看这种代码不如看反汇编出来的代码呢。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
楼上头相一直在赚,如果你不正眼看它的话。
|
能力值:
( LV12,RANK:310 )
|
-
-
4 楼
楼上楼上头相一直在赚,如果你不正眼看它的话。
xdata pdata应该是不同属性的段 其他的不懂
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这种代码是可以用ML64编译通过的,可以编译在连接形成可执行文件.exe,正常情况是没有语法错误的,而这个文件却产生了语法错误,标号$LN3未定义,不知道pdata是什么意思。
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
许多问题我觉得问得莫名其妙,你问xdata是什么,那我问你aait是什么意思啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
我找到答案了,把上述asm中间的pdata和xdata改成.pdata和.xdata,文件头增加
OPTION DOTNAME 语句,然后把标号 $LN3:一个冒号改为$LN3::两个冒号,文件编译通过了!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.40219.01
include listing.inc
OPTION DOTNAME
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
PUBLIC ?c@@3HA ; c
_DATA SEGMENT
?c@@3HA DD 09H ; c
_DATA ENDS
PUBLIC WinMain
EXTRN __imp_MessageBoxA:PROC
.pdata SEGMENT
$pdata$WinMain DD imagerel $LN3
DD imagerel $LN3+87
DD imagerel $unwind$WinMain
.pdata ENDS
.xdata SEGMENT
$unwind$WinMain DD 011801H
DD 06218H
; Function compile flags: /Odtp
.xdata ENDS
_TEXT SEGMENT
a$ = 32
b$ = 36
hInstance$ = 64
hPrevInstance$ = 72
szCmdLine$ = 80
iCmdShow$ = 88
WinMain PROC
; File c:\program files (x86)\microsoft visual studio 10.0\vc\bin\amd64\sd.cpp
; Line 9
$LN3::
mov DWORD PTR [rsp+32], r9d
mov QWORD PTR [rsp+24], r8
mov QWORD PTR [rsp+16], rdx
mov QWORD PTR [rsp+8], rcx
sub rsp, 56 ; 00000038H
mov DWORD PTR a$[rsp], 1
; Line 11
mov DWORD PTR b$[rsp], 0
; Line 12
mov eax, DWORD PTR ?c@@3HA ; c
mov ecx, DWORD PTR a$[rsp]
add ecx, eax
mov eax, ecx
add eax, DWORD PTR b$[rsp]
mov DWORD PTR ?c@@3HA, eax ; c
; Line 18
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call QWORD PTR __imp_MessageBoxA
; Line 19
xor eax, eax
add rsp, 56 ; 00000038H
ret 0
WinMain ENDP
_TEXT ENDS
END
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
还要在.pdata段和.xdata段定义时增加DWORD READ '',即定义如下
.pdata SEGMENT DWORD READ ''
。。。。。。。。。。
.pdata ENDS
.xdata SEGMENT DWORD READ ''
。。。。。。。。。
.xdata ENDS
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.40219.01
include listing.inc
OPTION DOTNAME
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
PUBLIC ?c@@3HA ; c
_DATA SEGMENT
?c@@3HA DD 09H ; c
_DATA ENDS
PUBLIC WinMain
EXTRN __imp_MessageBoxA:PROC
.pdata SEGMENT DWORD READ ''
$pdata$WinMain DD imagerel $LN3
DD imagerel $LN3+87
DD imagerel $unwind$WinMain
.pdata ENDS
.xdata SEGMENT DWORD READ ''
$unwind$WinMain DD 011801H
DD 06218H
; Function compile flags: /Odtp
.xdata ENDS
_TEXT SEGMENT
a$ = 32
b$ = 36
hInstance$ = 64
hPrevInstance$ = 72
szCmdLine$ = 80
iCmdShow$ = 88
WinMain PROC
; File c:\program files (x86)\microsoft visual studio 10.0\vc\bin\amd64\sd.cpp
; Line 9
$LN3::
mov DWORD PTR [rsp+32], r9d
mov QWORD PTR [rsp+24], r8
mov QWORD PTR [rsp+16], rdx
mov QWORD PTR [rsp+8], rcx
sub rsp, 56 ; 00000038H
mov DWORD PTR a$[rsp], 1
; Line 11
mov DWORD PTR b$[rsp], 0
; Line 12
mov eax, DWORD PTR ?c@@3HA ; c
mov ecx, DWORD PTR a$[rsp]
add ecx, eax
mov eax, ecx
add eax, DWORD PTR b$[rsp]
mov DWORD PTR ?c@@3HA, eax ; c
; Line 18
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call QWORD PTR __imp_MessageBoxA
; Line 19
xor eax, eax
add rsp, 56 ; 00000038H
ret 0
WinMain ENDP
_TEXT ENDS
END
|
|
|