Windows传入非静态类成员函数作为线程函数

概要 Win32下编程不可避免的会使用多线程来解决诸多问题,当然,这篇文章讲的肯定不是怎们创建多线程以及多线程的同步问题;现如今,Win32编程使用C语言来写已经很少了,更多的代码是使用C++来写(毕竟某些方面来说对新手程序员来说可以更容易上手), 使用C++那么不可避免的就会用到各种各样的类,无论使用C或者C++那么都要创建线程, C语言创建线程就不说了,总是那样的,按照标准的MSDN函数原型写就成, 但是C++ 的类里面就稍显麻烦了。那么本篇就讲述如何简单的使用类函数当做线程函数。 流传的方式 我们先看看CreateThread的函数原型: HANDLE WINAPI CreateThread( _In_opt_ »

解决Hook函数头时多软件争抢的问题

前言 Fraps, Bandicam这类很多游戏玩家熟知的软件,它们能够在游戏内显示帧率,游戏截图和视频录制等功能。 此类软件一般单独运行没有问题, 但是如果某个时候有特殊需求, 比如要直播等等使用场景时,可能该类软件将不能正常运行。甚至可能导致游戏出现崩溃的现象。 究其原因,他们都是利用了Hook 3D API接口函数, 然后通过接管绘图函数的方式, 在游戏中显示出FPS, 截图等等功能。 但是该函数只有一个, 如果要完全接管绘图函数, 那么就需要在函数头进行流程控制(x86下不一定非要在函数头进行接管, x64下不可用)。那么此种情况下,多个软件都想要正常运行那么便成了不好处理的问题。 兼容 很久以前虽然一直对要兼容其他的第三方软件Hook代码有不浅的认知, »

安卓解决ugcode2参数加解密过程

最近研究安卓逆向,先用Fiddler去抓封包,ugcode2=MCSMTkyFQcbyoFydF2Rpn8TF58nyeK7ll6ohzpGJShNiIMPRP3iZdVsDsKlvaxwM. 这个参加是加密的,于是想办法去解密看看 首先用jeb反编译源码,然后搜索ugcode2参数,找到调用代码是 public static native String SHMoblieUgcodeGetKeyNative(String arg0, String arg1) ; hook其参数,结果参数的值是("3175935", "254788a6026a4c2091f26ab6f9b80427"); 参数是vid和uid,调用的是securitiessdk.so, 接着又用android »

CentOS mysql 强制开启账户权限的方法

前言 我最近上手了一个Google 的云虚拟主机,在这之前用过亚马逊的AWS,阿里云,Vultr,以及一大堆的云虚拟主机,他们基本上都可以远程配置用户名密码登录,但是Google 的云主机就只能(或许有,但是我没看到)通过一个pem文件来进行登录。 本人小白,也就是我没有root 的密码,或许可以通过其他方式来修改或者获取root密码,但是我没有找到,也不再本文的讨论主题中,这里不做研究。 本文的主题是mysql 强制开启权限的方法,和前面说的又有什么关系? 这个的话只是我的一些推测,因为我安装mysql之后, 我发现通过grant »

调试软件的几大基本手段

断点,对代码数据下断点(Breadkpoint); 单步执行,让应用程序按照某一步骤单位一步一步的执行; 输出调试信息, Windows驱动环境中可以使用DbgPrint和DbgPrintEx 来输出调试信息, 应用层下用OutputDebugString 函数来输出调试信息,一般用来接收打印调试信息的工具是DbgView; 保存日志文件,应用程序在代码流程中将结果或者数据保存到文件中实现调试; 事件追踪, 输出调试信息和保存日志文件属于操作文本的手段, 不方便用于监视数据庞大和速度要求高的情况。 Windows下的事件追踪机制有ETW(Event Trace for Windows); 转储文件(Dump File),有时候应用程序遇到问题的时候,有可能这个问题的出现并不是必然发生的, »