首页
论坛
专栏
课程

[原创]屠龙技之ODbgScript2.25脚本编写

2019-10-25 01:59 1480

[原创]屠龙技之ODbgScript2.25脚本编写

2019-10-25 01:59
1480

       可以忽略前三个字,只是个噱头。无他,仅仅是展示 ODbgScript2.25脚本 如何编写。
       以 2019看雪CTF  >  晋级赛Q3  >  第三题:庄周梦蝶为例,编写了一个穷举破解脚本,能不能出结果,看运气了。不过在这里不重要,主要是展示一下脚本写法。屠龙刀耍起!
       原程序的逻辑是个开放式的判断分支,如果输入正确,走对的分支,否则走错误的分支。而穷举破解则是封闭式的循环判断并有一个正确的出口,有点像字母Q。


        思路有了,剩下的就是先找到源程序存放初始序列号的内存地址1,以及算法判断正确与否的 jxx 位置2,然后由位置2的跳向错误改为 jmp 到验证算法的开始处,在内存地址1处写入由 js 产生的随机32位序列号,进行 loop 循环,正确则跳出大循环。通过OD简单分析便可得知以上信息:





下面该上屠龙刀了,我去,刀呢?还好倚天安在。





      上面注释已经很清楚了,并可以看到 scjs(ss)命令中对 js 语句随机产生32位数字序列号的支持和强大处理。

      附件是修改过的gene程序,主要是把字符输入过程和中间错误提示去掉了,这样保证程序可以不中断循环,对比下原程序就可知道修改了哪些,有部分语句需要在脚本中动态修改才行。其实所有修改都可在脚本中动态修改,只不过有些麻烦。

下图是脚本运行结果:





[公告]安全测试和项目外包请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最后于 2019-11-2 18:23 被ssarg编辑 ,原因:
上传的附件:
最新回复 (6)
Editor 2019-10-25 09:29
2
0
屠龙宝刀来一把
ssarg 2019-10-25 10:58
3
0
Editor 屠龙宝刀来一把
怕你是拿不动啊
ssarg 2019-10-25 11:00
4
0
xuenixiang 1 5天前
5
0
这个牛逼了,以前做看雪ctf总想这么干,但是Script脚本不太会写,没有头绪~
ssarg 4天前
6
0
xuenixiang 这个牛逼了,以前做看雪ctf总想这么干,但是Script脚本不太会写,没有头绪~
以前的脚本插件没有实现 js 功能,而现在就看想象力有多大了。
ZwTrojan 3天前
7
0
OD 2.0以上版本没有反反调试插件吗?SharpOD的插件放进Plugin文件夹里面没显示出来
游客
登录 | 注册 方可回帖
返回