Delphi反汇编内部字符串处理函数/过程不完全列表

名称

参数

返回值

作用

等价形式 / 备注

 

_PStrCat

EAX :目标字符串

EDX :源字符串

EAX

连接两个 Pascal 字符串

s:=copy(s+s1,1,255)

 

_PStrNCat

EAX :目标字符串

EDX :源字符串

CL :结果字符串最大长度

EAX

连接两个 Pascal 字符串

s:=copy(s+s1,1,n)

 

_PStrCpy

EAX :目标字符串

EDX :源字符串

EAX

Pascal 字符串复制

s:=s1

 

_PStrNCpy

EAX :目标字符串

EDX :源字符串

CL :结果字符串最大长度

EAX

Pascal 字符串复制

s:=copy(s1,1,n)

 

_PStrCmp

EAX :左字符串

EDX :右字符串

标志位 Z

Pascal 字符串比较

if s=s1

 

_AStrCmp

EAX :左字符串

EDX :右字符串

ECX :要比较的字符个数

标志位 Z

Ansi 字符串比较

if s=s1

 

_LStrClr(var S: AnsiString);

EAX :字符串

清空字符串

s:=''

 

_LStrArrayClr{var str: AnsiString; cnt: longint};

EAX :字符串数组指针

EDX :数组长度

清空字符串数组

 

_LstrAsg(var dest: AnsiString; source: AnsiString)

EAX :目标字符串

EDX :源字符串

复制 Ansi 字符串

 

_LstrLAsg(var dest: AnsiString; source: AnsiString)

复制 Ansi 字符串。但是和 _LstrAsg 的区别不详

 

_NewAnsiString(length: Longint)

EAX :长度

EAX (指针)

分配指定长度的 AnsiString

 

_LStrFromPCharLen(var Dest: AnsiString; Source: PAnsiChar; Length: Integer)

EAX :目标字符串

EDX :源字符串

ECX :要复制的长度

分配并从 PChar 复制指定长度的 AnsiString

 

_LStrFromPWCharLen(var Dest: AnsiString; Source: PWideChar; Length: Integer)

EAX :目标字符串

EDX :源字符串

ECX :要复制的长度

分配并从 PWideChar 复制指定长度的 AnsiString

 

_LStrFromChar(var Dest: AnsiString; Source: AnsiChar)

EAX :目标字符串

EDX :源字符串

单字符的分配和复制

 

_LStrFromWChar(var Dest: AnsiString; Source: WideChar)

EAX :目标字符串

EDX :源字符串

单字符的分配和复制

 

_LStrFromPChar(var Dest: AnsiString; Source: PAnsiChar)

Pchar 到 AnsiStr 的转换

 

_LStrFromPWChar(var Dest: AnsiString; Source: PWideChar)

PWideChar 到 AnsiStr 的转换

 

_LStrToString(var Dest: ShortString; const Source: AnsiString; MaxLen: Integer)

EAX :目标字符串

EDX :源字符串

ECX :要复制的长度

AnsiString 到 Pascal 字符串的转换

 

_LstrLen(str: AnsiString): Longint

EAX :目标字符串

EAX

AnsiStr 的长度

 

_LstrCat(var dest: AnsiString; source: AnsiString)

EAX :目标字符串

EDX :源字符串

Ansi 字符串的连接

dest+=source

 

_LStrCat3{var dest:AnsiString; source1: AnsiString; source2: AnsiString}

EAX :目标字符串

EDX :源字符串 1

ECX :源字符串 2

Ansi 字符串的连接

dest+=source

 

_LstrCatN(var dest:AnsiString; argCnt: Integer; ...)

EAX :目标字符串

EDX :源字符串的个数 +2

[ESP+4*i] :第 i 个源字符串的指针

Ansi 字符串的连接

这里的入口参数比较特别

 

_LStrCmp

EAX :左字符串

EDX :右字符串

标志位 Z

Ansi 字符串比较

if s=s1

 

_LStrAddRef

EAX :目标字符串

增加 Ansi 字符串的引用计数

这个可以不用管

 

_LStrToPChar

EAX

EAX

类型转换

 

_LstrCopy(const s : AnsiString; index, count : Integer): AnsiString

EAX :目标字符串

EDX :起始位置

ECX :要复制的长度

[ESP+4]

复制指定长度的 Ansi 子串

 

_LStrDelete

EAX :目标字符串

EDX :起始位置

ECX :要删除的长度

同 Delete

 

_LstrInsert(const source : AnsiString; var s : AnsiString; index : Integer)

EAX :要插入的字符串

EDX :目标字符串

ECX :要插入的位置

将 source 插入到 s 的 index 位置

结果是 s 加长

 

_LStrPos

EAX :子串

EDX :目标字符串

EAX

同 POS

 

_LStrSetLength

EAX :目标字符串

EDX :新长度

Delphi反汇编内部字符串处理函数/过程不完全列表的更多相关文章

  1. Delphi反汇编内部字符串处理函数不完全列表

    Delphi反汇编内部字符串处理函数/过程不完全列表 名称 参数 返回值 作用 等价形式 / 备注 _PStrCat EAX :目标字符串 EDX :源字符串 EAX 连接两个 Pascal 字符串 ...

  2. Delphi中常用字符串处理函数

    .copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回. 假设str为,)=,)='def' .concat(str1,str2{,strn}) 把各自变量连接起 ...

  3. delphi简单单向字符串加密函数

    delphi用久了有的时候得给密码加密一下,简单点就行了,这个函数还是不错的. const XorKey:array[0..7] of Byte=($B2,$09,$AA,$55,$93,$6D,$8 ...

  4. delphi字符串操作函数一览

    首部 function SameText(const S1, S2: string): Boolean; $[SysUtils.pas 功能 返回两个字符串是否相等 说明 不区分大小写 参考 < ...

  5. Delphi 自带的字符串分割函数split

    下面介绍Delphi自带的字符串分割函数,根据你的需要来使用. 1.ExtractStrings function ExtractStrings(Separators, WhiteSpace: TSy ...

  6. delphi字符串分隔函数用法实例

    这篇文章主要介绍了delphi字符串分隔函数用法,通过自定义函数SeparateTerms2实现将字符串分割后存入字符串列表的功能,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了delphi ...

  7. NotePad++ delphi/Pascal函数过程列表插件

    从cnpack上爬下来的 函数过程列表 点击下载

  8. BCB/Delphi中常用的VCL函数说明(字符串函数)

    本文档是ccrun(老妖)根据网上资料整理而成. --------------------内存分配--------------------函数名称:AllocMem函数说明:在队中分配指定字节的内存块 ...

  9. Delphi 常用数据类型 字符串类型 数据类型等等

    字符串类型 Delphi有三种类型的字符: ●AnsiChar这是标准的1字节的ANSI字符,程序员都对它比较熟悉. ●WideChar这是2字节的Unicode字符. ●Char在目前Delphi早 ...

随机推荐

  1. linux下php多版本的并存实现

    其实最简单的方法,就是通过nginx,生成多个php使用不同的端口,这实在简单,我写了两个版本,一个是apche服务,一个是nginx服务,使用一两个不同的版本,爽!

  2. C#常用简单线程实例

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  3. Codeforces Round #363 (Div. 2)->B. One Bomb

    B. One Bomb time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  4. PHP之preg_replace()与ereg_replace()正则匹配比较讲解

    <?php //preg_replace()和ereg_replace()函数的使用的比较 // -------preg_replace()-------------------------- ...

  5. window dos 设置网络

    ->netsh ->pushd interface ip ->set address "本地连接" static 192.168.1.2 255.255.255. ...

  6. Struct2 自定义拦截器

    1 因为struct2 如文件上传,数据验证等功能都是由系统默认的 defalutStack中的拦截器实现的,所以我们定义拦截器需要引用系统默认的defalutStack 这样才不会影响struct2 ...

  7. HTTP请求报文与响应报文

    http://docs.telerik.com/fiddler/KnowledgeBase/HTTP HTTP请求报文与响应报文 HTTP http://www.w3.org/Protocols/rf ...

  8. 暑假集训单切赛第二场 UVA 11988 Broken Keyboard (a.k.a. Beiju Text)(字符串处理)

    一开始不懂啊,什么Home键,什么End键,还以为相当于括号,[]里的东西先打印出来呢.后来果断百度了一下. 悲催啊... 题意:给定一个字符串,内部含有'['和']'光标转移指令,'['代表光标移向 ...

  9. 表单验证插件——validate

    表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({options ...

  10. 网络上下载的Ghost系统含威胁