|
[原创]驱动加载工具(InstDrv - V1.3中文版)
只有对比使用过的人,才知道是否真的“不同”。 |
|
|
|
[求助]如何成为病毒分析师?
如何成为病毒分析师? 我在反病毒行业从业六年,时间不算太长,简单分享点经验吧,希望对门外的朋友有帮助。 病毒分析师的主要工作有:辨别一个文件是否为恶意程序、能够分析不同种类的恶意文件并编写分析报告、编写病毒查杀方案和专杀等、编写病毒的疫情报告和未来发展趋势等、提取特征码加库、协助开发人员优化和改进引擎等。 病毒分析入门需要多久呢? 在具有软件开发经验的前提下,如果只是想达到病毒分析的入门级别,我想半年的时间应该足够了。 推荐的学习方法? 在反病毒论坛里对照着评论看别人上传的系统扫描日志,这样可以对病毒都存在哪些恶意行为有个大概的了解; 在网上搜索别人写的分析报告进行学习,包括:行为特征报告、反汇编分析报告、清除方法报告等。 常用的分析工具? OD、IDA等。 推荐的教材? 汇编语言基础、加密解密等。 学习的循序渐进过程? 了解病毒行为特征,了解病毒的编写方法; 需要具有开发经验,了解各种编译器所生成程序的框架结构; 手工分析壳、脱壳,了解反调试反虚拟机的方法和躲避方法; 扩大范围到网络安全,需要会分析更多的恶意,如:可执行脚本、网页脚本、SQL注入、网站入侵、漏洞分析、Rootkit等。 个人见解,欢迎补充。 |
|
|
|
[原创]解决载入(打开)加壳程序后,OD关闭退出的问题
内部有反调试、反跟踪的代码。其中一个是检测OD调试器。 动态调试,找到指定位置后,去修改下判断就好了。 检测OD调试器的方法有很多,具体问题,具体分析吧。 |
|
[求助]用PEiD查无壳,但用OD调试直接OD关闭,到底有没有壳.郁闷,来求助了
网络上找了些资料,这个是VMP Anti...... |
|
[原创]解决载入(打开)加壳程序后,OD关闭退出的问题
您好,这个我就不清楚了,不好意思。 我是在本论坛帖子“http://bbs.pediy.com/showthread.php?p=593074&posted=1 ”中转过来的。 |
|
|
|
[讨论]我对 [扒掉Vmprotect的外衣~~!]此贴有质疑
呵呵,重新拷贝一个新的吗? |
|
[原创]解决载入(打开)加壳程序后,OD关闭退出的问题
客气,能够解决问题就好,呵呵! |
|
|
|
|
|
[求助]用PEiD查无壳,但用OD调试直接OD关闭,到底有没有壳.郁闷,来求助了
题目:解决载入(打开)加壳程序后,OD关闭退出的问题 编写:Coderui 邮箱:coderui@163.com 博客:http://hi.baidu.com/coderui 环境:Win XP-SP3,Ollydbg 1.10 cao_cong汉化第二版 关键字:脱壳;OD自动关闭;关闭OD;OD退出;载入后OD自动退出;打开后OD自动退出; 问题: 前不久好象出了一款新的虚拟机加密壳(不知道是什么名字,没见过),这个壳加密过的程序不能够使用OD直接打开调试。原因是在使用OD打开时(还没有开始调试的情况下),OD会马上关闭退出,并且不会出现任何异常提示。 解决: 昨天找了个时间研究了下这个加壳后的病毒程序样本(exe和dll版),通过多次尝试,发现了一个快速、简单的解决方法,在这里和大家分享下。 在使用OD调试样本前,我们需要先手动去修改一下这个PE程序“导出表”中的“函数名数目”值。方法:使用“LordPE”打开要编辑的PE程序,然后依次选择[目录]->[导出表对应的“..”按钮],把“函数名数目”的值减1,并点击“保存”按钮,这样就OK了。为了好看些,您也可以把“函数数目”和“函数名数目”的值都同时减1并保存,效果一样。EXE和DLL版的程序都可以使用上述方法去解决这个问题,经过测试方法有效。 解释: 一般情况下EXE不会加“导出表”,如果加了,就应该给出所导出的API函数。当我们打开加这个壳后的PE程序(EXE版)时,您会发现它存在“导出表”,但“导出表”中并没有导出的API函数。同时“函数数目”和“函数名数目”的值都比原PE程序设置的值大了1(如:EXE版“导出表”列表中显示了0个导出的API函数,壳将其“函数数目”和“函数名数目”的值都设置成了1;DLL版“导出表”列表中显示了0xD个导出的API函数,壳将其“函数数目”和“函数名数目”的值都设置成了0xE。)。所以我们将其减1,就OK了。被修改过的PE程序,可以正常运行,不会有任何影响。 现在使用OD打开那个被我们修改过的加壳程序,OD就不会自动关闭退出了。这个壳内部还有很多反调试手段,极难搞,呵呵! 壳检测出自己正在被调试时,会弹出如下提示信息(点“击确”定后退出): ------------------------------------------------------ C:\Documents and Settings\coderui\桌面\090316-A-0.exe --------------------------- A debugger has been found running in your system.Please, unload it from memory and restart your program. --------------------------- 确定 ------------------------------------------------------ 壳的入口代码如下(EXE版,第一个CALL进去以后,是一个向上的JMP。): 0044CB28 > 68 4EC42D0B PUSH 0B2DC44E 0044CB2D E8 E15E0000 CALL 090316-A.00452A13 0044CB32 68 4EE47306 PUSH 673E44E 0044CB37 E8 A75B0000 CALL 090316-A.004526E3 0044CB3C 60 PUSHAD 0044CB3D ^ 76 A6 JBE SHORT 090316-A.0044CAE5 0044CB3F 18E8 SBB AL,CH 0044CB41 A2 17000068 MOV BYTE PTR DS:[68000017],AL 0044CB46 4E DEC ESI 0044CB47 44 INC ESP 0044CB48 1E PUSH DS 0044CB49 04 E8 ADD AL,0E8 0044CB4B 14 4C ADC AL,4C 0044CB4D 0000 ADD BYTE PTR DS:[EAX],AL 0044CB4F 3F AAS 0044CB50 2F DAS 0044CB51 026CC7 04 ADD CH,BYTE PTR DS:[EDI+EAX*8+4] 0044CB55 24 7D AND AL,7D 0044CB57 7B 6E JPO SHORT 090316-A.0044CBC7 0044CB59 27 DAA 0044CB5A 01C7 ADD EDI,EAX 0044CB5C 83EC FC SUB ESP,-4 0044CB5F ^ 0F85 D5D9FDFF JNZ 090316-A.0042A53A 0044CB65 66:0FBAE0 0D BT AX,0D 0044CB6A 84F4 TEST AH,DH 0044CB6C 8B3C8F MOV EDI,DWORD PTR DS:[EDI+ECX*4] 0044CB6F 53 PUSH EBX 0044CB70 85FF TEST EDI,EDI 0044CB72 FF3424 PUSH DWORD PTR SS:[ESP] 0044CB75 E8 4CF0FFFF CALL 090316-A.0044BBC6 0044CB7A E9 7B200000 JMP 090316-A.0044EBFA 0044CB7F 68 4E844B03 PUSH 34B844E 0044CB84 E8 63320000 CALL 090316-A.0044FDEC 0044CB89 12B7 37873687 ADC DH,BYTE PTR DS:[EDI+87368737] 壳的入口代码如下(DLL,第一个CALL进去以后,是一个向上的JMP。): 009E602D > 68 96FA1F6F PUSH 6F1FFA96 009E6032 E8 A5200A00 CALL HookSys.00A880DC 009E6037 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[> 009E6039 60 PUSHAD 009E603A FF7424 10 PUSH DWORD PTR SS:[ESP+10] 009E603E 8B7424 30 MOV ESI,DWORD PTR SS:[ESP+30] 009E6042 66:C70424 0B41 MOV WORD PTR SS:[ESP],410B 009E6048 C70424 0395CB1B MOV DWORD PTR SS:[ESP],1BCB9503 009E604F C60424 65 MOV BYTE PTR SS:[ESP],65 009E6053 9C PUSHFD 009E6054 8D6424 38 LEA ESP,DWORD PTR SS:[ESP+38] 009E6058 ^ E9 D10DFFFF JMP HookSys.009D6E2E 009E605D 68 88FA8FFC PUSH FC8FFA88 009E6062 E8 31040A00 CALL HookSys.00A86498 009E6067 04 77 ADD AL,77 009E6069 1999 6897FA9F SBB DWORD PTR DS:[ECX+9FFA9768],EBX 009E606F 68 E85FFF09 PUSH 9FF5FE8 009E6074 00F2 ADD DL,DH 009E6076 6E OUTS DX,BYTE PTR ES:[EDI] ; I/O 命令 009E6077 93 XCHG EAX,EBX 009E6078 27 DAA 009E6079 68 9BFAAFCC PUSH CCAFFA9B 009E607E E8 51FF0900 CALL HookSys.00A85FD4 009E6083 D023 SHL BYTE PTR DS:[EBX],1 009E6085 B7 C2 MOV BH,0C2 009E6087 52 PUSH EDX 009E6088 68 EEF94FD9 PUSH D94FF9EE 009E608D E8 06040A00 CALL HookSys.00A86498 |
|
|
|
[求助]自校验的实现
这个64位系统应该是兼容的。 |
|
[求助]对程序进行内存镜像检验怎么实现?
把一些反调试和断点检测技术都加进去会更好点。同时,代码结构的复杂度也要提高些,这样可以增大代码的阅读难度。。 破解是肯定可以破解的,只要去细心的单步跟踪几遍就会有头绪的。 64位?我没研究过。你自己调一下就知道了。如果有差别的话,你在程序里自己判断下就OK了。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值