• 2024-09-25关于动态库加载问题
    1,GetProcAddress只能加载与函数名一致的符号,如果是C++符号是无法加载函数的所以在进行动态库加载时候,如果被加载的库是C++组件,需要将接口声明添加extern“C”或者增加def文件;否则会出现GetProcAddress加载动态函数时候失败;2,查看动态库是否有符号可以使用depend工具:http://w
  • 2023-09-041.15 自实现GetProcAddress
    在正常情况下,要想使用GetProcAddress函数,需要首先调用LoadLibraryA函数获取到kernel32.dll动态链接库的内存地址,接着在调用GetProcAddress函数时传入模块基址以及模块中函数名即可动态获取到特定函数的内存地址,但在有时这个函数会被保护起来,导致我们无法直接调用该函数获取到特定函
  • 2023-09-041.15 自实现GetProcAddress
    在正常情况下,要想使用GetProcAddress函数,需要首先调用LoadLibraryA函数获取到kernel32.dll动态链接库的内存地址,接着在调用GetProcAddress函数时传入模块基址以及模块中函数名即可动态获取到特定函数的内存地址,但在有时这个函数会被保护起来,导致我们无法直接调用该函数获取到特定
  • 2023-07-28使用Delphi编写DLL劫持内存补丁
    在有些破解程序时,不能暴力修改程序,修改后,程序就不能正常运行,因为很多程序启动时有自我的校验,但是当程序加载到内存后,在内存中修改相应的地方就可以达到破解的效果。那么怎样在不破坏程序的前提下,达到修改程序呢?当一个可执行文件运行时,Windows加载器将可执行模块映射到进程的地址
  • 2023-07-131.8 运用C编写ShellCode代码
    在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的MessageBox弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,当然除了通过汇编来实现ShellCode的编写以外,使用C同样可以实现编写,
  • 2023-06-04PE学习——导出表,加载dll并GetProcAddress获取函数地址的内在原理
    导出表一个可执行程序是由多个PE文件组成,这些PE文件依靠倒入表、导出表进行联系,导出表存储着PE文件提供给其他人使用的函数列表,导入表则存储着PE文件所需要用到的PE文件列表。从PE文件的角度去看,任何PE文件都可以有导入、导出表,从一般情况下来看,EXE文件不会提供导出表,也就是不会
  • 2023-05-24GetProcAddress函数
    1、Windows提供的一个函数,用于获取动态链接库中函数的地址。2、函数原型:FARPROCGetProcAddress(HMODULEhModule,LPCSTRlpProcName)3、参数说明:hModule:指定要获取函数地址的DLL的模块句柄。可以使用 LoadLibrary 或 LoadLibraryEx 函数加载DLL并获取其模块句柄。
  • 2023-05-08MFC-GetProcAddress获取动态链接库中函数的地址
     HMODULEhmodule=::GetModuleHandle(_T("kernel32.dll"));//获取动态链接库的模块句柄typedefDWORD(*p)(void);//声明函数指针数据类型charch[]="GetCurrentThreadId";//【特别注意:这个函数名必须是ANSI的char类型】pf=(p):
  • 2023-04-04lazarus在龙芯电脑使用域天加密锁要注意的事项
    lazarus在龙芯电脑使用域天加密锁要注意的事项:1、使用域天官方的接口单元时加密锁的so文件必须拷贝到/usr/lib/这个目录。2、普通用户如果调用加密锁so出错或失败,需要进行以下操作:建一个规则文件放/etc/udev/rules.d.文件内容如下:SUBSYSTEM=="input",GROUP="input",MODE=