能力值:
( LV4,RANK:50 )
|
-
-
2 楼
or al,al 判断 AL内是否为0 ,如果是0表示取完
则跳出循环。
是这样吗?
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
但mov esi,_lpsz
这句又是什么目的呢?
|
能力值:
( LV12,RANK:210 )
|
-
-
4 楼
;ESI所指位址的内存载入一个BTYE到AL 里,会使得ESI 暂存器递少一。LODSB 之意思是loadstring byte
也就是拿ESI来记数了
注释不是说得很明白吗?
|
能力值:
(RANK:410 )
|
-
-
5 楼
mov @hWinNotepad,eax
;把主窗口的句柄放入局部变量@hWinNotepad
这一句放的应该是记事本的Edit句柄。
or al,al是检测al的值,如果al为零,则下面的jz指令就跳,否则不跳。
mov esi,_lpsz ;将_lpsz保存的指向字符串的指针传给esi,为下面lodsb操作作准备。
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
此处的,_lpsz在程序中也是第一次出现,应该没有值才对啊?
|
能力值:
(RANK:410 )
|
-
-
7 楼
_lpsz是_SendtoNotepad函数的参数,程序在调用这个函数时会将一个指向字符串的指针作为_SendtoNotepad的_lpsz参数传给函数。
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
最初由 thebutterfly 发布 ;ESI所指位址的内存载入一个BTYE到AL 里,会使得ESI 暂存器递少一。LODSB 之意思是loadstring byte 也就是拿ESI来记数了
注释不是说得很明白吗?
大哥,这注释本来就是我自己写的。
我是不太明白连起来的 意思
特别是mov esi,_lpsz这句
综观程序,,_lpsz是第一出现,怎么可能会有值呢?
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
最初由 小虾 发布 _lpsz是_SendtoNotepad函数的参数,程序在调用这个函数时会将一个指向字符串的指针作为_SendtoNotepad的_lpsz参数传给函数。
mov esi,_lpsz ;将_lpsz保存的指向字符串的指针传给esi,为下面lodsb操作作准备。
也就是说_lpsz会自动指向字符串???
那它如何知道指向哪个字符串呢?
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
lpsz是第一出现,程序中没发现 有把它指向字符串的语句啊
|
能力值:
(RANK:410 )
|
-
-
11 楼
都说了,_lpsz是_SendtoNotepad函数的参数,当主程序调用该函数时,会传入一个指针给_SendtoNotepad函数的,而这个传入的这个指针_SendtoNotepad会将他保存在_lpsz参数指向的位置。
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
最初由 小虾 发布 都说了,_lpsz是_SendtoNotepad函数的参数,当主程序调用该函数时,会传入一个指针给_SendtoNotepad函数的,而这个传入的这个指针_SendtoNotepad会将他保存在_lpsz参数指向的位置。
我知道它是程序给这个函数的一个指针, 但程序随机给这个指针分配一个地址指向吗??
然后再让_lpsz指向这个地址?
如果不是,那程序如何知道要把这个指针指向哪去呢?
|
能力值:
( LV4,RANK:50 )
|
-
-
13 楼
我想知道的是:程序如何自动并准确的让这个指针指向正确的地址
能麻烦斑竹再最后指点下吗?
我现在在牛角里,出不来了。。。
|
能力值:
(RANK:410 )
|
-
-
14 楼
函数一般是通过[ebp]来定位函数参数的,所以_lpsz是一定会指向函数传入的参数的。你上网去找找函数的实现方法你就会明白了。如函数在进入后和进入后的汇编代码如下:
进入函数前:
push _lpsz ;这是[esp]指向的就是_lpsz参数。
call _SendtoNotepad ;call _SendtoNotepad函数。
进入函数后:
push ebp ; 函数会建立堆践链
mov ebp,esp
; 将esp指针传给ebp,这时[ebp]保存的就是ebp的初始值,[ebp+4]保存的就是call的返回地址。[ebp+8]就是保存着程序传入的_lpsz参数了。在函数里,函数只需读取[ebp+8]就可以取得函数传入的第一个参数,也就是_lpsz参数。所以上面的mov esi,_lpsz反汇编后就是mov esi,[ebp+8]的语句。
|
能力值:
( LV4,RANK:50 )
|
-
-
15 楼
谢谢,解释的如此透彻。
完全明白了。。。
不光对编程有帮助啊,感觉对逆向也有了点体会。。
苦思不解,被人提点开窍后的感觉就是爽。。
|
|
|