破解豪迪QQ群发器(APIHOOK去自校验)
个人的去自校验思路是这样的程序肯定使用了MD5校验之类的东西
所以我HOOK了CreateFileA
当程序尝试打开运行中的自身(逆向后的)我就让程序打开备份的未逆向的程序
实验成功欺骗了程序
完美去除自校验
视频下载地址:**** Hidden Message *****
Patch.e代码
.版本 2
.程序集 程序集1
.程序集变量 hook, 类_APIHOOK
.子程序 _启动子程序, 整数型, 公开, 请在本子程序中放置动态链接库初始化代码
hook.安装 (“kernel32.dll”, “CreateFileA”, &MyCreateFile)
_临时子程序 ()' 在初始化代码执行完毕后调用测试代码
返回 (0)' 返回值被忽略。
.子程序 MyCreateFile, 整数型, 公开
.参数 打开文件名, 文本型, , lpFileName,要打开的文件的名字
.参数 访问权限, 整数型, , dwDesiredAccess,访问权限
.参数 共享方式, 整数型, , dwShareMode,共享方式
.参数 安全特性, 整数型, , lpSecurityAttributes,安全特性信息
.参数 创建方式, 整数型, , dwCreationDisposition,创建方式
.参数 文件属性, 整数型, , dwFlagsAndAttributes,参见相关帮助
.参数 从文件复制文件属性, 整数型, , hTemplateFile,参见相关帮助
.局部变量 h, 整数型
hook.暂停 (“kernel32.dll”, “CreateFileA”)
.如果真 (打开文件名 = 取运行目录 () + “\” + 取执行文件名 ())' 如果是要打开自身文件以进行自校验,则我们打开备份的未修改的文件,并返回该文件句柄,以此欺骗程序
打开文件名 = 取运行目录 () + “\qqqf.exe.bak”
.如果真结束
h = 创建文件_ (打开文件名, 访问权限, 共享方式, 安全特性, 创建方式, 文件属性, 从文件复制文件属性)
hook.继续 (“kernel32.dll”, “CreateFileA”)
返回 (h)
.子程序 _临时子程序
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
杀了个花 牛逼了 很好的教程
学习一下{:5_116:} 本帖最后由 hehe1954881 于 2017-6-1 19:09 编辑
教程认真的看了几遍, 这个厉害了 谢谢楼主了 我看了好几遍,自己操作了一边最新的版本,发现hook那一块无法保存写好的程序 OD里面无法保存文件OD提示大概文件无法保存之类的 谢谢分享了哈,学习一下咯 来学习了{:5_185:} 学习学习 酷酷酷