首页
社区
课程
招聘
懂脚本的麻烦您进来做下客!!!
发表于: 2006-8-29 21:45 6337

懂脚本的麻烦您进来做下客!!!

2006-8-29 21:45
6337
我要实现下脚本取模的方法,首先请问下脚本是否有形成的取模指令,有就申事了

如果没有,请问下,如何实现?
我的想法如下,但是失败了:
asm eip,"mov eax,eip"
sto
asm eip,"mov edx,0"
sto
asm eip,"mov ebx,4"
sto
asm eip,"div ebx"
sto

mov eax,eip由于这条指令不能用,只要是想得到eip的值模4

高手次教,在此谢过。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (23)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
可以设置一个变量
如:
var test
mov test,eip
2006-8-29 22:06
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
3
最初由 fly 发布
可以设置一个变量
如:
var test
mov test,eip

是的,我有这样的想法,不过var test这个变量,只能在脚本中用,在程序的汇编中就不能用

例如
var test
mov test,eip
asm eip,"mov eax,test"
这样一样出错,我主要是想在eip处修改指令。!!
2006-8-29 22:08
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
4
//不太明白你的意思,这样?
mov eax,eip
mov edx,0
mov ebx,4
asm eip,"div ebx"
sto
ret
2006-8-29 22:15
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
5
//或者这样
mov eax,eip
mov edx,0
mov ebx,4
div eax,ebx
ret
2006-8-29 22:16
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
6
上面的代码是用ODbgScript1.51写的。
2006-8-29 22:20
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
7
最初由 小虾 发布
//或者这样
mov eax,eip
mov edx,0
mov ebx,4
div eax,ebx
........

我希望的是取模,你这样只能得到商数
2006-8-29 22:22
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
8
再加一句mov eax,edx或asm eip,"mov eax,edx"不就是取模了
2006-8-29 22:24
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
9
除数的模保存在edx中。
2006-8-29 22:24
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
10
最初由 小虾 发布
再加一句mov eax,edx或asm eip,"mov eax,edx"不就是取模了

可是脚本的div op1,op2这个指令和汇编的不一样,他好像不改变edx值的(汇编edx放余数)
2006-8-29 22:25
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
11
更正一下,脚本中不能取得模数,所以还是得在程序里取模数,
mov eax,eip
mov edx,0
mov ebx,4
asm eip,"div ebx"
sto
asm eip,"mov eax,edx"
sto
ret
2006-8-29 22:28
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
12
或者直接这样。
mov eax,eip
mov ebx,4
mov edx,0
EXEC
div ebx
mov eax,edx
ENDE
ret
2006-8-29 22:32
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
13
最初由 小虾 发布
更正一下,脚本中不能取得模数,所以还是得在程序里取模数,
mov eax,eip
mov edx,0
mov ebx,4
asm eip,"div ebx"
........

感谢版主问题顺利解决。

在问个问题,为什么直接在OD修改代码为mov eax,eip就出现"未认可操作数提示"而在脚本却可以。
2006-8-29 22:33
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
14
脚本不是正规的ASM语言,而在OD里修改代码必须使用标准的ASM语言,在ASM语言里,mov eax,eip是不存在的操作指令。
2006-8-29 22:35
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
15
最初由 小虾 发布
脚本不是正规的ASM语言,而在OD里修改代码必须使用标准的ASM语言,在ASM语言里,mov eax,eip是不存在的操作指令。

学习,在od中,只能用fly大侠的方法,对吧!
2006-8-29 22:38
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
16
不行,eip是比较特殊的寄存器,在编程中一般使用重定位代码的方法:
call @f
@@:
pop eax
取得。
2006-8-29 22:42
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
17
最初由 小虾 发布
不行,eip是比较特殊的寄存器,在编程中一般使用重定位代码的方法:
call @f
@@:
pop eax
取得。

这样得到的应该是eip的下一条指令吧!!
是利用call 函数时候把eip下一条指令压栈,然后把他弹到eax中。不知是否理解有错误,望指点。
2006-8-29 22:49
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
18
没错,再减去5就是原eip的地址了。
2006-8-29 22:53
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
19
谢谢小虾大侠,学习了!!!
2006-8-29 22:55
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
20
不是什么大侠,我们彼此学习。
2006-8-29 22:58
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
21
能否留个QQ交流我的:
2006-8-29 23:02
0
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
22
最初由 kangaroo 发布
能否留个QQ交流我的:


还是论坛交流好,让大家都受益。就像这帖,又学到了不少东西。
2006-8-30 09:22
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
23
最初由 kanxue 发布
还是论坛交流好,让大家都受益。就像这帖,又学到了不少东西。


支持!!
2006-8-30 09:39
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
学习!!!!!
2006-8-30 18:50
0
游客
登录 | 注册 方可回帖
返回
//