会员登录 立即注册

搜索

x64dbg 微信小程序

[复制链接]
崎山小鹿 发表于 2024-4-22 13:03:17 | 显示全部楼层 |阅读模式
崎山小鹿
2024-4-22 13:03:17 1379 7 看全部
x64dbg
下载地址:https://sourceforge.net/projects/x64dbg/

x64dbg 是一款开源的调试器,无论是从界面,还是操作使用,都完全跟 OllyDbg 相似,只要你会使用 OD,那么你使用 x64dbg 就不是问题。

由于 Mdebug 调试器 和 OllyDBG 调试器好几年都不更新了,再加上 IDA 体积庞大,使用又太复杂,所以这里已经不再推荐使用了。这时候 x64dbg 调试器的出现,彻底改变了一切,它集成了 OD 的动态调试和 IDA 的静态分析两大功能于一体。x64dbg 调试器更新频繁,有时候一天就能编译成好几个开发版本,这么频率的更新速度,可见作者 mr.exodia 先生对这款调试器的开发和维修是很负责任的。

这款调试器已经足以满足日常的调试需要,再加上可扩展的插件支持功能和不断在完善的功能,希望不久的将来能完全替代 OllyDBG 和 IDA。
现在官方已经正式提供了简体中文版本的下载,无需再到处去寻找所谓的汉化版本了,使用官方的中文版,怎么用都放心。

EIP:下一条指令地址
EAX:存放函数的返回值
ESP+4:函数的第一个参数
JMP:强制跳转
call的本质还是强制跳转,他是跳转到一个函数的开始位
ret无条件从函数体内部跳出。

ZF:零标志位,代码执行结果为0则ZF为1,结果不为0则ZF为0.
SF:负数标志位,代码执行结果为负数则为1。
OF:溢出,有溢出为1,无溢出为0
标志位通过双击可以修改值,可以在不改变代码的情况下影响程序的执行流程。

ESP:栈顶
EBP:栈底
堆栈窗口是显示函数调用的时候的临时数据
堆栈只能在一端对数据进行插入和删除
微信图片_20240523222726.png

Cheat Engine
一款内存修改编辑工具,它允许你修改你的游戏,所以你将总是赢。它包括16进制编辑,反汇编程序,内存查找工具。与同类修改工具相比,它具有强大的反汇编功能,且自身附带了外挂制作工具,可以用它直接生成外挂。

官网下载地址 :https://www.cheatengine.org/downloads.php
汉化方法:https://www.bilibili.com/read/cv20000221/
汉字搜索的问题:

在线工具
搜索汉字的时候,要选中value type:String  选中:UTF-16 才能搜索得到。
微信图片_20240422212610.png


参考
dbg Hook微信实现一些自动化开发(2022)
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-4-24 09:56:27 | 显示全部楼层
崎山小鹿
2024-4-24 09:56:27 看全部
GDB符号表是在编译时生成的,通常由编译器在生成目标文件时自动生成。在调试过程中,GDB会读取符号表,将程序中的地址解析为符号名称,以便在调试过程中进行源代码定位和变量查看。同时,GDB也可以根据符号表对程序进行反向映射,例如查看某个函数或变量的调用栈、内存占用情况等。
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-5-18 15:48:39 | 显示全部楼层
崎山小鹿
2024-5-18 15:48:39 看全部
lea rdx,qword ptr ss:[rsp+100]

qword是 8 字节(64 位)。它代表四字,与dword代表双字相同。它是每个寄存器的大小rXX。这qword ptr意味着我们正在访问一个qword大小的内存块(与byte,word或相对dword)。

ss代表堆栈段。然而,在非 16 位系统中,所有段通常都映射到 0。它可能在代码中显示为反汇编的产物,因为rsp寄存器用于指向堆栈。

这些lea命令的意思是加载有效地址。它不获取给定地址处的值,而是获取地址本身。因此,在伪代码中,我们可以将整个事情重写为rdx = rsp + 100.
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-5-18 16:04:19 | 显示全部楼层
崎山小鹿
2024-5-18 16:04:19 看全部
s指令后面跟着的地址是一个字符串的开始的首地址,s是吧这个地址视为了0结尾的字符串地址,然后直接解析的.
日志文本:rsp+100:{s:[rsp+100]}
rsp+100:"{\"appState\":1,\"app_id\":\"wx2fd91fc20b4d1376\",\"apptype\":1000,\"appversion\":175,\"data\":\"{\\\"dataArray\\\":[{\\\"key\\\":16023,\\\"value\\\":[0,1256,0,0,0,0,0,120,28,0,0,2580008,0,0,0,0,0,0,0,null,0,0,0,0,0,0,0,0,0,0,0,0,1,\\\"3.0.0\\\",0]}],\\\"version\\\":2}\",\"instanceId\":\"1716015823902\",\"task_id\":0,\"version\":2,\"version_type\":0}"

日志文本:r14:{s:[r14]}

日志文本:
https://www.cnblogs.com/iBinary/p/16359195.html
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-5-27 12:24:54 | 显示全部楼层
崎山小鹿
2024-5-27 12:24:54 看全部
rep movsb   
MOVSB 的英文是 move string byte,意思是搬移一个字节,它是把 DS:SI 所指地址的一个字节搬移到 ESI 所指的地址上,搬移后原来的内容不变,但是原来 ESI 所指的内容会被覆盖而且在搬移之后 SI 和 DI 会自动地址向下一个要搬移的地址。

一般而言,通常程序设计师一般并不会只搬一个字节,通常都会重复许多次,如果要重复的话,就得把重复次数 ( 也就是字串长度 ) 先记录在 CX 寄存器,并且在 MOVSB 之前加上 REP 指令,REP 是重复 (repeat) 的意思。这种写法很是奇怪,一般而言汇编语言源文件的每一行都只有一个指令,但 REP MOVSB 却可以在同一行写两个指令,当然分开写也是一样的。
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-5-27 14:14:06 | 显示全部楼层
崎山小鹿
2024-5-27 14:14:06 看全部
设置条件断点在x32dbg、x64dbg中因为表达式只支持整数,不支持字符串和其它数据,如果比较的字符串长度过长就会比较尴尬,最好的办法应该还是通过插件来实现比较方便。
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-5-27 14:14:29 | 显示全部楼层
崎山小鹿
2024-5-27 14:14:29 看全部
and就是与运算,两个数按二进制位相与,全1为1,有0为0,

MOV指令:
CPU内部寄存器之间数据的任意传送(除了码段寄存器CS和指令指针IP以外)。
立即数传送至CPU内部的通用寄存器组(即AX、BX、CX、DX、BP、SP、SI、DI),给这些寄存器赋初值。
CPU内部寄存器(除了CS和IP以外)与存储器(所有寻址方式)之间的数据传送,可以实现一个字节或一个字的传送。
能实现用立即数给存储单元赋初值

xor 如果两个位的值相同(同为 0 或同为 1),则结果位等于 0;否则结果位等于 1。
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-6-4 09:58:53 | 显示全部楼层
崎山小鹿
2024-6-4 09:58:53 看全部
Cheat Engine Android
https://cheat-engine.en.malavida ... oad#google_vignette

VEH调试器是注入DLL到要调试的进程

内核调试器在一台机器上启动,通过串口调试另一个相联系的以Debug方式启动的系统,这个系统可以是虚拟机上的系统,也可以是另一台机器上的系统


VEH就开发者自己写的一种调试器,windows是系统自带的调试器,两者都属于应用层,一般来说用VEH比较靠谱点,因为他的算法在调试的时候很难发现你在下断点的一些操作,但也只是针对部分,像网游他会hook你发现哪里不一样的int3  他就让你没法调试,DBVM就是驱动级别的。

VEH调试器是用向量化异常方式捕获异常实现跟踪调试程序的,和SEH差不多,只不过SEH是基于线程而VEH是基于进程的,windows调试器就是最基础的那一套调试方法,createprocess创建调试进程然后waitfordebugevent等待各种调试事件,内核模式就是windows调试器的内核实现,运行在R0,DBVM方法是CE自带的内核驱动实现的,这个不是很了解只知道DBVM是CE自带的驱动

VEH是进程的异常处理,SEH是线程的异常处理,SEH可以直接用__try 和except语句使用,也可以直接创建SEH的处理函数和调用SHE来实现内部逻辑结构,VEH有提供的API,只需要创建一个VEH然后再创建一个VEH的异常处理函数就好了
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

查看:1379 | 回复:7

  • 免费在线 Autodesk FBX 到 OpenUSD 转换器

    免费在线 Autodesk FBX 到 OpenUSD 转换器 https://products.aspose.app/3d/zh-cn/co

    阅读:229|2024-07-10
  • 3D数字人制作-Character creator

    Character creator 《角色创建者》是由Reallusion [1]公司推出的一款3D角色建模软件,

    阅读:317|2024-07-08
  • 第九区

    第九区的本质是创建一个世界模型,希望用这个世界模型能为老百姓和政府提供数据和推理

    阅读:309|2024-07-07
  • Discuz强大的广告系统

    强大的广告系统 页头通栏广告:页头通栏广告显示于论坛页面右上方 全局 页尾通栏广

    阅读:197|2024-07-07
  • 对于老百姓而言VR到底能做什么?

    VR技术自诞生以来不断发展,已经广泛应用于教育、医疗、工程、军事、航空、航海、影视

    阅读:285|2024-07-06
  • 剪映数字人口播原理

    剪映版本升级了,新版本6.0.1支持数字人定制,于是我赶紧申请了使用资格 目前的价格

    阅读:395|2024-07-03
  • 科学作息AI助手

    在魔塔空间创建了一个作息时间管理的agent >>>>>点我体验

    阅读:368|2024-07-01
  • 开发者聊科学作息时间表

    非常有幸对科学作息时间表app的开发者做一次采访。 问:你对科学作息时间表app满意么

    阅读:334|2024-07-01
  • 在线制作ico图标的网站

    给大家推荐一个在线制作ICO图标的网站 比特虫: https://www.bitbug.net/ 你也可以直

    阅读:395|2024-06-30
  • 恢复微信聊天记录

    微信好友删除了,之前的聊天记录能恢复么?能的,不管是安卓、苹果、Windows下的微信

    阅读:399|2024-06-30
金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2024 Discuz! Team.
快速回复 返回顶部 返回列表