二期学员来报道~! 报这个班之前,我犹豫了很久,可以说是零基础学员. 在学习之前,我甚至什么是变量,什么是函数,什么是返回值,什么是API 都是完全不知道. 思前想后,还是毅然报名了,总得挑战一下才知道. 一年多的时光,说长不长,说短不短.算是勉强跟了下来.说实话,如此价格学到如此多的东西是非常值得的.看了最新三期的班,内容更多,价格还不变,着实让我有点羡慕嫉妒恨...... 看了很多其他师兄师弟的笔记都做的很好,我也有做.属实没兄弟们做的好. 我就放2张自己整理的线程 ,进程结构体吧. 现在毕业了,基本都在实战练习.因为是刚学完,技术还需要打磨,就整理了 某游戏 自动喊话实现的方法.. 首先通过 SEND函数断下游戏的喊话断点... 然后反向寻找 合适的call,主要是判断call的参数 最终翻了3层找到了这个call 并通过分析 发下push esi 为push的是喊话的内容. 并且 push eax ,push ecx 都是固定的值. 问题就来到了 mov ecx,[ebp-0x14] 这里了,这里是一直变动的,那我们就要找出这个基址+偏移. 此时在 监视处 添加监视 ebp-0x14 通过跟踪,最终发现修改此处的关键位置 函数1这里的返回值EAX给了ESI 并在2处给了ebp-0x14. 当然,跟踪到此处花费了一点点功夫.最终进1函数发现就是 基址+偏移.. 那么喊话功能CALL就寻找完毕.. 用代码注入工具测试一下..
发现没有问题..然后就剩下代码了.... 我用的远程注入的方式.... 大致代码如下.. 上面是 远程线程注入的关键函数,分配内存 和写入参数 和 拷贝函数.最后是线程注入.. 然后在调用即可.. 最后就实现了... .好啦,就实现啦... 代码难看,还需要沉淀沉淀.....大神就别嘲讽了.... 从0开始学习 到现在. 相信在过一些时日,我也可以称为一个大神.... 最后欢迎三期学员......以后我们会一起进步....
|