首页
社区
课程
招聘
[旧帖] [求助]请教几个函数的作用!~ 0.00雪花
发表于: 2008-1-8 15:38 3191

[旧帖] [求助]请教几个函数的作用!~ 0.00雪花

2008-1-8 15:38
3191
function StrPosB(Str: PChar; iLen: longword; c: Char): longword; assembler;
asm
        PUSH    EDI
        PUSH    EBX
        OR      EAX,EAX  //Str1
        JE      @@2
        MOV     EDI,EAX
        MOV     EBX,EAX

        MOV     AL,CL   //c
        MOV     ECX,EDX //iLen
        INC     ECX
        REPNE   SCASB
        CMP     ECX,0
        JE      @@2
        MOV     EAX,EDI
        SUB     EAX,EBX
        DEC     EAX
        JMP     @@3
@@2:    MOV     EAX,0FFFFFFFFH
@@3:    POP     EBX
        POP     EDI
end;
function StrPosW(Str: PChar; iLen: longword; c: word): longword; assembler;
asm
        PUSH    EDI
        PUSH    EBX
        OR      EAX,EAX  //Str1
        JE      @@2
        MOV     EDI,EAX
        MOV     EBX,EAX

        MOV     AX,CX   //c
        MOV     ECX,EDX //iLen
        Shr     ECX,1   // !!!! /2
        INC     ECX
        REPNE   SCASW
        CMP     ECX,0
        JE      @@2
        MOV     EAX,EDI
        SUB     EAX,EBX
        SUB     EAX,2   // !!!!  -2
        JMP     @@3
@@2:    MOV     EAX,0FFFFFFFFH
@@3:    POP     EBX
        POP     EDI
end;
function StrPosD(Str: PChar; iLen: longword; c: dword): longword; assembler;
asm
        PUSH    EDI
        PUSH    EBX
        OR      EAX,EAX  //Str1
        JE      @@2
        MOV     EDI,EAX
        MOV     EBX,EAX

        MOV     EAX,ECX   //c
        MOV     ECX,EDX //iLen
        Shr     ECX,2   // !!!! /4
        INC     ECX
        REPNE   SCASD
        CMP     ECX,0
        JE      @@2
        MOV     EAX,EDI
        SUB     EAX,EBX
        SUB     EAX,4   // !!!!  -4
        JMP     @@3
@@2:    MOV     EAX,0FFFFFFFFH
@@3:    POP     EBX
        POP     EDI
end;

在分析一个小程序的时候看到以上的几个函数不知道是干什么用的,在网上查了查也没有查到,哪位高手朋友帮忙解释一下函数的用途!~小弟感谢

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
函数名字都说明一切了:第三个参数在第一个参数中的位置。第二个参数给出第一个参数的长度。
2008-1-8 16:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是啊,这个我也能看出来,我试验了一下这个3个函数,比如strposd这个函数返回的确实$FFFFFFFF,返回的结果代表什么呢!~
2008-1-8 16:09
0
雪    币: 203
活跃值: (189)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
目标串Str中c的位置,如果找到,返回c在当前串Str中的位置,如果找不到返回-1
如果真不会,自己把汇编拿来编译一下不就知道结果了.
2008-1-8 16:09
0
游客
登录 | 注册 方可回帖
返回
//