X64微信逆向之-调用锁定微信CALL(易语言版)

            

        继上一篇 查找锁定微信功能后,咱们来讲讲X64易语言调用锁定CALL。

       阿冲老师比较喜欢总结,就阿冲老师目前知道的逆向学习圈子大概有以下3个,易语言圈子、C#C++圈子、python圈子,C#C++可以直接编译X64位程序,那么在X64位程序下影响不大,pyton一堆库、易语言写辅助的新手群体很多,易语言又不支持直接编译为x64位,那么真的没有办法了吗?答案是否定的,办法总比困难度,解决方法就是:利用WOW64, WOW64(Windows-On-Windows 64bit)是X64 Windows操作系统的一个子系统,为32位应用程序提供运行环境。具体知识大家可以进行查阅相关资料详细了解。

远程调用微信CALL流程如下:

    (1)  获取微信的窗口句柄(API FindWindowA

    (2) 根据微信窗口句柄获取进程ID(相API GetWindowThreadProcessId

    (3) 根据进程ID打开进程(相关API OpenProcess

    (4) 根据进程句柄远程分配内存 (API VirtualAllocEx

    (5) 把调用的汇编语句与参数写入到分配的内存。(API WriteProcessMemory

    (6) 创建远程线程并传入远程申请内存的首地址执行CALL调用(CreateRemoteThread)

    (7) 等待创建的远程线程执行完毕 WaitForSingleObject

     (8) 关闭线程等句柄,并释放申请的内存 (CloseHandle ’VirtualFreeEx

       以上是我们在32位下的远程调用微信CALL的流程,那么在X64微信下其实流程原理是一样的。已经有网友封装了易语言WOW64模块并开源,阿冲老师在此基础上进行了修改方便使用。阿冲老师自己改进的WOWO64模块调用X64微信3.9.9.35版本锁定微信功能代码如下。

       好了,可能网上的很多博文写到这里就结束了,其实新手这样看学习还是有时候一头雾水,阿冲老师跟大家一样还是新手水平,能理解新手学习的很多困惑,新手抄学的话尽量在不懂的地方下断点,然后执行调试在调试分析断点处的数据变化情况,才能知其所以然。

好了我们在“X64_远程调用函数函数”上加个信息框让其显示远程在微信进程里申请的数据首地址。

         好了点击调用锁定微信测试按钮后提示 00000145BB1C0000  这个是个8字节的16进制地址数据 就是我们申请的地址啦,我们现在拷贝该地址 并打开CheatEngine,打开微信进程并点击查看内存,然后右键转到地址输入00000145BB1C0000 点击确定 即可看到我们的调用数据

最后确认完信息框 代码执行完了 X64_远程调用函数 (进程句柄, call_add, , , , ) 成功锁定了微信。

        大家看懂了吗,阿冲老师就是这样跟前辈们学习多多在不懂的地方调试,一步一步积累经验学习过来的。编程语言是相通的,其它语言的调用类似。

最后感谢大家的观看,有不懂的的可以提出来大家一起学习进步。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值