吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9538|回复: 86
收起左侧

[原创] 紧跟法王我们一起写一个实用的x64dbg脚本《走位标线器-破迷宫专用》

  [复制链接]
冥界3大法王 发表于 2021-4-5 18:48
本帖最后由 冥界3大法王 于 2021-4-29 10:12 编辑
https://www.52pojie.cn/thread-1409404-1-1.html

你是否想过?写一个这样的脚本:
程序单步一步,当前行就注释一条 。。走位1
。。。。。。。。。。。。。。。。。走位2
。。。。。。。。。。。。。。。。。走位3
。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。走位N
效果如下:
image.png


就跟你学做饭一样一样的,上来你得有调料吧?
比如我们今晚做“鸡蛋羹”:
那你得准备四个鸡蛋吧?还得有酱油、盐、香油、水、一只大碗、味精、蒸锅。
你之所以破解学不好,不是因为人笨,而是因为你不会下棋,不懂全局观、不会自问自答、创造问题,解决问题。
那么我们就开始调制吧。
比如你是跳水运动员,上来你给我们表演个燕子空翻+转体360度3S级入水动作
你肯定玩不转啊,我们得拆解成分解动作才行呐~~ 不然直接腰就折了。。。

注释的命令是啥?
image.png
用CHM神器ExtraCHM法王破解版打开CHM,我们查看下吧。
commentset 地址,注释文本
既然是文本,那肯定是字符串喽
那就肯定得引起来呗
image.png
commentset 0040101A,"猪狗不如"
成功后,如下:
image.png
我们现在学会了注释命令,就是如此简单。

接下来,我们再来学一个命令弹框,也叫信息框,消息框,叫啥“阿猫阿狗啥的”并不重要,重要的你知道这玩意干啥用的就行了。
image.png
接下来,自行测试下面的命令
msg 我来了        //最简单的弹字符串型对话框
msg "你来了"     //与上等价,只不过加了双引号更加的规范哟~~
msg 1+2            //结果还是1+2
msg {1+2}        //这个就会得到3,因为{}里是一个表达式
不要小看msg这个命令!它有以下几点:
  • 弹出一个消息框
  • 打断程序
  • 弹出中间值(可以用来做测试 和 及时反馈汇报给我们的测试表达式是否正确?)
image.png
好了,到这里弹框方面你就基本上毕业了

我们再来学习一下格式化字符串
image.png
上面说了表达式,接下来就得说说格式化字符串了(其实它这个翻译的不好,正常编程习惯该是反过来翻译才对啊)
{大括号里边是表达式}
?:表达式         这样的格式哟~~
下面? 可用下面这些字母替换掉~~
光说不练做菜鸟,狗屁你也学不会。。。就算是做鸡蛋羹这么简单的东西也得自己动手做做呗。。。
不然学不会空吐槽的,只能证明自己是真的笨了。。。(其实呢,就算楼主的求助贴,你真的动脑子了吗?弄会弄懂之后还是饭桶?)
image.png
其他类似,等量代换,角1=角2。。。用用你当年的几何代数知识就行了。。。不再赘述。。。

对了,还支持下面的复合类型组合
{ansi[;length]@address}
呵呵,具体看帮助喽~~
说多怕你们脑袋大。。。
主要为了输出一种格式化了字符串,例如你要在日志窗口中输出 【文件名:。。。。。。】就得调用寄存器和上面的东东,不然可直接给你打脸啊~~
但是你弄会之后就觉得很神奇的组合。这东西其实是给机器用的,并不适合给人类看。

接下来呢,你们再来说一下算术表达式
image.png
你不可能只用个1+1吧? 至少还得有个== 比较   !=不等于之类的写法吧。。。。
复制试试,看看就好,用时抄抄,就这么简单,想多了,你就输了。


接下来,我们再来学习一下表达式函数
image.png
函数是啥? 好比就是组装好的零件或有相应功能的盒子,用时去调用,执行之后,它会告诉你成功了,或失败了。。。非常的听话和靠谱哟~~
我们这里只需要一个 {mod.party(地址)}就够了。
我们换成下面的代码测试下:
msg {mod.party(eip)}
image.png
当前eip是00401000
它是crackme领空
所以呢,弹框测试,当然我们得到的是0 用户领空喽~~


接下来,你还得知道F8单步步过  F7单步步入。。。。等咋写?
image.png

StepOver 就相当于F8
StepInto。。。。。F7
如果前边多个字母e就有跳过异常之意。。。
这一部分基本上够用了,就到这里吧。。。


接下来,我们再来学下定义变量
image.png
varnew 就是定义或声明一个新变量
有两个参数
1是变量名 ,如   a1$
2是初始化变量值 ,如123 ,“这是一个字符串”
那么我们
var a1$, 1
msg {a1$}  //我们就得到了1


要是下面这样呢?

var a1$, 1
msg {a1$+1}               //我们就得到了2
因为楼主要的注释内容是  走位1。。。走位2。。。走位3。。。。

修改一下代码,并合在一起就是:commentset eip, "走位"{a1$+1}

这一部分,我们也鼓捣好了。。。。


接下来,我们还需要定义标签
用bing/google网上搜索下脚本,别用百度那个国产吃货就行了。
image.png
你会发现一般人家的脚本长这个样子
标签:                                   //我们就修改成    XunHuan_Jia1:
XXX
ret                                         //一般代表return代码段结束
代表一个小节(子程序段)

$result 代表内置的结果变量   ; 一般是0或1
cmp $result, 0                       //用这个命令来检测结果
然后呢,我们还需要一个相等,或不相等的命令。。。

image.png
image.png

现在似乎该有的调料都有了,万事俱备,只欠东风。。。
加分不积极,心情不好,没几个人识货。。。



编好了,自己先爽了,睡觉了~~
[C++] 纯文本查看 复制代码

// Author: 吾爱破解论坛之荣誉会员-冥界三大法王
// Comment: x36dbg之走位注释标线器-破迷宫专用
// Date:2021-4-5晚 生产

var a1$, 1 //首先我们定义一个Integer型变量为以后的注释内容"走位+数字N"作准备

XunHuan:
//msg {a1$+1} 得到2 //msg {$result} //正确
//cmp {mod.party(eip)},0 //这样写也没有报错
cmp mod.party(eip), 0 //当然是先判断一下当前行eip到底是用户领空还是系统领空啦?(两种写法都没有报错)
je ZhuShi_Jia1   //如果=0则相等则跳转到ZhuShi_Jia1子程序部分来添加 注释内容"走位+数字N"
StepOver        //单步执行
ret                  //小节结束

ZhuShi_Jia1:
commentset eip, "走位"{a1$+1}
jmp XunHuan //注释完了,当然还得接着重复判断加注释啦,所以无条件跳转到XunHuan
ret //小节结束


20210407_111315.gif

忆往昔我的旧时光都到哪里去了?!


必须掌握的基本功:

免费评分

参与人数 26吾爱币 +31 热心值 +25 收起 理由
tiger1974 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
少年持剑 + 1 + 1 谢谢@Thanks!
春天的萌动 + 1 + 1 用心讨论,共获提升!
liuchenxii + 1 + 1 谢谢@Thanks!
Ping-High + 1 + 1 用心讨论,共获提升!
nmy124 + 1 + 1 谢谢@Thanks!
swhyy + 1 + 1 我很赞同!
呵呵呵123 + 1 + 1 谢谢@Thanks!
a6445141 + 1 用心讨论,共获提升!
爱你小吉君 + 1 用心讨论,共获提升!
BurYiA + 1 + 1 谢谢@Thanks!
aniu + 3 + 1 谢谢@Thanks!
azcolf + 1 + 1 热心回复!
djbcmndxy + 1 + 1 用心讨论,共获提升!
YMYS + 1 + 1 我很赞同!
libozi + 1 + 1 谢谢@Thanks!
陌路丶下雪天 + 1 + 1 我很赞同!
shc1221 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lidelongqi + 1 + 1 web程序员看不懂,但是膜拜大佬
lxtx666 + 1 热心回复!
wwbzmt + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 谢谢@Thanks!
lies2014 + 1 + 1 用心讨论,共获提升!
freesoft00 + 1 + 1 我很赞同!
lyl610abc + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
请叫我老龚 发表于 2021-4-5 19:14
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 冥界3大法王 发表于 2021-4-6 15:21
本帖最后由 冥界3大法王 于 2021-4-6 15:23 编辑
yangand 发表于 2021-4-6 14:35
有没有X64DBG插件开发,快捷键设置的例子
@yangand
据论坛大老交流
@bester
反汇编ESC返回上一级的插件研究
完全是直接替换了“减号键”
程序写得很烂,毫无参考价值
另外除了x64dbg的源码和自带的那个脱壳插件外,别无其他热键的实例可参考。
lyl610abc 发表于 2021-4-5 18:53
VitoScaletta 发表于 2021-4-5 19:02
感谢分享!
smpj0074 发表于 2021-4-5 19:06
感谢分享!
janny82 发表于 2021-4-5 19:07
第一次这么前排的膜拜大佬~~~学习中~~三克油!
moonblade515 发表于 2021-4-5 19:36
学习中。。。
wqy290546 发表于 2021-4-5 19:52
楼主大大nb,向楼主看齐
a825481040 发表于 2021-4-5 20:16
nb大佬学习了
时光留白 发表于 2021-4-5 20:36
大佬果然是如此之犀利啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表