| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1537 人关注过本帖
标题:新手遇到的问题
只看楼主 加入收藏
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
 问题点数:0 回复次数:12 
新手遇到的问题
我是一个新手,没有学过汇编,大部分都看不懂,这里遇到点问题,请诸位给予指教:
下面这段程序是啥意思啊?
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
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
建议楼主看看教程的寻址部分

加[]表示在内存里 这里ecx给出地址 就是c里的指针 不加就是ecx的值

可以这样

mov eax,dword ptr [38168338h]

要注意的地方看书吧 偶不说了
2008-10-25 11:49
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]jinyincar[/un] 在 2008-10-25 11:36 的发言:[/bo]

我是一个新手,没有学过汇编,大部分都看不懂,这里遇到点问题,请诸位给予指教:
下面这段程序是啥意思啊?
38061140 - 55                         - push ebp
38061141 - 8b ec                      - mov ebp ...


你是不是想搞破解?

这段程序的意思说出来太多了 呵呵

建议你看看书
2008-10-25 11:51
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
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]jinyincar[/un] 在 2008-10-25 19:23 的发言:[/bo]

谢谢楼上的前辈,我这个是一个游戏外挂的一段代码,只是想尝试一下看看能不能破了,不过我对
38061198 - 8b 41 fc        - mov eax,[ecx-04]

里面的意思还是不甚了解,ecx-04是不是一个指针啊?但ecx指定的地址 ...


对不起 没明白您的意思

不过 要是连数据传送的指令都搞不懂 想破它有难度呀

还是看看书吧 要不等其他高手给你看看
2008-10-25 19:53
jinyincar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-25
收藏
得分:0 
正是因为有难度所以才研究,要不看着枯燥的书哪里找得到兴趣,来回折腾几次,然后再系统的看书,自然理解的就会比较透彻
2008-10-25 20:13
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]jinyincar[/un] 在 2008-10-25 20:13 的发言:[/bo]

正是因为有难度所以才研究,要不看着枯燥的书哪里找得到兴趣,来回折腾几次,然后再系统的看书,自然理解的就会比较透彻


加油 不过 你这个问题偶理解不了
2008-10-25 20:15
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
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]jinyincar[/un] 在 2008-10-25 20:30 的发言:[/bo]

我只是不理解38061198 - 8b 41 fc        - mov eax,[ecx-04]
这里的ecx-o4是什么意思?莫非是用ecx里面的数据减4?但是ecx里面是一串文本的字母啊!!!!
用od跟到这的时候,ecx是一个地址,地址里面放着一串字母(实 ...


只是一种寻址方式罢了 ecx的值不变

若ecx=87654324h 则 mov eax,[ecx-04] 就是 mov eax,[87654320h]

变的话有很多种方法罢 直接改程序就行吧
2008-10-25 20:44
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
快速回复:新手遇到的问题
数据加载中...
 
   



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

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