汇编代码分析_已解决
本帖最后由 涛4091 于 2023-2-23 11:09 编辑有没有 dalao看看我这写哪里错了? 你是怎么知道这两个函数的汇编地址的?
本帖最后由 涛4091 于 2019-5-9 07:53 编辑
人造人 发表于 2019-5-8 22:02
你是怎么知道这两个函数的汇编地址的?
#include <windows.h>
#include <winbase.h>
typedef void (*MYPROC)(LPTSTR); //定义函数指针
int main()
{
HINSTANCE LibHandle;
MYPROC ProcAdd;
LibHandle = LoadLibrary(“msvcrt”);
ProcAdd = (MYPROC) GetProcAddress(LibHandle, "system"); //查找System函数地址
(ProcAdd) ("command.com"); //其实就是执行System(“command.com”)
return 0;
}
大体这个样子,但是有的系统能找到不同的地址,相同的函数功能。也有的地址不稳定 涛4091 发表于 2019-5-9 07:52
大体这个样子,但是有的系统能找到不同的地址,相同的函数功能。也有的地址不稳定
对,你可以通过GetProcAddress得到System的地址,但是LoadLibrary和GetProcAddress的地址你又如何得到呢?
人造人 发表于 2019-5-9 12:26
对,你可以通过GetProcAddress得到System的地址,但是LoadLibrary和GetProcAddress的地址你又如何得到呢 ...
handle = LoadLibrary("kernel32.dll");
loadlibrary = (MYPROC)GetProcAddress(handle,"LoadLibraryA");
printf("loadlibrary = 0x %x",loadlibrary); 人造人 发表于 2019-5-9 12:26
对,你可以通过GetProcAddress得到System的地址,但是LoadLibrary和GetProcAddress的地址你又如何得到呢 ...
GetProcAddress没找 涛4091 发表于 2019-5-10 16:12
你调用了LoadLibrary得到LoadLibraryA的地址,那么LoadLibrary的地址你如何知道?
人造人 发表于 2019-5-10 17:33
你调用了LoadLibrary得到LoadLibraryA的地址,那么LoadLibrary的地址你如何知道?
我靠 我咋知道 我就是知道 loadlibrary的函数地址就行了 不重启机器DLL句柄不会变的,如果是测试可以的不是测试就GG {:10_297:} 你这是两行代码?吓我一跳!我还真以为是两行代码!
页:
[1]