首页
论坛
课程
招聘
[原创]Detect all versions of Themida/WinLicense(更新……)
2008-12-25 15:21 11553

[原创]Detect all versions of Themida/WinLicense(更新……)

2008-12-25 15:21
11553
大家好!
    Merry Christmas!
    生蛋节了,没什么拿得出手能送大家做礼物的
    正好看到What的文章Themida 1.9.1.0 - 2.0.5.0 (Finding Exact Version),粗略看了一下,简单易学,不过每次都得重复操作一遍,不太方便,于是就想拿出来写个脚本,算是陪大家一起学习脚本写作吧

    运行脚本,可以自动检测TMD加壳程序的确切版本号,便于你采取下一步行动!
    没什么技术含量,高手掠过
   
    感谢goldsun和peaceclub修正脚本;
    感谢stupidass对特征码值的修正,同时对KooJiSung所做的测试工作给予充分肯定!
/*
FileName    :  Detect all versions of Themida/WinLicense        
Features    :  If your target is packed with Themida/WinLicense,this script can help you detect its version. 
               But you must note that this isn't a unpack-script for Themida.
Environment :  WinXP,ODBYdyk V1.10,OllyScript V1.65            
Support     :  Themida all versions (1.9.8.0-2.0.5.0)
Thanks      :  What/goldsun/peaceclub/stupidass/KooJiSung            
Author      :  Playboysen                                      
Date        :  2008-12-25  o_0  Merry Christmas!  
*/

var temp
var verStr
var verAddr
mov verAddr,0

bc                                  //先清除一下断点
gpa "ZwContinue", "ntdll.dll"       //bp ZwContinue
bp $RESULT
loop:
esto
cmp [esp+0C],0C0000096             //关键处的值应该为C0000096   
jnz loop                           //循环比较关键值
bc
mov eax,[esp+4]
add eax,0B8
mov temp,[eax]
find temp,#000004000000#          //特征码
cmp $RESULT,0
jz exit
mov eax,$RESULT
add eax,6 
mov verStr,"Themida/winlicense version: "
mov verAddr,eax
READSTR [verAddr],5
add verStr,$RESULT
msg verStr

exit:
ret

《0day安全 软件漏洞分析技术(第二版)》第三次再版印刷预售开始!

收藏
点赞0
打赏
分享
最新回复 (20)
雪    币: 2151
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
shellwolf 活跃值 10 2008-12-25 15:34
2
0
msg 不能像printf那样给出变量值?
不知可不可以eval, 然后msg,或log
雪    币: 200
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 活跃值 16 2008-12-25 15:45
3
0
太强了, 这都被你发现了
雪    币: 217
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
peaceclub 活跃值 6 2008-12-25 15:46
4
0
抱歉,失误,弄错了。
雪    币: 200
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 活跃值 16 2008-12-25 15:50
5
0
我试了天下2等几个程序都有效啊
雪    币: 217
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
peaceclub 活跃值 6 2008-12-25 15:55
6
0
winlicense 2.0.5.0 测试有效。
雪    币: 200
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 活跃值 16 2008-12-25 15:56
7
0
功能如此强大
精彩超乎想象
看了这个贴子,感觉自己又成长了

fxyang大哥可以精确定位了
雪    币: 582
活跃值: 活跃值 (67)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
playboysen 活跃值 16 2008-12-25 16:01
8
0
在大伙的关注下,主帖已修正,请大家继续测试……
雪    币: 1205
活跃值: 活跃值 (16)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
elance 活跃值 6 2008-12-25 16:26
9
0
这个太精确了,厉害
雪    币: 217
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
peaceclub 活跃值 6 2008-12-25 16:47
10
0
我修改的,直接弹版本号:
var temp
var verStr
var verAddr
mov verAddr,0
bc                                  //先清除一下断点
gpa "ZwContinue", "ntdll.dll"       //bp ZwContinue
bp $RESULT
loop:
esto
cmp [esp+0C],0C0000096             //关键处的值应该为C0000096   
jnz loop                           //循环比较关键值
bc
mov eax,[esp+4]
add eax,0B8
mov temp,[eax]
find temp,#04000000#               //我自己定位的一处特征码(不知道是不是通用特征码——待测试)
cmp $RESULT,0
jz exit
mov eax,$RESULT
add eax,4
mov verStr,"此文件的版本是: themida/winlicense "
mov verAddr,eax
READSTR [verAddr],5
add verStr,$RESULT
msg verStr
exit:
ret
雪    币: 398
活跃值: 活跃值 (194)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
KooJiSung 活跃值 2008-12-25 16:47
11
0
wlc
2040,2050 无效
1980,1990,2000,2010,2020,2030,2044 有效
雪    币: 356
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
stupidass 活跃值 2008-12-25 17:14
12
0
其实有效与无效完全取决于特征值#04000000#的选取是否合适。
如果无效的朋友请稍微改一下代码:

find temp,#000004000000#               //这个特征的唯一性比那个要好一点
cmp $RESULT,0
jz exit
mov eax,$RESULT
add eax,6                                           //这里自然就变了
雪    币: 398
活跃值: 活跃值 (194)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
KooJiSung 活跃值 2008-12-25 17:20
13
0
经过楼上的这么一改

1980-2050 有效
雪    币: 582
活跃值: 活跃值 (67)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
playboysen 活跃值 16 2008-12-25 21:40
14
0
感谢楼上几位修正脚本,有时间请允许我在主贴更新  看来我得继续学习啊,呵呵
雪    币: 100
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
夜凉如水 活跃值 3 2008-12-25 21:43
15
0
不错不错 金大大的插件更好玩 金大大怎么不把你的插件转过来 赚UB呢哈哈
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
踏血无痕 活跃值 2008-12-25 23:29
16
0
这都被你发现了
雪    币: 419
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fixfix 活跃值 2008-12-25 23:33
17
0
太厉害,这都被你发现了,感叹下!
雪    币: 582
活跃值: 活跃值 (67)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
playboysen 活跃值 16 2008-12-28 17:16
18
0
节日献礼
好多TMD的脚本和工具

需要的注意收录哦
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
香草吧噗 活跃值 2009-2-22 20:16
19
0
大大  如果是2.05以上的壳 这脚本侦测结果是?
雪    币: 144
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
静慕者 活跃值 2009-2-22 21:53
20
0
想知道脚本怎么用?
雪    币: 582
活跃值: 活跃值 (67)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
playboysen 活跃值 16 2009-2-23 13:08
21
0
和其他OD脚本一样的使用方法

前提是你的OD有OllyScript插件
游客
登录 | 注册 方可回帖
返回