zhangkong的博客,日常分享,不定时更新
寄存器区别32位:eax ebx ecx edx esi edi esp ebp eip eflags64位:rax rbx rcx rdx rsi rdi rsp rbp r8 r9 r10 r11 r12 r13 r14 r15 rip rflags寄存器位数从32位变成64位,新增了几个寄存器函数调用约定_cdecl _stdcall _thiscall _fastcall在64位下,大部分情况下使用_fastcall返回值rax eax ax al 64 32 16 8 QWORD DWORD WORD BYTE返回值放到rax里参数传递快速调用约定:32位:使用2个寄存器64位:使用4个寄存器,如果有更多参数,则使用堆栈,且顺序固定为:rcx > rdx > r8 > r9 > 堆栈使用printf("%d %d %d",a,b,c)四个参数演示:32位: push c push b push a push "%d %d %d" call printf add esp,16 64位: sub rsp,28h mov r9,c mo
微信截图当程序被遮挡不在最上层,或者程序最小化,也能截取到窗口图片原理流程获取设备上下文句柄:GetWindowDC-- > ReleaseDC获取指定窗口边界和尺寸:GetWindowRect计算窗口大小(注意C#中的Rectangle与C++中RECT区别)创建一个设备上下文相关的位图:CreateCompatibleBitmap->DeleteObject创建一个内存上下文兼容的句柄:CreateCompatibleDC->DeleteDC选择一个设备上下文对象:SelectObject拷贝窗口到设备上下文:PrintWindow清理垃圾代码定义: [DllImport("Gdi32.dll")] public static extern int DeleteDC(IntPtr hdc); [DllImport("Gdi32.dll")] public static extern int DeleteObject(IntPtr ho); [D
1.找到微信进程和基址//微信进程 Process WxProcess = null; //WeChatWin.dll基址 IntPtr WeChatWinBaseAddress = IntPtr.Zero; //微信版本 String WeChatVersion = ""; Process[] processes = Process.GetProcesses(); foreach (Process process in processes) { if (process.ProcessName == "WeChat") { WxProcess = process; this.textBox1.AppendText("微信已找到!" + Environment.NewLine); this.textBox1.AppendText("微信句柄:\t" + "0x" + ((int)(process.Handle)).ToStri
课程有点老,通过搜索发现一个新的开源反汇编调试器x64dbg,支持32位/64位调试,界面与OllyDbg相似,github上的star数量很多,插件丰富https://x64dbg.com/1.打开CE,通过微信昵称查找内存地址nickname WeChatWin.dll + 3DFD5D8复制出xml信息:<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>7</ID> <Description>"nickname"</Description> <LastState RealAddress="7FF9D1F5D5D8"/> <ShowAsSigned>0</ShowAsSigned> &
微信版本:3.9.8.25下载OD:https://www.ollydbg.de/下载CE:https://cheatengine.org/1.通过OD附加微信进程OD > File > Attach ps:1.使用的微信版本是64位,需要下载64位OD,不然找不到进程2.如果进程隐藏找不到,通过IceSword或其他任务管理功能软件找到进程PId,使用命令进行附加ollydbg.exe -p pid 2.寻找微信执行模块OD > View > Executable modules 通过Path排序 找到WeChatWin.dll的BaseWeChatWin.dll 7FF9CE160000 3.使用CE打开微信进程CE > File > Open Process > Applications 寻找微信昵称,Value Type选择String,拖到最后找到WeChatWin.dll的位置WeChatWin.dll+3DFD5D8 附件:微信3.9.8.25
ZhangKong
努力搞钱,正在搬砖