"THREADSTACK0"地址的解决办法
我寻找基址的时候 遇到了"THREADSTACK0"-0000980
我们可以使用threadstack.exe来获取THREADSTACK0,具体方法如下:

Mem mem = new Mem();
mem.OpenProcess("Terraria.exe");
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.Arguments = "/c " + "threadstack " + mem.GetProcIdFromName("Terraria.exe"); //命令是threadstack PID
p.Start();
string result = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
Console.WriteLine(result.Split("=")[1].Split(":")[1].Split(":")[0].Replace("TID","").Replace(" ","")); //分割内容

其实功能很简单 只是通过cmd调用threadstack.exe来获取所有线程堆栈的地址 然后通过分割获取的内容来获取更准确的地址。
threadstack.exe的下载地址是:https://goodfortune.lanzouy.com/iFamU15crhra
threadstack GitHub地址:https://github.com/makemek/cheatengine-threadstack-finder