iOS 逆向hook微信

iOS 逆向hook微信,第1张

分分钟让你在 微信运动 霸占榜首

一步一步实现iOS微信自动抢红包(非越狱)

给微信加 hook 尝试记录

所有需要的文件都已经生成,然后把embedded.mobileprovision 和修改后的WeChat二进制文件拷贝至WeChat.app中替换。cd 到wanggangdeMacBook-Pro:Payload 目录下,

参考图片wechat对应的目录

//打包生成ipa

最后安装失败居然是AppSync 没有安装

Pc微信HOOK的完成大概分成两部分

内存HOOK

内存Call调用

内存HOOK的简单介绍

Hook又被简称为钩子 是在软件没有在调用改函数的之前 就先捕获HOOK到该消息 并跳到我们写的执行函数里执行流程 *** 作.

内存Call

CALL是汇编中的一个指令,CPU执行这条指令会执行2个动作 一:压入EIP入栈 二:跳转到后面的地址. 跟RETN指令配合就实现了汇编中子程序的作用,通常我们常说的写CALL就是 调用游戏中已经存在的功能子程序.

比如说

viod myadd (int a, int b)

{

int c=a+b

}

这是一个简单的子程序,当我们用程序语言调用那么就是 myadd(5,4)

而在汇编里则是

push 4

push 5

call myadd

编译好的程序不会存在什么函数变量和子程序. 只有1和0 . 所以编译器会给myadd 分配一个地址.在反汇编里就是

push 4

push 5

call ********

CALL ******* 并不单单就是子程序的调用,他还可以调用 函数 API.

如函数 send

send(

socket

buf

len

flags

)

在汇编里调用就是

push flags

push len

push buf

push socket

call send

参数在反汇编里表现形式.

在汇编或反汇编里参数都是压入堆栈来供CALL调用的.而CALL以[ESP+*]的形式读取参数.

如:

viod myadd(int a,int b)

{

int c=a+b

}

myadd(4,5)

在反汇编参数 4 和参数 5 在反汇编里的实现形式是

push 5

push 4

call ********

探讨交流请加 var qq = '2974520784'

因为cpu是一步一步顺序执行的啊,遇到子程的call是会去调用,但是前提你是开了子程的空间给他,如果是已经被使用的,你同时又来call,那么很可能溢出错误,所以你要理清楚程序流程之后再进行编写,方法就是这样,可以多看看别人写的模仿之后再创造


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11625532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存