首页
社区
课程
招聘
[原创]x64dbg脚本 - 解决调试时编排函数调用
发表于: 2019-9-27 09:53 10500

[原创]x64dbg脚本 - 解决调试时编排函数调用

2019-9-27 09:53
10500

一直没怎么使用x64dbg脚本功能,而且官方的文档命令的例子也不多,所以整理了下,解决的问题来原于这次Q3的CTF第5题,在做3DES的时候,程序逻辑为:

上面的CTF相关的内容就略了,其中需要逆向得到Dest的值,需要对上面的三次调用逆过程执行,基本为:

如果手工调试,可以在断点到对应函数后,通过修改参数来实现,但是因为顺序问题,需要3次完成调试,其中在使用脚本语言相关的调试的时候,是可以在调试阶段,动态去调用一些函数,来测试结果的,所以想着是不是有办法做到类似的功能(本来想看是不是有插件可以,没有找到),就开始找办法实现。

在二进制里要实现上面的调用,想到的一个思路是通过动态写汇编来执行:
1,先创建一块调试临时内存区域用来存放需要写的汇编;
2,将上面的逆过程以汇编的方式写到内存区域;
3,在调试的时候,执行到合适的断点后,进入上面的汇编获取结果;
根据上面的方式,分别要解决几个问题:
1,内存分配:alloc
2,des_Func_de|des_Func_en的调用参数和地址:通过查看原来的内容获取:

des_Func_de :
3, 写入汇编还是shellcode ?通过查看手册,其实x64dbg的汇编器是可以调用的:asm 命令;
接下来就是coding和debug的过程,不细说了,有一些命令不熟悉,自己也摸索了下;

说明:最后Demo了一下按字节显示的格式,官方文档没提命令需要加“”,而且有一些格式不加“”也可以,有点乱。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-9-27 17:42 被nevinhappy编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (4)
雪    币: 29183
活跃值: (63661)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
感谢分享~
2019-9-27 10:20
0
雪    币: 768
活跃值: (236)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
好文章,感谢分享
2019-9-27 10:23
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
你好 有偿求帮忙做个简单的x64dbg插件(我自用)  请问可以留个联系方式吗
2021-6-10 14:27
0
游客
登录 | 注册 方可回帖
返回
//