看流星社区

 找回密码
 注册账号
查看: 2499|回复: 4

主线程调用过程环境检查以及防止游戏崩溃

[复制链接]

该用户从未签到

发表于 2019-9-11 11:09:32 | 显示全部楼层 |阅读模式

先给大家说两种情况,也许这些情况都是你遇见过的。

案例一,逆向软件,调试游戏找到了某个CALL,我们编写DLL,把这个call写入到DLL中,然后把DLL注入到软件内部,对这个CALL进行调用,发生游戏直接崩溃报错的情况。又或则直接用代码注入器编写内联汇编直接注入代码导致崩溃。(有的时候代码注入器不会出问题,因为他是进程挂靠的方式 优于DLL中非主线程调用的方式)


案例二,编写了具有单一功能或则是一系列功能的DLL,测试以后功能正确,代码无误,可是总是在长时间运行时出现莫名其妙的崩溃情况。

其实这两种情况都是因为非主线程调用函数导致的。

第一种情况,检测调用 环境,非主线程调用导致崩溃,当然前提是你的函数编写正确,不正确也会导致崩溃。

第二种情况,是长时间运行,导致数据访问冲突,而产生的崩溃,同样,如果用主线程队列去调用就可以完全避免了。

那么我们来看看主线程调用的代码实现方式。

有两个函数可以实现主线程调用

SetWindowLong 和SetWindowsHookEx

基本方式相差不大

DWORD Call_Hook主线程()
{
HWND hGame=Call_获取窗口句柄();
DWORD ndThreadId=GetWindowThreadProcessId(hGame,NULL);
if(ndThreadId!=0)
{
   g_Hook返回=SetWindowsHookEx(WH_CALLWNDPROC,Call_主线程回调函数,NULL,ndThreadId);
}
return 1;
}

函数名以用中文替代

重新设置的回调函数如下

调用代码写在这个函数里即可,被回调函数调用的即相当于主线程调用的函数。

并且代码中也列举了几个函数CALL调用的例子

LRESULT CALLBACK Call_主线程回调函数(int nCode,WPARAM wParam,LPARAM lparam)
{
CWPSTRUCT *lpArg=(CWPSTRUCT*)lparam;//结构  hwnd message wParam lParam
if (nCode==HC_ACTION)//自己进程的消息
{
if (lpArg->hwnd==Call_获取窗口句柄()&&lpArg->message==g_My消息ID)//我们自己的消息  
{
switch (lpArg->wParam)
{
T封包参数*封包;
T寻路参数*寻路;
T坐标夹参数*坐标夹参数;
T坐标夹 坐标夹;
T走路参数*走路;

case ID_发送明文包:
    Call_输出调试信息("YYC3D   主线程调用明文发包\r\n");
    封包=(T封包参数*)lpArg->lParam;
    Call_明文发包(封包->nd包长,封包->p);
    return 1;
break;
case ID_寻路:
    Call_输出调试信息("YYC3D   主线程调用寻路\r\n");
    寻路=(T寻路参数*)lpArg->lParam;
    Call_寻路(寻路->nfX,寻路->nfY);
    return 1;
break;
case ID_按键:
    Call_输出调试信息("YYC3D   主线程调用按键Call\r\n");
    Call_按键((DWORD)lpArg->lParam);
    return 1;
break;
case ID_控件点击:
    Call_输出调试信息("YYC3D   主线程调用控件点击Call\r\n");
    Call_控件点击((DWORD)lpArg->lParam);
    return 1;
break;
case ID_控件选择:
    Call_输出调试信息("YYC3D   主线程调用控件选择Call\r\n");
    Call_控件选择((DWORD)lpArg->lParam);
    return 1;
break;
case ID_计算坐标夹:
    Call_输出调试信息("YYC3D   主线程调用计算坐标夹\r\n");
    坐标夹参数=(T坐标夹参数*)lpArg->lParam;
    坐标夹=Call_计算坐标夹(坐标夹参数->nfX,坐标夹参数->nfY);
    return 1;
break;
case ID_走路:
    Call_输出调试信息("YYC3D   主线程调用走路Call\r\n");
    走路=(T走路参数*)lpArg->lParam;
    Call_走路(走路->nfX,走路->nfY);
    return 1;
break;
}
}
}
    return CallNextHookEx(g_Hook返回,nCode,wParam,lparam);
}

然后需要调用什么函数的时候

直接发送消息即可

这样代码执行再久也不会发生数据访问冲突而导致崩溃了。

例如
void Msg_走路(FLOAT X,FLOAT Y)
{
   T走路参数 走路;
   走路.nfX=X;
   走路.nfY=Y;
   ::SendMessageA(Call_获取窗口句柄(),g_My消息ID,ID_走路,(LPARAM)&走路);


该用户从未签到

发表于 2019-9-13 23:11:33 | 显示全部楼层
看到这么好的资源真是高兴,楼主辛苦了!

该用户从未签到

发表于 2019-9-13 23:23:23 | 显示全部楼层
支持楼主,支持看流星社区,以后我会经常来!

该用户从未签到

发表于 2019-9-23 09:39:20 | 显示全部楼层


32225669_201909211743260805632285.png

32225669_201909211746440618944432.png





[img=438,26808]http://i0.fans.tcl.com/data/attachment/forum/201909/23/001016a50wpzh1zk7o61y0.gif[/img]



{2019年9月21日} 未来三个月之内,爆发全球历史最大金融海啸!{假摔}


作者: 时钟花
时间 :   2019年9月21日07:51:26    星期六     农历八月廿三
            上证综指 3006.④5点        道指 26935.07点    恒指 26④35.67点

本人 邮.箱 :
126  用户名: mmdd2016     s i n a  c o m   用户名:  mmdd2016
126  用户名: iii217               s i n a   c n    用户名:  iii217


突然的,全球金融 雪 崩 溃 坝 、彻 底 崩 溃 ;
没有什么,“谁也没想到”、“友邦惊诧”黑天鹅白天鹅哥斯拉撞冰山;
一切都是,蓄谋已久的,精心策划 --- 惊天魔盗团。贼喊捉贼。

1  未来三个月之内,即,2019年10月、11月、12月,将会突然爆发,
    人类最大金融海啸,全球股市、金融市场连续跌亭大崩盘。
    {大盘连续或稍稍间断30/40多个跌亭板 }
    太久的忍耐时机筹谋,财狼们终于要动手了;
    虎虎虎。亦喜亦忧。大吉大凶。
    静里忽然动干戈。
    缠中说禅13年之前预言的,2019毁灭性下跌。
    已故“周期天王”周金涛的,“2018年到2019年是康波周期的万劫不复之年”。
    道琼斯,憋了10年的一泡屎,总算找到了,公共厕所。

2  全球连续跌停大崩盘的见底点位:
    上证综指160点左右,见底{166④的十分之一}。
    以今天上正宗指3006.④5计算,大约“瞬间”跌去 19倍。
    也可能,上证综指95.79点,见底。
    最震撼的推倒重来,竟然只是,洗盘 !冲顶之前的洗盘 !!
    道琼斯,跌去42倍,6④0点见底 --- {6④40.08点的十分之一};
    26935.07 --→ 6④0点 ;
    恒生指数跌至1000点见底。
    26④35.67 ---→ 1000点   ;   
    仙股满天飞。

12个跌停板之后,停顿、反弹,之后,还有12个跌停板;
12个跌停板之后,停顿、反弹,之后,还有12个跌停板。

谜底,让你吃惊的合不拢嘴。这就对了。
我强调,我重申,股价跌去97% ,跌去97%,不是庄稼们 发 疯 了,
而是,他们,早已筹谋的,既定共同战略布局。
不把散户完全吓的 屁 滚 尿 流,如何能达到,彻 底 洗 盘 的目的 ??
跌去九成,就像1929,对老股民来说,已经习以为常;中国股市,
曾经跌去90%的股票,比比皆是。
跌去九成,已经,无法充分刺激震撼、撕 裂 老股民、私募的神 经 系 统 。

五重斩,五福临门:
5178 ÷ 2 ÷ 2 ÷ 2 ÷ 2 ÷ 2 = 162点
为何,大盘160点左右见底??
本人在:
{2019年5月19日}论证2019下半年全球大崩盘的见底点位
【2016年3月11日】四论,全球塴盘的见底点位。
【2015年9月26日】三论,全球塴盘的见底点位。
……  ……
几篇文章之中有模糊的猜测论证,网上可以搜到。

2019年10月、11月、12月,忽然之间,天昏地暗,天崩地裂。
朕给出,令庸俗大众惊诧疑惑、无法接受的“庄稼底牌”,是无价之宝。
真理是电,不以任何人,任何权利、任何所谓“大多数”的,意志为转移。

猝不及防,永远出乎散猪意料,“万万没想到”,使之“猜不透”、团团转、
热锅蚂蚁;驱赶围猎,永远使散户沉浸于贪婪恐惧烈火寒冰,追涨杀跌
“动物本能”无法自拔;
是庄稼们百战百胜吃香喝辣的,看家法宝。

见底点位{上证宗指160点或者95.79点},是全球庄稼们{邪.饿.金融精英}蓄谋
已久的共识,不以任何人意志为转移。
即,在见底之前,出抬任何“救市利好”都是徒劳无益瞎折腾。
当见底之时,即便不出抬任何救市措施,股市也会自动“大反转”腾空而起。

中外庄稼亲蜜配合,完成最后的惨烈洗盘。
而直接砸盘、直接做空,导致中国股市血崩的,是中国庄稼 ---- 中国财富精
英之中的精英 --- 资本大鳄。
每一只股票背后,都有庄稼暗中操纵走势。
每一个国家的股票市场,金融市场,都有庄稼总司令暗中主导一切。
黑老大、总指挥,是 黯 黑 帝 国。

索罗斯的,类兽性、反射理论,动态远均衡,大起大落理论。
缠中说禅的,跌停板洗盘法。

3  见底时间:2019年十二月至2020年二月全球股市同步见底。
   
---- 见底以上证综指160{95.79}}点为准 ,见底时间仅为粗略推断。
---- 好深一个坑;假摔,象 真 的 一 样 。
---- 来去匆匆,夏日的大暴雨 ;
       两个月、至多三、四个月之内,完成最后的 溃 坝 式 终极洗盘。
---- 最疯狂的连续跌停,然后,迅速连续涨停,拉起。荡秋千。
       庄家绝不敢在底部长期停留,因为股价太便宜,远低于,庄家的
       长期平均持仓成本。

连序跌亭洗盘过程之中,会有反弹诱多,会有横盘迷魂阵,会有底部构
筑 W底的把戏 。
并没有什么,情绪彻底崩溃,破罐破摔,歇斯底里不顾一切 ……
---- 演戏给你看!
       一切都在,沉着冷静,聪明透顶庄稼们的,精确掌控之中。

本人对见底点位、见底时间的推演预测,可能不那么准确。这也,不是什么
大问题。
最关键,全球崩盘的“性质”,是“挖坑”行情,是黎明之前最后最
黑暗最凶狠的一杀。这一点,本人绝对不会错,这就够了,足够了。
但愿本剂疫苗,不会失效。
底部巨量,惊天的底部巨量,全民目击的狐狸尾巴,谁也无法否认。
这就是,庄稼吸筹洗盘,买入股票的,铁证。

疑似吹鼓手,2018年08月16日海通证券分析师荀玉根表示,A股正处于
第五轮牛熊周期的底部。前四次除2008年那次外,其余三次1994年
7月-1996年1月、2002年1月-2005年6月、2012年1月-2014年6月都是
以时间换空间的震荡圆弧底。(中国证券报)
“磨底是长期的、复杂的过程,期间不排除还会出现巨震。”

暗示股民应该暂时空仓出局观望,不应急于抄底。
“以时间换空间的震荡圆弧底”,目的在于打消散户是否“单针探底”
的疑虑。

为什么,一定是“以时间换空间的震荡圆弧底”;
而不可能是,“以空间换时间的金针探底”??

可能的未来是,当上证综指连续跌停跌破贰佰点,跌破壹佰点之时,
病急乱投医,官员们按约定祭出三个救市最大杀器 :
----  取消T+1,取消10%涨跌幅限制,万亿借款央行直接入市。

中国股市,次日,一天暴涨30倍,把所有散户都闪了腰。
中国百姓,早应学会“听反话”。它吹东,那么表明东方有毛坑;
西边才是正确的选择与方向。

4   2019年第四季度,全球崩盘断头铡刀的利空借口:
     持续上涨90年{从1929算起},终极冲顶之前必然的总洗盘,
     持续上涨90年{从1929算起},终极冲顶之前必然的总洗盘,
     不以任何人,任何事件为转移。
不管,有没有,中美贸易战、全球贸易战,{朝}核危机、特朗普 金 正 恩疯狂
折腾、美国加息 、或者降息预期落空、中国加息、恐怖袭击、斩首遇刺、中国
经济下行,债务危机、公投危机、脱欧危机、减持危机、汇率危机、石油危机、
钱荒危机、质押股票平仓、配资爆仓、刘姓投资人出事了、科创板注册制、国
债收益率、下调评级、程序化自动交易、软件自动斩仓、新股IPO抽血、索罗斯
做空、巴以危机、土耳其叙利亚伊朗阿拉伯危机、关门危机、废除中岛条约、
第二个“广场协议”、担忧全球经济放缓、文明冲突赵薇割韭菜、地震海啸火
山喷发等自然灾害、最怕不确定 ……
一座或N座城市,遭受一次或N次的,原子弹恐怖袭击 ---- 本质还是自己炸自
己,演戏。资本来到世间,从头到脚,每个毛孔都滴着血和肮脏的东西。
英国脱欧闹剧,拖拖拉拉,淋漓不净,好像,关系着,全人类生死存亡。装腔
作势演戏。10月31日,可能是早已谋划确定的,特定时间。
狼吃小羊,与溪水无关。
庄家们刻意制造。蓄谋已久。贼喊捉贼。闪击战。
又一次,剪羊毛,开始了。躲不过的。

该用户从未签到

发表于 2019-10-7 15:43:39 | 显示全部楼层
zjbxbbzn6666
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 13:09

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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