关闭

逆向分析中常见的api函数

499人阅读 评论(0) 收藏 举报
1  comctl32.dll

Windows应用程序公用GUI图形用户界面模块。

2  imm32.dll

电脑的系统文件,与输入法密切相关。

3  SetDispositionInformationFile

设置部署信息文件

4  LockFile

可以锁定文件的一部分, 锁成功返回非0,他只能锁定一个打开的文件,给予锁定者以独占的模式。禁止其他线程访问。UnlockFile()解锁,类似

5  ntdll.dll

描述了windows本地NTAPI的接口。是重要的Windows NT内核级文件。

6  conime.exe
7  msimg32.dll

是Windows图形设备接口GDI相关模块,用于支持新的API应用程序接口和GDI32相关特性。

8  winmm.dll

是Windows多媒体相关应用程序接口,用于低档的音频和游戏手柄。

9  WindowsShell.Manifest

WinXP 样式的配置文件;该文件损坏会导致 XP 变回经典样式的界面。

10  GetPrivateProfileString

初始化文件中指定的条目取得字串。

11  RegCreateKeyEx

该函数用来创建注册表键,如果该键已经存在,则打开它(注册表键不区分大小写)

12  ShellExecuteHook

从最初的第三方EXE加载DLL启动方式开始,到随后的使用rundll32.exe加载运行,再到利用NT服务的宿主程序svchost.exe实现启动,直到使用“ShellExecuteHook”(执行挂钩)技术,如今许多木马和恶意程序都在用户层使用ShellExecuteHook作为启动方式,实现随系统启动。

13 CreateToolhelp32Snapshot

函数通过获取进程信息为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程建立一个快照.说到底,可以获取系统中正在运行的进程信息,线程信息等。

14 process32First 

是一个进程获取函数,当我们利用函数CreateToolhelp32Snapshot()获得当前运行进程的快照后,我们可以利用process32First函数来获得第一个进程的句柄.

15 Process32Next

是一个进程获取函数,当我们利用函数CreateToolhelp32Snapshot()获得当前运行进程的快照后,我们可以利用Process32Next函数来获得下一个进程的句柄.其原型为

16 GetEnvironmentVariable

获取系统变量。

17 GetModuleHandleA

获取一个应用程序或动态链接库的模块句柄

18 CreateMutex

作用是找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥体。

19 GetStartupInfo

Windows API函数。该函数取得进程在启动时被指定的 STARTUPINFO 结构。

20 GetCommandLine

获得指向当前命令行缓冲区的一个指针。

21 GetEnvironmentStrings

函数获取系统环境变量。

22 GetModuleFileName

获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载。

23 SystemParametersinfo

该函数查询或设置系统级参数。该函数也可以在设置参数中更新用户配置文件。

24  rep movs dword ptres:[edi], dword ptr [esi] 

循环从esi指向的内存区域复制数据到edi处的内存区域,复制ecx次,每次是一个DWORD  

25 REPNE SCAS BYTE PTR ES:[EDI]

扫描 ES:[EDI]字符串中的 AL值.值到找到AL值后停止.

25 FindFirstFile:

根据文件名查找文件。该函数到一个文件夹(包括子文件夹)去搜索指定文件如果要使用附加属性去搜索文件的话可以使用FindFirstFileEx函数。

26 GetEnvironmentStrings

该函数为当前进程返回系统环境变量,它取代了DOS模式下的相应函数:GetDOSEnvironment()

27 GetUserDefaultLCID:

获得默认的用户本地标识符。CHS简体中文

28 attrib.exe

是DOS下不常用的命令。它是显示、设置,或删除指派给文件或目录的属性。ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
     [drive:][path][filename][/S [/D] [/L]]

29 setenvironmentvariable

函数用于设置指定的环境变量:
用法:
BOOL WINAPISetEnvironmentVariable(
__in     LPCTSTR lpName, //环境变量名,当该值不存在且lpValue不为NULL时,将创建一个新的
__in_opt LPCTSTR lpValue //环境变量值);

30 LoadLibrary:

载入指定的动态链接库,并将它映射到当前进程使用的地址空间。

31 ExpandEnvironmentStrings

扩充环境字串。具体操作过程与命令行处理的所为差不多。也就是说,将由百分号封闭起来的环境变量名转换成那个变量的内容。比如,“%path%”会扩充成完整路径。在vb里经常用于为新进程创建一个环境块

32 GetVersion

判断当前运行的Windows和DOS版本

33 wsprintf

函数wsprintf()将一系列的字符和数值输入到缓冲区。输出缓冲区里的的值取决于格式说明符(即"%")。如果写入的是文字,此函数给写入的文字的末尾追加一个'\0'。函数的返回值是写入的长度,但不包括最后的'\0'。

34 ShellExecute createprocess  winexec:
这三者都可以执行可执行文件功能上:createprocess  >  shellexecute   >   winexec  复杂程度也是!winexec() 只用于可执行文件,是一个老函数啦,虽然使用方便,但不推荐!(兼容性也不好);shellexcute()是通过windows外壳打开任意文件,非可执行文件自动通过关联的程序打开对于可执行文件,区别不大,不过shellexcute可以指定运行时的工作路径;winexec() 必须有GetMessage或超时之后才返回!CreateProcess和ShellExecute都是直接返回的!
35 writefsdword

Write memory to a location specified by an offset relative to thebeginning of the FS segment。用法:
void__writefsword( 
   unsigned long Offset, 
   unsigned short Data 
);

36 GetLastError

该函数返回调用线程最近的错误代码值,错误代码以单线程为基础来维护的,多线程不重写各自的错误代码值。分析过程中常见的返回值类型:(1)当返回值为183—>当文件已存在时,无法创建该文件。(2)当返回值为2的时候找不到指定文件。(3)返回值为3的时候找不到指定路径。

37 VirtualAllocEx

函数可以用来在其他进程的地址空间内申请内存 。

38 CreateRemoteThread

函数用来在其他进程内创建一个线程,当然创建的线程是运行于目标进程的地址空间内的,它和目标进程自己创建的线程并没有什么区别。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2043次
    • 积分:68
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章存档