首页
社区
课程
招聘
[原创]屠龙技之ODbgScript2.25脚本编写
2019-10-25 01:59 5154

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

2019-10-25 01:59
5154

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


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





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





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

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

下图是脚本运行结果:




[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2019-11-2 18:23 被ssarg编辑 ,原因:
上传的附件:
收藏
点赞2
打赏
分享
最新回复 (8)
雪    币: 19584
活跃值: (60093)
能力值: (RANK:125 )
在线值:
发帖
回帖
粉丝
Editor 2019-10-25 09:29
2
0
屠龙宝刀来一把
雪    币: 459
活跃值: (652)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2019-10-25 10:58
3
0
Editor 屠龙宝刀来一把
怕你是拿不动啊
雪    币: 459
活跃值: (652)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2019-10-25 11:00
4
0
雪    币: 3096
活跃值: (2444)
能力值: ( LV8,RANK:147 )
在线值:
发帖
回帖
粉丝
Roger 1 2019-11-6 19:44
5
0
这个牛逼了,以前做看雪ctf总想这么干,但是Script脚本不太会写,没有头绪~
雪    币: 459
活跃值: (652)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2019-11-7 19:31
6
0
xuenixiang 这个牛逼了,以前做看雪ctf总想这么干,但是Script脚本不太会写,没有头绪~
以前的脚本插件没有实现 js 功能,而现在就看想象力有多大了。
雪    币: 14
活跃值: (263)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ZwTrojan 2019-11-8 22:49
7
0
OD 2.0以上版本没有反反调试插件吗?SharpOD的插件放进Plugin文件夹里面没显示出来
雪    币: 225
活跃值: (259)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qiluword 2020-1-1 11:17
8
0
现在OD还能用?win10下?
雪    币: 459
活跃值: (652)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2020-1-1 12:13
9
0
qiluword 现在OD还能用?win10下?
win10目前未抛弃win32,OD2.01自然可以。
游客
登录 | 注册 方可回帖
返回