新手遇到的问题
我是一个新手,没有学过汇编,大部分都看不懂,这里遇到点问题,请诸位给予指教:下面这段程序是啥意思啊?
38061140 - 55 - push ebp
38061141 - 8b ec - mov ebp,esp
38061143 - 51 - push ecx
38061144 - 89 4d fc - mov [ebp-04],ecx
38061147 - 8b 45 fc - mov eax,[ebp-04]
3806114a - 8b e5 - mov esp,ebp
3806114c - 5d - pop ebp
3806114d - c2 04 00 - ret 0004
38061150 - 8b 4c 24 04 - mov ecx,[esp+04]
38061154 - f7 c1 03 00 00 00 - not ecx,0003
3806115a - 74 24 - je 38061180
3806115c - 8a 01 - mov al,[ecx]
3806115e - 83 c1 01 - add ecx,01
38061161 - 84 c0 - test al,al
38061163 - 74 4e - je 380611b3
38061165 - f7 c1 03 00 00 00 - not ecx,0003
3806116b - 75 ef - jne 3806115c
3806116d - 05 00 00 00 00 - add eax,00000000
38061172 - 8d a4 24 00 00 00 00 - lea esp,[esp+00000000]
38061179 - 8d a4 24 00 00 00 00 - lea esp,[esp+00000000]
38061180 - 8b 01 - mov eax,[ecx]
38061182 - ba ff fe fe 7e - mov edx,7efefeff
38061187 - 03 d0 - add edx,eax
38061189 - 83 f0 ff - xor eax,ff
3806118c - 33 c2 - xor eax,edx
3806118e - 83 c1 04 - add ecx,04
38061191 - a9 00 01 01 81 - test eax,81010100
38061196 - 74 e8 - je 38061180
38061198 - 8b 41 fc - mov eax,[ecx-04]
3806119b - 84 c0 - test al,al
3806119d - 74 32 - je 380611d1
3806119f - 84 e4 - test ah,ah
380611a1 - 74 24 - je 380611c7
380611a3 - a9 00 00 ff 00 - test eax,00ff0000
380611a8 - 74 13 - je 380611bd
380611aa - a9 00 00 00 ff - test eax,ff000000
380611af - 74 02 - je 380611b3
380611b1 - eb cd - jmp 38061180
380611b3 - 8d 41 ff - lea eax,[ecx-01]
380611b6 - 8b 4c 24 04 - mov ecx,[esp+04]
380611ba - 2b c1 - sub eax,ecx
380611bc - c3 - ret
380611bd - 8d 41 fe - lea eax,[ecx-02]
380611c0 - 8b 4c 24 04 - mov ecx,[esp+04]
380611c4 - 2b c1 - sub eax,ecx
380611c6 - c3 - ret
380611c7 - 8d 41 fd - lea eax,[ecx-03]
380611ca - 8b 4c 24 04 - mov ecx,[esp+04]
380611ce - 2b c1 - sub eax,ecx
380611d0 - c3 - ret
380611d1 - 8d 41 fc - lea eax,[ecx-04]
380611d4 - 8b 4c 24 04 - mov ecx,[esp+04]
380611d8 - 2b c1 - sub eax,ecx
380611da - c3 - ret
380611db - cc - int 3
其中38061180 - 8b 01 - mov eax,[ecx]
这里的ecx带括号和不带括号有啥区别啊?
如果我想把指定地址的数据送给eax,比如说基地址38168338送给eax,应该怎么改,中间有什么需要注意的地方?
38061198 - 8b 41 fc - mov eax,[ecx-04] 这句是啥意思?同上,我想把基地址38168338中的东西传送给eax怎么改,这里面的[ecx-04] 是啥意思?修改过程中需要注意什么?
请诸位给予指教!!!!!!!!!!!!!!!!!!!!!!!