首页
社区
课程
招聘
问一个vb6库的函数,很困惑啊/
发表于: 2004-6-7 13:56 5165

问一个vb6库的函数,很困惑啊/

2004-6-7 13:56
5165
下面是简化了的.&(x)表示某个值为x的内存地址.

push &(2)
push &(1)
push &(4008)
call msvbvm60!rtcMidCharVar

这个函数不是Mid(string,index,length)的意思么?就是把4008作字符串看待

从第一个开始截取两个字符,那么出来的结果应该就是[&(4008)]=4008吧?

却为什么值是120008?

[课程]Linux pwn 探索篇!

收藏
免费 5
支持
分享
最新回复 (6)
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是从EAX返回result串的首址?
还是从堆栈返回?

望高手点一点!
2004-6-7 13:58
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
00484F2A   > 6>MOV AX,WORD PTR SS:[EBP-24]
00484F2E   . 6>CMP AX,WORD PTR SS:[EBP-110]
00484F35   . 0>JG Eatery.004850F9
00484F3B   . C>MOV DWORD PTR SS:[EBP-4],0F
00484F42   . C>MOV DWORD PTR SS:[EBP-64],1
00484F49   . C>MOV DWORD PTR SS:[EBP-6C],2
00484F50   . 8>LEA ECX,DWORD PTR SS:[EBP-28]
00484F53   . 8>MOV DWORD PTR SS:[EBP-A4],ECX
00484F59   . C>MOV DWORD PTR SS:[EBP-AC],4008
00484F63   . 8>LEA EDX,DWORD PTR SS:[EBP-6C]
00484F66   . 5>PUSH EDX
00484F67   . 0>MOVSX EAX,WORD PTR SS:[EBP-24]
00484F6B   . 5>PUSH EAX
00484F6C   . 8>LEA ECX,DWORD PTR SS:[EBP-AC]
00484F72   . 5>PUSH ECX
00484F73   . 8>LEA EDX,DWORD PTR SS:[EBP-7C]
00484F76   . 5>PUSH EDX
00484F77   . F>CALL DWORD PTR DS:[<&MSVBVM60.#632>]     ;  MSVBVM60.rtcMidCharVar
00484F7D   . C>MOV DWORD PTR SS:[EBP-84],1
2004-6-7 14:03
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
上面写错了一点点
push 2
push &(1)
push &(4008)
call rtcMidCharVar
如果我能知道这个函数操作的结果放在哪里就OK了.

这个软件在win98下不能反汇编,只能在win2003里,我用的是onlydbg
2004-6-7 14:06
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
俺是第一次写注册机,帮帮忙!
2004-6-7 14:10
0
雪    币: 166
活跃值: (112)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
Mid(string, start, lenght)函数在汇编中表示如下
push [length]
push start
push [string]
push [Result]
call rtcMidCharVar

需要注意的是,push [string]中string实际存放地址位于dword ptr [string+8]处
2004-6-7 14:33
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
实在太感谢你了!我来这第一次得到这么有建设性的回答!
2004-6-7 14:35
0
游客
登录 | 注册 方可回帖
返回
//