首页
社区
课程
招聘
[求助]一个菜鸟级问题
2006-5-31 19:32 4632

[求助]一个菜鸟级问题

2006-5-31 19:32
4632
把一个crackme反汇编后里面有个命令:
jnz short 00440F72

那个short是什么东西?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
打赏
分享
最新回复 (8)
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
thinkSJ 4 2006-5-31 20:34
2
0
是一个指令修饰符,说明这个跳转是有字节限制的,最大为-128 ~~ 127
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
thinkSJ 4 2006-5-31 20:35
3
0
竟然发了两贴
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
maqiu 2006-5-31 21:38
4
0
很久没用汇编,现在想起来了,和SHORT,LONG,QUAD一类的。
感觉看别人的算法好累~~~
谢谢ThinkSJ
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
maqiu 2006-6-4 11:21
5
0
这是个测试用户名位数的程序,我不懂
test    eax, eax    现在eax里面已经是用户名maqiu了
je      short a_CrackM.00403A3B  
mov     eax, [eax-4]  这一步执行后eax就变成00000005。正好是我用户名的位数,这是什么原理,我看不明白。

雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-6-4 12:04
6
0
test eax,eax   ;测试用户名是否为空
je short a_CrackM.00403A3B ;为空则退出该函数
mov eax, [eax-4]  ;取用户名的长度
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
maqiu 2006-6-6 13:16
7
0
我想知道在[eax-4]中到底存放了个什么数据,是用户名这个字符串的长度么?
为什么会放在[eax-4]中,和寄存器或者内存的结构有关系么?[eax-5] [eax-6]又是什么呢?
小弟实在不明白,请大哥讲详细点行么。我看到的这些东西和微机原理上讲的差距还是很大的。
雪    币: 433
活跃值: (176)
能力值: ( LV13,RANK:1250 )
在线值:
发帖
回帖
粉丝
冲天剑 31 2006-6-6 14:34
8
0
是啊,我在好多Delphi程序里都看到过这种用法
好象是Pascal语言的约定,字符串的长度是保存在它的指针前面一个双字里,根据长度来确定字符串的终点(而C语言里字符串的界定是以遇到第一个'\0'为止,长度需要自己测量),这样,如果eax的当前值是某个字符串的首地址,那么dword ptr [eax - 4]就是这个字符串的长度
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ottffs 2006-6-6 14:45
9
0
好难懂的说,看来还得回头补补
游客
登录 | 注册 方可回帖
返回