| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1544 人关注过本帖
标题:新手遇到的问题
取消只看楼主 加入收藏
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
 问题点数:0 回复次数:5 
新手遇到的问题
我是一个新手,没有学过汇编,大部分都看不懂,这里遇到点问题,请诸位给予指教:
下面这段程序是啥意思啊?
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] 是啥意思?修改过程中需要注意什么?
请诸位给予指教!!!!!!!!!!!!!!!!!!!!!!!
搜索更多相关主题的帖子: pop 
2008-10-25 11:36
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
得分:0 
谢谢楼上的前辈,我这个是一个游戏外挂的一段代码,只是想尝试一下看看能不能破了,不过我对
38061198 - 8b 41 fc        - mov eax,[ecx-04]

里面的意思还是不甚了解,ecx-04是不是一个指针啊?但ecx指定的地址却是和38061180那一行的ecx是相同的,但是我想要用38168338h这个地址中的内容替换掉现有的传送,因为如果现有的传送把ecx的现有内容传送给eax挂就不能验证了,但是把38168338h地址的内容传送给eax,挂就能验证。我只是不知道这个语句应该怎么写,按照上面你说的
mov eax,dword ptr [38168338h]
这样能解决38061180那行的问题,但38061198这行我还是糊涂着呢,同时,这样修改以后,是不是会影响原程序的标识,从而影响下面程序的正常跳转?
2008-10-25 19:23
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
得分:0 
正是因为有难度所以才研究,要不看着枯燥的书哪里找得到兴趣,来回折腾几次,然后再系统的看书,自然理解的就会比较透彻
2008-10-25 20:13
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
得分:0 
我只是不理解38061198 - 8b 41 fc        - mov eax,[ecx-04]
这里的ecx-o4是什么意思?莫非是用ecx里面的数据减4?但是ecx里面是一串文本的字母啊!!!!
用od跟到这的时候,ecx是一个地址,地址里面放着一串字母(实际是用户名)
而我是想用38168338h里面的文本字符(另一个用户名)替换现有的ecx所指定的地址里面的文本字符
2008-10-25 20:30
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
得分:0 
就是说如果ecx=87654324h 则 mov eax,[ecx-04] 就是 mov eax,[87654320h],就是把87654320h地址中的内容传送给了eax
同样
ecx=87654324h 则 mov eax,[ecx] 就是 mov eax,[87654324h],就是把87654324h地址中的内容传送给了eax

这样理解对吧?
2008-10-25 20:49
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
得分:0 
非常感谢,终于搞明白这个-04是什么意思了。再次感谢,如再有不明白之处,再向你请教!!!!!!!!!!!!!!
2008-10-25 21:06
快速回复:新手遇到的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017215 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved