自从不能用之后,我就开始自己学做,不过现在还没学成,但是找到了一些资料.
1、把一个DLL挂接到目标进程中,HOOK技术
2、修改一些关键函数的跳转地址,比如Recv,这些函数的地址指向自己的DLL中的函数,这种技术,APIHook。很容易。
3、修改调用Recv的上层或者若干层的函数堆栈,因为他们调用Recv所以,他们的堆栈在Recv当中可见。把解密完成后的返回地址修改成,DLL中的一个地址,保存原来的返回地址。处理后,返回到正常的返回地址。
4、发送数据包,更加简单,直接设定参数,调用,目标程序中的发送数据的程序段,这些程序段,需要靠反汇编程序找出来的。
用Delphi一样可以做到这些,你可以利用它的调试工具,跟踪汇编代码,反编译,好像是一个DASM的一个软件,小巧,容易使用。
有些程序,把发送数的部分放在了DLL中,这的确是一种良好的设计,分层的设计,这给我们设计外挂也提供了方便,直接修改或者Hook这些DLL中的函数就可以了
个人猜测贴心那3个dll文件就是应用这种技术,而这种技术最怕是改客户端,所以每更新一次客户端就要相应地改地址.也就是猜想之前那个G还是可用,不过是要修改地址,希望有高手能解决.