原文出处:先知社区(若*风):《PicoCTF homework wp:一次有趣代码虚拟化分析之旅》:https://xz.aliyun.com/t/15354?time__1311=GqjxnD2DyGGQitD%2FD0eH%3Di%3DBgciDuGOoD 前言 时隔多日的又一次虚拟化代码分析
原理介绍 远程线程指的是跨进程,可以在别的进程里创建线程 用到的API函数是 CreateRemoteThread 使用 CreateRemoteThread 创建远程线程的时候,需要提供目标进程的句柄,这个可以通过OpenProcess得到,然后还需要一个函数地址和一个参数地址 这个函数地址是在目
1 前言 我第一次做这套练习是在初学pwn的时候,隐约记得当时做了一半放弃是卡在了fluff上,当时很复杂,没耐心搞懂bextr和xlat指令就放弃了,现在回过头来,补全当初 这套练习非常适合新手用于栈溢出的学习练习和查缺补漏,关于栈溢出的8个情况,从最基础的覆盖返回地址,到rop,到利用一些机制完
前景回顾 发送图片消息延续上次发送文本消息的分析(参考资料[0]),从日志中得到的字符串关键词SendMessageMgr,搜索找到疑似发送图片的字符串: .rdata:0000000184EFB930 0000001D C SendMessageMgr::sendImageMsg 交叉引用发现,
依然是从日志出发 日志分析 从日志出发,清空日志,然后撤回消息,然后暂停打印新的日志,得到如下内容:(为了方便看,这里筛选出撤回相关的部分) 网络相关的略 21 2.319700 7932 WeChat.exe (2024-7-10:10:14:12:657 25604)-i/SyncMgr:net
本篇主要从日志和反编译代码的角度,分析一下定位到防多开功能,以及原理和绕过 绕过代码不是本文重点,选自网上的一种有趣的方法进行介绍(参考资料[0]) 日志分析定位 打开一个wechat,然后用调试器打开另一个,在载入wechatwin.dll的时候注入模块打印日志,然后运行起来得到如下内容: 2 6
授人以鱼不如授人以渔 定位功能call的方法思路是通用的,这一套流程对定位其他功能也适用 第二篇,以分析文本消息发送call为例,写代码调用实现发文本消息的功能 有什么想看什么主题,可以在评论区回复,随缘更新 环境准备 wechat x64版本 x64dbg ida 或者 ghidra debugv
环境准备 wechat x64版本 x64dbg ida 或者 ghidra debugview++ Visual Studio 2022 定位调试信息函数 对于大型软件来说,由于其庞大复杂的功能,为了开发人员更好的定位 bug,会输出调试信息辅助调试,对于逆向来说,有调试信息也会有助于更好的定位功
1. 下载符号到本地 要使用 SymChk.exe 实用程序下载 Windows\System32 文件夹中所有组件的符号文件,请使用以下命令行命令: symchk /r c:\windows\system32 /s SRV*c:\symbols\*http://msdl.microsoft.com