下面是小编精心整理的幻影2.0测试版的Antidebug,本文共3篇,希望能够帮助到大家。

篇1:幻影2.0测试版的Antidebug
幻影2.0编写得真不错,它的anti-debug很有特色,我追它可是害惨了我的爱机,系统崩溃
不下20次,反复重启--晕!!虽然在半月前就彻底追过了,但是仍有很多问题没有明白。今天将它写出来,望各位大虾多多指教,为本人解惑。
我觉得它有如下特点:
1、花指令
2、SEH反跟踪
3、在Ring3、Ring0级清除断点寄存器
4、利用createfile查找调试工具(如sice、trw、bw.superbpm等等)
5、断点可不能乱下,不然系统会崩溃(d.boy大侠说:“设计中应该一触发断点
就会崩溃;崩溃是因为 int3 被幻影占领了”。)
以下的代码都是d.boy大侠用幻影2。0测试版加壳的exescope,我已改过的(原是花指令):
167:004AC094 PUSH DWORD [WORD FS:00]
0167:004AC09A PUSHF
0167:004AC09B PUSH BYTE +03
0167:004AC0C7 MOV [WORD FS:00],ESP 《――――建立SEH链
0167:004AC0CD PUSHF
0167:004AC0CE PUSH BYTE +03
0167:004AC0FA XOR EAX,EAX
0167:004AC0FC PUSHF
0167:004AC0FD JC 004AC109
0167:004AC113 MOV [EAX],EAX 《――――产生异常
0167:004AC115 PUSHF
0167:004AC116 PUSH BYTE +03
0167:004AC118 JNC 004AC125
0167:004AC11A JMP SHORT 004AC1
当光标停在4ac0fa处时,看看stack中,异常处理入口为4dca77,这时断点可以下在那里。接下去会有
很多类似的异常,异常处理入口也在4dca77处,但是后面的两个异常的断点就不能设在这里了,不然系统
就会崩溃的。我胡乱猜测是第一次异常时,读入4dca77后的代码,产生页面保护错误,于是就在这里做手脚,就像
上面d.boy大侠说的那样,“int3 被幻影占领了”(各位大侠,我乱猜的,请指教!)
下面我们就进入了异常处理代码中:
0167:004DCA77 C8000000 ENTER 00,00
0167:004DCA7B 9C PUSHF
0167:004DCA7C 6A03 PUSH BYTE +03
0167:004DCA7E 730B JNC 004DCA8B
0167:004DCA80 EB02 JMP SHORT 004DCA84
0167:004DCB94 MOV EAX,[EBP+10] 《――――eax中为context的指针
0167:004DCB97 JPE 004DCB9C
0167:004DCBA1 MOV EBX,[EAX+B8] 《――――取出context.eip
0167:004DCBA7 JZ 004DCBAC
0167:004DCBAC ADD EBX,BYTE +02 《――――context.eip+2
0167:004DCBAF PUSHF
0167:004DCBC6 ADD EBX,BYTE +03 《――――再加
0167:004DCBCE ADD EBX,BYTE +2D 《――――再加
0167:004DCBD1 JC 004DCBD6
0167:004DCBD6 MOV [EAX+B8],EBX 《――――送回
0167:004DCBDC PUSHF
0167:004DCBF3 XOR EBX,EBX 《――――清零
0167:004DCBF5 JC 004DCBFA
0167:004DCBFA MOV [EAX+04],EBX 《――――修改
0167:004DCBFD PUSHF
0167:004DCC14 MOV [EAX+08],EBX 《――――修改
0167:004DCC17 JPE 004DCC1C
0167:004DCC1C 89580C MOV [EAX+0C],EBX 《――――修改
0167:004DCC1F 7203 JC 004DCC24
0167:004DCC24 895810 MOV [EAX+10],EBX 《――――修改
0167:004DCC27 9C PUSHF
0167:004DCC3E 895814 MOV [EAX+14],EBX 《――――修改
0167:004DCC41 7403 JZ 004DCC46
0167:004DCC46 C7401855010000 MOV DWORD [EAX+18],0155 《――――修改
0167:004DCC4D 7403 JZ 004DCC52
0167:004DCC8A C9 LEAVE
0167:004DCC8B C21000 RET 10
经过三次上面的异常处理后,会来到下面的地方:
0167:004AFD61 SIDT [ESI] 《――――esi==4dc9d8
0167:004AFD64 JZ 004AFD69
0167:004AFD66 JNZ 004AFD69
0167:004AFD69 MOV ESI,[ESI+02] 《――――[esi+02]==800b0000
0167:004AFD6C JZ 004AFD71
0167:004AFD6E JNZ 004AFD71
0167:004AFD76 MOV AX,[ESI+18] 《――――AX=F5E4
0167:004AFD7A JC 004AFD7F
0167:004AFD7C JNC 004AFD7F
0167:004AFD7F MOV BX,[ESI+1E] 《――――BX=C18C
0167:004AFD83 JC 004AFD88
0167:004AFD85 JNC 004AFD88
0167:004AFD88 MOV [EBP+00433C35],AX 《――――F5E4送入4dc9de中
0167:004AFD8F JC 004AFD94
0167:004AFD91 JNC 004AFD94
0167:004AFD94 MOV [EBP+00433C37],BX 《――――C18C送入4dc9e0中
0167:004AFD9B PUSHF
0167:004AFD9C PUSH BYTE +03
0167:004AFD9E JNC 004AFDAB
0167:004AFE18 MOV [ESI+18],AX 《――――这时eax==4dcca5,esi=800b0000,AX=CCA5
0167:004AFE1C PUSHF
0167:004AFE1D PUSH BYTE +03
0167:004AFE1F JNC 004AFE2C
0167:004AFE49 SHR EAX,10
0167:004AFE4C JZ 004AFE51
0167:004AFE51 MOV [ESI+1E],AX 《――――esi=800b0000,AX=004D
0167:004AFE55 JPE 004AFE5A
这中间有一段解码,不断写页面,
。。。当来到下面
0167:004B00BF INT3
0167:004B00C0 PUSHF
0167:004B00C1 JC 004B00CD
这时会通过int3进入Ring0.入口就在4dcca5处。进入Ring0后,会来到以下地方:
004DCFB9 XOR EAX,EAX
004DCFBB PUSHF
004DCFE8 MOV DR0,EAX
004DD018 MOV DR1,EAX
004DD048 MOV DR2,EAX
004DD050 MOV DR3,EAX
004DD06A MOV EAX,0155
004DD09C MOV DR7,EAX
004DD0D2 IRET 《――――从这里出来回到Ring3
出来后,会反复循环在Ring0和Ring3之间,不断解码写页面,最后好像是造成页面错误,产生异常又进入上面的异常处理例程中4dca77
回到正常例程后,还有一些异常处理,跟上面的差不多。最后来到这里:
0167:004D4F72 C3 RET
看看stack中,程序将会到00748f8f中,当到这里:
0167:0074930C 837A08FF CMP DWORD [EDX+08],BYTE -01 《――――edx=816477c8,此时可不能让[EDX+08]==-1
0167:00749310 9C PUSHF
0167:00749311 6A03 PUSH BYTE +03
0167:00749313 730B JNC 00749320
0167:0074933D 7563 JNZ 007493A2 《――――这里必须跳
之后会来到:
0167:007494A3 803E00 CMP BYTE [ESI],00 《――――注意这里
0167:007494A6 7403 JZ 007494AB
0167:007494A8 7501 JNZ 007494AB
在7494a3处,d esi,你会看到“\bw2k.\\.\SUPERBPM.\\.\ICEDUMP.\\.\TRW.\\.\TRWDEBUG.\\.\REGVXD.\\.\NTICE.\\.\SIWVID.\\.\SICE.\\.\FILEVXD”
在接下来的749449处,你千万不能跳的。
在接下去的代码中还有类似第一处的异常处理,很是麻烦的。需要耐心!当你来到74a56e处时:
0167:0074A56E 83F800 CMP EAX,BYTE +00
0167:0074A571 7403 JZ 0074A576
0167:0074A573 7501 JNZ 0074A576
这里以下的代码就是重定位、破坏import.
这些搞完后,还有一些异常处理,需要耐心啊。最后来到下面:
0167:0074BCC3 JMP EAX <----eax==4887ec
0167:0074BCC5 JC 0074BCCA
0167:0074BCC7 JNC 0074BCCA
0167:0074BCC9 JNZ 0074BD33
0167:0074BCCB CDQ
0167:0074BCCC ADD [EAX],EAX
呵呵。。总算到达oep了。
0167:004887EC 55 PUSH EBP
0167:004887ED 8BEC MOV EBP,ESP
0167:004887EF 83C4EC ADD ESP,BYTE -14
0167:004887F2 33C0 XOR EAX,EAX
0167:004887F4 8945F0 MOV [EBP-10],EAX
0167:004887F7 8945EC MOV [EBP-14],EAX
0167:004887FA B8CC854800 MOV EAX,004885CC
0167:004887FF E854D2F7FF CALL 00405A58
篇2:Boom for 2.0 测试版初体会
Boom 是一款音量提升应用,主要用来突破 Mac 电脑的音量上限,同时,它也可以通过内置的「均衡器」和其他技术,实现对 Mac 外放声效、内置音效、USB 外接播放器及耳机的自定义控制,间接地提升音乐播放的还原度,以满足不同偏好的用户需求,
在综合考虑了 1.x 版本的用户反馈后,开发商宣布,将陆续推出 Boom 2.0 的内测版本,并邀请相当数量的用户参与测试和问题反馈。出于对老牌 Volume App 的敬仰,笔者在收到通知邮件前着实期待了很久,在安装并使用 Boom 2.0 的过程中,这款实力强厚的音效增强插件也如意料之中,完全没有让我感到失望。所以,借此机会,笔者想通过分享自己的体验总结,让读者看看 Boom 2.0 有多么让人不负众望。
配置
首次打开 Boom 会经过一个识别过程,即应用会根据当前播放设备的型号和硬件环境,自动调节「均衡器」及 Boom 音量的参数设定,以达到理论上的最佳综合播放效果。不同的设备会直接导致不同的最终设置结果,而这项简单便捷的功能是 Boom 1.x 版本中没有的。
当 Boom 运行时,菜单栏中会出现 Boom 的音量控制图标,通过它,用户可以非常轻松地提高或减小 Boom 音效音量。与直接调节系统音量不同,Boom 音效可以更好地针对不同音量,调节参数的隐性变化,以保证在不同音量下,播放效果都能始终维持在最佳状态。
菜单栏控制上文说到,点击拓展菜单栏的 Boom 图标,就能调出音量控制的窗口,这个过程无需打开主程序,而且在 Boom 1.x 版本中就已经实现。而今,新的 Menubar Icon 可以实现更多的功能,我们只需右键,就可以开关「均衡器」,甚至还可以选择内置和自定义的「音效」,以及关闭 Boom。
热键
Boom 提供了一系列快捷键以实现不同功能的控制,其中包括:音量增加、音量减小等。如果你不满意默认的偏好设置,可以在相关界面中修改。当然,你也可以借助 BTT 之类的辅助工具创建对应的手势控制方式。
热键Boom 提供了一系列快捷键以实现不同功能的控制,其中包括:音量增加、音量减小等。如果你不满意默认的偏好设置,可以在相关界面中修改。当然,你也可以借助 BTT 之类的辅助工具创建对应的手势控制方式。
针对文件Boom 可以改进音效以提升在设备上播放时的最高音量,
导入语音及视频文件后,Boom 会进行针对性的改进,接着将处理后的效果应用在这些文件上,并分别保存,以方便用户同步在 iPod, iPhone, iPad, mp3 播放器, 手机和其他设备上播放,起到了类似于「后期音效调整」的作用。
文件被添加至列表后,Boom 会自动评估达到最佳状态,所需要的修改区间,用户能做的,就是拖动文件下方的滑块,以选择歌曲被修改前后的音效差异比例,如果用户选择自定义,那么该设置将覆盖推荐的配置。点击下方的「Customize 」按键,可以改变 Boosted 文件的后缀、保存位置,或添加至 Boom 播放列表等。 均衡器和预设音效Boom 的「自定义均衡器」功能可以用来提升 Mac 的外放质量,并直接应用于系统的整体播放效果,而不是应用程序本身。另外,均衡器自带了一些预设的常见音效,用户可以根据偏好自行选择,如果都不满意,也可以直接自定义。
点击「My Present 」后即出现整个音效菜单,该列表会优先显示最近选择的 5 个音效。回到均衡器主界面,当鼠标在各调节钮上移动时,会单独出现对应的小光点,它代表此时的焦点控制钮,用户可以直接对其进行修改;同时出现的还有标尺,以确保调节的精准度。 当你自定义了一套「均衡器」方案后,Boom 会提示你给它取一个全新的名字,输入完毕后,它会同其他内置音效一道,显示在「My Presents」列表中,只不过在通常情况下,它会显示在第一位置罢了。默认的取名格式为:My Present + (Num)。 小贴士当遇到 Boom 2.0 主界面一片「漆黑」的情况时,可能是由于开启了系统偏好设置-辅助功能-显示器-减少透明度选项,所以为了更清晰地显示用户界面,建议在调节的时候暂时将其取消勾选。
相信不少 Beta 用户都会对第一次开启时(自动配置)的背景音乐印象较深刻,但在 Boom 2.0 中,这段声音只能听一次,而且暂时没有找到重置 Boom 2.0 的选项,所以想要收藏的小伙伴可以在 Finder-Applications-Boom 2.0-右键-显示包内容-Contents-Resources 里找到,名字为 Calibrate Test Track.mp3。 小编总结以上是对 Boom 2.0 的体验总结,相信能给未参与内测的老用户,及从未接触过 Boom 的新用户,带来一些相对全面的介绍。最后,笔者衷心感谢 Boom 开发商能为 OS X 开发了如此优秀的音效辅助工具,为强大的 Mac 电脑推波助澜,更极致地发挥了一台设备的极限性能。
篇3:百度指数上线2.0测试版 新增人群分布等功能
10月13日消息,9月初曾局部改版测试的百度指数(index.baidu.com/),目前已上线新功能全面开放,新版突出相关词分布、地区分布、人群属性分布等功能,增加自定义丰富的高级搜索。同时细节改进也非常多,如即时生成“相关趋势”折线图。
“高级搜索”位于关键词右方,点击展开后可按照关键词、地区、时间进行对比展示,最多支持3个对比项目。右侧自定义区域,还提供对历史数据、地区数据的查询功能。
(自定义丰富的高级搜索)
(地区分布和人群属性分布)
百度指数,以百度网页搜索和百度新闻搜索为基础的免费海量数据分析服务,用以反映不同关键词在过去一段时间里的“用户关注度”和“媒体关注度”,
您可以发现、共享和挖掘互联网上最有价值的信息和资讯,直接、客观地反映社会热点、网民的兴趣和需求。
特色功能一览:
数据查询:查看关键词详细数据和曲线图。
比较检索:支持关键词,地区,时间对比。
新闻浏览:提供10条与关键词最相关的热门新闻。
相关词分布:查看相关检索词前十分布以及上升最快相关检索词前十分布。
地区分布:查看关键词搜索排名前十的省份和城市分布。
人群属性分布:查看关键词的性别比例、年龄分布、职业分布、学历分布。
百度指数:index.baidu.com/
★山中幻影
文档为doc格式