能力值:
(RANK:215 )
26 楼
最初由 kangaroo 发布 上面的脚本适当改进了下,适用于vb,该脚本可以得到正确密码顺序,无需排序(只适用vb写的被彩虹加密的程序)。
这个GOOD!
能力值:
( LV12,RANK:250 )
27 楼
最初由 china 发布 用了新的了,但是昨天同样的ollyscripts却不行。 再次感谢,学习了很多。 脚本对彩虹的软件狗适用,现在就是对软件语言程序的特征码没有简便的方法获取,我的想法是不管是正确还是错误的密码先脱出文件来,然后用PEID查看,不知道是否正确。
ollyscripts肯定是不行的,我那脚本只适用于ODbgScript插件
能力值:
( LV12,RANK:250 )
28 楼
最初由 china 发布 这个GOOD!
好像从头到尾怎么只剩下我们两个人来研究了,大家怎么对狗都不感兴趣?
能力值:
(RANK:215 )
29 楼
最初由 kangaroo 发布 好像从头到尾怎么只剩下我们两个人来研究了,大家怎么对狗都不感兴趣?
可能会有人憎恨这种研究吧,哈哈。
我在找我加密过的记事本,测试下。
能力值:
( LV12,RANK:250 )
30 楼
最初由 china 发布 可能会有人憎恨这种研究吧,哈哈。 我在找我加密过的记事本,测试下。
研究技术为什么会存在憎恨,不理解!!!我是这里的新手,可能有些规矩不懂!!
好好测试下vb版的这个脚本。我用他测试过你的CrackMe正常使用
能力值:
( LV2,RANK:10 )
31 楼
如果没有被加壳的原文件,怎样做呢?未加壳的oep的入口值怎末得到?
能力值:
( LV12,RANK:250 )
32 楼
最初由 rooky2000 发布 如果没有被加壳的原文件,怎样做呢?未加壳的oep的入口值怎末得到?
程序是什么语言写的很简单就可以得到吧,载入程序,Alt+E看下模块,就知道了,例如vb写的肯定就有msvbvm6.dll动态库,VC写的也有特点,知道了什么语言写的程序,例如VC6的开头四个字节就是固定的,不会变!!!只要确认程序是vc6写的随便编译一个vc6程序,用peid得到ep处四个字节,填入脚本弹出的对话,就ok了
能力值:
( LV2,RANK:10 )
33 楼
楼主看看notepad和calc就不样,同样的编程语言,同样的版本
能力值:
( LV12,RANK:250 )
34 楼
最初由 rooky2000 发布 楼主看看notepad和calc就不样,同样的编程语言,同样的版本
VC7写的,同vb一样有点不一样,目前在解决中,vb已经顺利解决
VC6写的肯定都一样。不知道Delphi的情况。所以请大家多多帮忙测试
能力值:
( LV2,RANK:10 )
35 楼
Delphi的程序应该不一样,我用这个脚本测试一个Delphi编的商业软件,竟然提示特征码都没有找到。(可以确信测试软件是Microdog3.4加密的)
能力值:
( LV9,RANK:170 )
36 楼
to kangaroo:
至于顺序问题,我想是这个原因,由于狗壳解码是从代码段开始,到代码段结尾每四字节四字节解码(与密钥异或)
假如代码段开始为401000,那么401000,401001,401002,401003四个是一组,401004,401005,401006,401007一组,以次类推,假如OEP为401001则OEP开始的四个字节不是处于同一组,则你逆推出的密钥如果是两个组的一部分则顺序肯定不对。
我表达得不是很好,你那么聪明,一定可以理解我的意思~~~
能力值:
( LV2,RANK:10 )
37 楼
我测试了一个VB的 66A3AA5F 正确的,
AA5F66A3 脚本生成的
位置还是不对的.
能力值:
( LV12,RANK:250 )
38 楼
最初由 Pan88168 发布 我测试了一个VB的 66A3AA5F 正确的, AA5F66A3 脚本生成的 ........
恩,位置需要自己排序下,最多情况4种
如脚本得到ABCD
要么A开头ABCD
B开头BCDA
C开头CDAB
D开头DABC
就这四种情况
能力值:
( LV12,RANK:250 )
39 楼
最初由 hahan 发布 Delphi的程序应该不一样,我用这个脚本测试一个Delphi编的商业软件,竟然提示特征码都没有找到。(可以确信测试软件是Microdog3.4加密的)
能否传个例子供大家研究下,谢谢,由于手头没狗,无法加密!!!
能力值:
( LV12,RANK:250 )
40 楼
最初由 skylly 发布 to kangaroo: 至于顺序问题,我想是这个原因,由于狗壳解码是从代码段开始,到代码段结尾每四字节四字节解码(与密钥异或) 假如代码段开始为401000,那么401000,401001,401002,401003四个是一组,401004,401005,401006,401007一组,以次类推,假如OEP为401001则OEP开始的四个字节不是处于同一组,则你逆推出的密钥如果是两个组的一部分则顺序肯定不对。 我表达得不是很好,你那么聪明,一定可以理解我的意思~~~ 谢谢,你已经表达的非常清楚了,有了你这一帮助,顺序问题可以解决了
脚本已更新,目前vb的不需要排序了
再次感谢skylly
上传的附件:
能力值:
(RANK:215 )
41 楼
最初由 kangaroo 发布 谢谢,你已经表达的非常清楚了,有了你这一帮助,顺序问题可以解决了 脚本已更新,目前vb的不需要排序了 再次感谢skylly
测试正确。
今天找了个彩虹的别的程序,脚本走出来的密码正确,但是脱壳出来却是错误的。
(另外发现,这个狗应该是精灵狗,发现不用脚本,有一处异或计算可以直接看到密码)
文件比较大,老兄有无兴趣找偶谈谈。
能力值:
( LV12,RANK:250 )
42 楼
说下顺序问题吧!!
拿计算器来说原ep值为6A 70 68 E0(文件顺序)
加密后oep值为:D9 D7 FB 08(文件顺序)
这两个值在寄纯器中为E068706A和08FBD7D9
异或后结果为E893A7B3
而正确的值是93A7B3E8
什么原因呢?呵呵,其实skylly大侠已经说了,是四个一组加密的,如果oep的位置不是四的整数倍,那密码肯定就不是这个顺序了。怎么样得到正确的顺序呢
eip mod 4得到的值
还拿这个计算器,他的eip是1012475
明显eip mod 4=1,呵呵,那就是第二位为密码的开始了即93A7B3E8
也就是说有四种情况
eip mod 4=0或者1或者2或者3
如果是0顺序不要变了,如果是1第二位做为密码的开始,如果是2第三位,如果是3第四位,情况就四种(这个不是排序哦,排序可是12种)。
能力值:
( LV12,RANK:250 )
43 楼
解释下上面问题的数学模型:
oep(一次解码) 1 2 3 4
ep a b c d
算出密码 A B C D
在内存中即为D C B A(这个值也是我脚本写到文件中去的)
假设eip也就是oep的地址为5
前面还有五个字节全部为0
0 0 0 0 0 1 2 3 4
D A B C D A B C D (异或运算)
-----------------------------
x x x x x a b c d (正确解码)
由于四一个组解码,要使密码能解出上述的样子,密码只能是
D A B C
这个密码在内存中即为C B A D(这个值也就是修改eax的)
比较下D C B A和C B A D只是将D调到最后一位(5 mod 4=1)
2就将前两位调到后面
3就将前三位调到后面
能力值:
( LV2,RANK:10 )
44 楼
太棒了,期待vc delphi 脚本
能力值:
(RANK:215 )
45 楼
最初由 baby 发布 太棒了,期待vc delphi 脚本
已经快出来了。
能力值:
( LV12,RANK:250 )
46 楼
最初由 baby 发布 太棒了,期待vc delphi 脚本
最新脚本支持VC6和delphi7由China测试通过,欢迎大家继续测试,至于VC7还在想办法,主要特征码不固定烦人。(在此感谢小虾版主对本脚本的技术支持)
上传的附件:
能力值:
(RANK:215 )
47 楼
使用最新脚本的兄弟,研究VB程序的时候,对VB6的可以用68C41240做特征码看看。
能力值:
( LV2,RANK:10 )
48 楼
呵呵。强烈支持。加精啊。
能力值:
( LV6,RANK:90 )
49 楼
多谢分享
能力值:
( LV6,RANK:90 )
50 楼