吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1858|回复: 10
收起左侧

[求助] Tls vs2017编译报错

[复制链接]
就是随便看看 发表于 2021-5-3 07:29
本帖最后由 就是随便看看 于 2021-5-3 07:30 编辑

[C++] 纯文本查看 复制代码
#include "iostream"
#include "Windows.h"
#include "tchar.h"
#include "ntdll/ntdll.h"
//使用TLS
#pragma comment(linker,"/INCLUDE:__tls_used")
DWORD isDebug = 0;
void NTAPI TLS_CALLBACK(PVOID DllHandle, DWORD Reason, PVOID Reserved)
{
        if (Reason == DLL_PROCESS_ATTACH)
        {
                ::MessageBoxA(NULL, "Tls函数执行1", NULL, NULL);
                //不接受内核调试信息
                //NtSetInformationThread(GetCurrentThread(),TreadHidePromDebugger,0,0);
                //NtQueryInformationProcess()
        }
}
void NTAPI TLS_CALLBACK2(PVOID DllHandle, DWORD Reason, PVOID Reserved)
{
        if (Reason == DLL_PROCESS_ATTACH)
        {
                ::MessageBoxA(NULL, "Tls函数执行2", NULL, NULL);
                //不接受内核调试信息
                //NtSetInformationThread(GetCurrentThread(),TreadHidePromDebugger,0,0);
                //NtQueryInformationProcess()
        }
}
int main()
{
        MessageBoxA(NULL, "Main函数执行", "提示", MB_OK);
        system("pause");
        //return 0;
}
//新建一段数据,放到TLS这个目录表里面  函数指针数组
#pragma data_seg (".CRT$XLX")
PIMAGE_TLS_CALLBACK pTlsCallBacks[] = { TLS_CALLBACK,TLS_CALLBACK2 ,NULL };
#pragma data_seg()



提示找不到源文件"ntdll/ntdll.h"

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

小白来学习 发表于 2021-5-3 09:15
#include "ntdll.h" 不行吗?本人小白,大佬勿笑
 楼主| 就是随便看看 发表于 2021-5-4 08:38
小白来学习 发表于 2021-5-6 09:32
苏紫方璇 发表于 2021-5-7 16:08
ntdll不是vs自带的头文件,检查源码中是否存在ntdll.h这个头文件,没有的话删掉这个include也不影响用TLS的
 楼主| 就是随便看看 发表于 2021-5-7 16:32
苏紫方璇 发表于 2021-5-7 16:08
ntdll不是vs自带的头文件,检查源码中是否存在ntdll.h这个头文件,没有的话删掉这个include也不影响用TLS的

NtSetInformationThread 像这种API的调用,貌似需要ntdll.h,我自己从网上下载了ntdll.h放进头文件里面,编译还是报错,改成ntdll.h也不行。

点评

是的 这种的调用要用ntdll.h,实在不行也可以自己声明,用GetProcAddress获取调用  详情 回复 发表于 2021-5-7 16:35
苏紫方璇 发表于 2021-5-7 16:35
就是随便看看 发表于 2021-5-7 16:32
NtSetInformationThread 像这种API的调用,貌似需要ntdll.h,我自己从网上下载了ntdll.h放进头文件里面, ...

是的  这种的调用要用ntdll.h,实在不行也可以自己声明,用GetProcAddress获取调用
88TziyyT 发表于 2021-6-3 20:03
能帮我看一下我的破解问题吗
 楼主| 就是随便看看 发表于 2021-6-3 21:25
88TziyyT 发表于 2021-6-3 20:03
能帮我看一下我的破解问题吗

什么问题??我只是个小白
olly2013 发表于 2021-6-4 11:46
ntdll.h一般是用native api才会用的吧,记得之前好像在ddk里有这东西
光复制个ntdll.h肯定是不够的,还得把相应的.lib也添加进vs才可以
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表