线程发包和LOL的发包函数我们之前的文章和视频已经分析过了,这是本文的前提。
但是加密的发包函数对于我们来说只是一个突破口,没有实质的作用,因为抓到的封包都是加密的,我们并不能直接知道其含义我们需要的是明文发包函数 也就是说参数是没有加密的,我们可以直观的分析并且随意调用。 当然我们也可以 找到加密算法,把明文参数进行加密,然后调用加密的发包函数。
但是无论什么情况,我们都是需要找到明文发包函数,来分析参数值或则追踪加密算法。
那么进入正题 我们的加密发包函数 处在一个发包的线程里的 我们想找到线程外的明文发包函数,想找到功能函数,就要跳出这个线程 那么办法只有一个,追踪包内容或则包长的的来源即可,因为这些值一定需要线程外赋值的,无论是传递的值也好,传递的指针也好。
如果不来源线程外,岂不是代表本线程有功能函数了,所以是必然的
追踪 包内容的来源 此时包内容的地址是不断变化的, 如果是不变的,我们可以直接下写入断点,找线程外的写入来源即可跳出线程,但是变化的说明 线程外不是直接写入这个地址的,
那么我们还需要继续往上追包内容的来源以及地址来源继续往上追
那大家说我们这样岂不是在追包内容的偏移表达式 还是在线程里追啊 有什么意义呢?
是这样的我们一直追到 表达式某一层的地址是固定的,那么里面的值是变化的,只要有变化的值,那么他的来源基本上来源于线程外,否则就能直接返回功能函数了 这里面EDX 已经开始不变化了 对其下写入断 即可断到线程外写入的位置,返回找到明文发包函数这个位置有时候有轻微的混淆了,有时候又会放开,大家可以跳转过去 一条条代码复制分析 有了明文发包函数,所有功能都可以分析并且调用了
来源:《任鸟飞逆向》
*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |