能力值:
( LV9,RANK:170 )
|
-
-
2 楼
1.那个用来间隔的地址,你自己可以判断下是不是有效的那不就行了,不是有效的就用0填掉.
2. 新建导入表时,你如果能找到原始导入表需要填充的IAT的范围,按那个范围来新建的IAT,是否就不需要考虑0x15ff,0x25ff的问题?
|
能力值:
(RANK:450 )
|
-
-
3 楼
就FSG2.0来说,我目前是按你说的1处理的,把非dll中函数地址该成0了,这样处理后,导入表好使
你说的第二点,我还真没有想到,还真的可以通过拦截GetProcAddress这些关键函数知道IAT的范围,避免0x15ff 0x25ff搜索问题,谢谢skylly兄了
也欢迎各位继续跟贴,发表高见,谢谢了
|
能力值:
(RANK:570 )
|
-
-
4 楼
依靠FF15和FF25是肯定不行的
某些加密壳可能根本就不会给你那个东西
而且被壳虚拟了的函数,你又要怎么识别?
假如只能针对某些壳,那何必做虚拟机。静态或动态脱壳机都可以。
|
能力值:
(RANK:450 )
|
-
-
5 楼
虚拟机脱壳也自有它的好处,尤其是在有恶意代码的时候,它可以保障系统的安全;相对静态脱壳来说,它可以不用具体分析壳的特性,应该更具有一定的通用性,
当然虚拟机脱壳,当然是只能针对某些壳的,不可能任何壳都可以鸟杀的,想想你手工脱壳,对一些壳都是那么困难,何况虚拟机这种没有智商的东西呢,它遇到的困难就更加不用说了,加之它还没有操作系统的支持......
虽然虚拟机脱壳有很多系统特性要仿真,不过在脱壳方面效果还是不错的,目前我只花了两个月的业余时间(白天要为生计奔波,没时间搞),已经试验了25种壳的共121个版本,总体来说,都可以搞定,不过这些壳都是压缩壳,最多也只是用了下SEH,简单的anti,我也知道要用它脱加密壳,基本上不太可能,不过,我还是会试试的,不过估计要在等两个月....
|
能力值:
( LV9,RANK:170 )
|
-
-
6 楼
比我那CoolDumpper好多了,我的那个引擎不能下硬断点,不能下内存断点
脱压缩壳基本没问题,脱加密壳就麻烦多了
不过最大的优点是不怕任何形式的调试器检测~~~~
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
感觉我正要学的就是以上的东西啊 ,真的一点都不懂啊!
|
能力值:
( LV9,RANK:2130 )
|
-
-
8 楼
[QUOTE=;]...[/QUOTE]
静态解码,再静态重构一份输入表就行了,fsg相对简单些。
做脱壳虚拟机,我倒觉得不如直接做成rldepacker、procdump那样一个动态debugger。
要实现完整的虚拟机,要走的路很远,一个人做的很累很辛苦。
|
能力值:
( LV9,RANK:410 )
|
-
-
9 楼
loveboom你这下跑出来了,以为你掉太平洋海沟了.
ff15,ff25这个办法肯定不行,虚拟机真的不是一般的累,真能出来的时候,也就到了大牛的基本水准了.
一般来说,你的方法对于老壳和压缩壳的确有效,而我窃以为,IAT的范围确定还是容易求出的,IAT混淆也还是能整理出来,我记忆中,IAT间隔没有000000的壳还没有(FSG没有玩),但用假的IAT来混淆的加密壳倒是不少,这个有点晕,怎么最后剔除这些假的IAT就真不知道怎么靠脱壳机的IA来判别了.
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
我倒是有两只FSG2.0的脱壳机 需不需要发来大家一起研究研究呀
|
|
|