能力值:
(RANK:350 )
|
-
-
2 楼
masm32只是一个windows下的汇编开发包
一个会使用它来编程的人,当然已经掌握了他所使用指令的用法。
不明白这帖的含义
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
汇编就是汇编,靠近底层的才叫汇编,Win32汇编是相当于高级语言的东东,学了没什么用。
|
能力值:
(RANK:350 )
|
-
-
4 楼
能不能靠近底层取决于你自己,不取决于汇编
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
不懂,我就看一看。。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
同意楼上的,看你怎么看32位下的汇编了,如果仅仅想从事逆向,那么还是了解底层的东西,但是你不一定能用汇编作出来东西,总之,32位下的汇编不是用来学习逆向的,而是使你的软件跑起来更快些,更有潜力,可否这样认为?
|
能力值:
( LV9,RANK:330 )
|
-
-
7 楼
这两天我在看罗云山的32位汇编,也有这样的体会...实际上就是换了语法调用api...
而且要说执行效率,我看C写的不一定就没有mas32的效率高......
|
能力值:
( LV5,RANK:60 )
|
-
-
8 楼
因人而异,同一种功能不同人写的效率千差万别。
|
能力值:
( LV3,RANK:25 )
|
-
-
9 楼
逆向不学汇编怎么搞
|
能力值:
(RANK:300 )
|
-
-
10 楼
我大致理解MIK的意思是说学习底层CPU的知识,直接看指令手册比较好。
至于MASM32只是编程工具。学习用它编程倒不如用C或其他的语言。
不过指令手册英文版的实在是很累
至于MIK的前面有一个系列的教学文章怎么就这样停了啊?MIK继续写啊..
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
直觉告诉我mik是大牛
|
能力值:
( LV9,RANK:170 )
|
-
-
12 楼
|
能力值:
( LV9,RANK:170 )
|
-
-
13 楼
用 masm32 套件写 windows 汇编程序,完全没有价值。
_MoveMouse proc hwnd,wParam,lParam
local @szPos [128]:byte
local @stPoint:POINT
local @stRect:RECT
invoke GetCursorPos,addr @stPoint ;获得当前鼠标屏幕坐标位置
invoke ScreenToClient,hwnd,addr @stPoint ;将鼠标的屏幕坐标位位置转换成当前窗口内的坐标位置
invoke wsprintf,addr @szPos,offset szMsg,@stPoint.x,@stPoint.y
invoke SetWindowText,hwnd,addr @szPos
mov eax,wParam
.if eax == VK_LEFT
sub @stPoint.x,1
.elseif eax == VK_RIGHT
add @stPoint.x,1
.elseif eax == VK_UP
sub @stPoint.y,1
.elseif eax == VK_DOWN
add @stPoint.y,1
.elseif eax == VK_SPACE
mov eax,@stPoint.y
shl eax,16
add eax,@stPoint.x
invoke PostMessage,hwnd,WM_LBUTTONDOWN,MK_LBUTTON,eax
invoke PostMessage,hwnd,WM_LBUTTONUP,0,eax
.endif
invoke ClientToScreen,hwnd,addr @stPoint ;将当前窗口坐标位置转换成屏幕位置
invoke SetCursorPos,@stPoint.x,@stPoint.y ;设置光标位置
ret
_MoveMouse endp
和以下代码有什么区别? 能证明比以下的要更优秀,更让人明白?
_MoveMouse(HWND hwnd, DWORD wParam, DWORD lParam)
{
byte szPos[128];
POINT stPoint;
RECT stRect;
GetCursorPos(&stPoint);
ScreenToClient(hwnd, &stPoint);
wsprintf(&szPos, &szMsg, stPoint.x, stPoint.y);
SetWindowText(hwnd, &szPos);
switch(wParam) {
case VK_LEFT:
... ...
case VK_RIGHT:
... ...
case VK_UP:
... ...
case VK_DOWN:
... ...
case VK_SPACE:
... ...
}
ClientToScreen(hwnd, &stPoint);
SetCursorPos(stPoint.x, stPoint.y);
}
只不过是用了汇编语法元素,却是用 C 语言的思维。 明摆着是自欺欺人
能证明那段高级的汇编码比 C 代码比有效率吗?
能证明那段高级的汇编码比 C 代码看起来更有技术含量吗? 真正的汇编代码是要用汇编思维的,而不是简单采取“披着汇编的 C ”这种做法。
|
能力值:
(RANK:300 )
|
-
-
14 楼
|
能力值:
( LV9,RANK:330 )
|
-
-
15 楼
[QUOTE=mik;620665]用 masm32 套件写 windows 汇编程序,完全没有价值。
_MoveMouse proc hwnd,wParam,lParam
local @szPos [128]:byte
local @stPoint:POINT
local @stRect:RECT
...[/QUOTE]
mik这个代码是我做笔记自己写的...我说看着函数名眼熟。
事实上我是先用C写,然后再用汇编写个用于熟悉汇编的语法。
可别把我的拙劣代码当成书上的例子了。
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
比用c的要小的多。编程思想没有c和汇编java的区分
|
能力值:
( LV3,RANK:20 )
|
-
-
17 楼
你不用高级语法就行了!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
编程的思想都应该是一样的。
只有精通了一个,其余的最多2个月可以搞定。
|
能力值:
(RANK:680 )
|
-
-
19 楼
事物存在就必定有它存在的道理, masm32也一样.
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
工具和语言 因人而异找到适合自己的是最重要的
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
看那个语言适合自己 就学习那个
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
复习一下~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
被楼主这么一说偶又忐忑了。
细细想来,最牛的不一定适合自己,至少可以接近汇编吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
学习中,暂时还没开始研究
|
能力值:
(RANK:350 )
|
-
-
25 楼
看了LZ的帖,我有点想郁闷了,自己学习编程的大部分时间都花在WIN32汇编上,当然,写的程序也是从其它语言转过来的,说起来也说是其它语言的汇编版,不过生成的程序要小一半以上。
学了这么久,WIN32汇编也摸出了一点感觉,有些代码用它真不合适,比如FDSET这个宏,用汇编来写妈呀,好烦!我也是用C写了后反汇编看的。有时候觉得用它写程序有点舍近求远的味道
|
|
|