
安全
文章平均质量分 56
BetaBin
学
展开
-
SEH学习心得【1】
(近日遇到大量SEH问题,所以觉得有必要好好研究研究。)一、SEH的汇编实现从实践入手,汇编实现SEH其实不难。简单点如下指令:push offset_exception_function_addresspush fs:[0]mov fs:[0], esp二、SEH的简单理解SEH(Structured Exception Handling),是Windows下原创 2012-03-12 21:32:45 · 1838 阅读 · 0 评论 -
几个杀毒引擎介绍
(一整天都有点烦躁,失眠了,继续扩宽视野。)杀软的评测机构有哪些,有以下两个比较权威,VB100%和AV-C。http://www.virusbtn.com/indexhttp://www.av-comparatives.org/转载自:http://www.blogjava.net/cheneyfree/archive/2007/05/24/119680.html转载 2012-04-23 01:29:13 · 6775 阅读 · 0 评论 -
CrackMe破解【6】—— 入门级别
来源:http://download.youkuaiyun.com/detail/betabin/4263238特点:有小小的Anti-debug,貌似有SEH来anti,还有扫描了下所有进程。不过,貌似这作用不大……个人郁闷处:这里的MessageBoxA让我纠结了一下子。对第一个参数的理解不够透彻。MSDN(http://msdn.microsoft.com/en-us/library/windo原创 2012-04-28 11:00:19 · 1826 阅读 · 0 评论 -
OD2.01消息断点使用方法
前段时间用OD2.01,找不到消息断点功能,由于当初还未深入学习,所以就没有留意。前些天,Leyle不辞辛苦教导我,才发现如何另类实现这个消息断点功能。在此再次谢谢Leyle。简单点说,还是打开所谓的“窗口的窗口”,既是W。然后把,选中需要下消息断点的button设置条件断点。对,就是设置条件断点。然后输入下列条件:[ESP+8]==WM_LBUTTON即可。原理东西,这个,我暂时理解原创 2012-03-09 13:49:50 · 5279 阅读 · 0 评论 -
百度百科——病毒命名规则
/*资源来自百度百科:http://baike.baidu.com/view/920907.htm?fromTaglist*/一般格式 一般格式为:.. 。病毒前缀的含义 病毒前缀是指一个病毒的种类,他是用来区别病毒的种族分类的。不同的种类的病毒,其前缀也是不同的。比如常见的木马病毒的前缀 Trojan ,蠕虫病毒的前缀是 Worm 等等还有其他的。转载 2012-04-19 12:03:49 · 1532 阅读 · 0 评论 -
SEH学习心得【2】- 关于FS段寄存器
——————关于PEB结构在http://blog.youkuaiyun.com/betabin/article/details/7481949中列出。——————看SEH少不了FS段寄存器,关于其大概认识如下。在不同的地址空间,FS段寄存器指向不同的内存段。线程运行在RING0(既系统级别)下,FS段值是0x3B(XP下的值,在2000下是0x38)。运行在RING3(用户级别)下,FS段值原创 2012-03-13 19:44:00 · 2087 阅读 · 0 评论 -
看雪转载——OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
/*消息断点偶尔总是不如意,留档学习学习。*/标 题: 【原创】OllyDBG 入门系列(五)-消息断点及 RUN 跟踪作 者: CCDebuger时 间: 2006-02-19,16:02:46链 接: http://bbs.pediy.com/showthread.php?t=21532OllyDBG 入门系列(五)-消息断点及 RUN 跟踪作者:C转载 2012-05-04 11:39:41 · 1808 阅读 · 0 评论 -
分析学习【2】—— 隐藏初始化
在开始调用驱动杀杀软的时候,有如下代码。前面的GetInputState,然后再PostThreadMessageA还有PeekMessageA是用来隐藏初始化,后面的CreatEventA可以用来当做互斥变量。一、关于GetInputState、PostThreadMessageA还有PeekMessageA三个函数作用,GetInputState(http://msdn.microsoft原创 2012-04-20 08:23:04 · 1930 阅读 · 0 评论 -
分析学习【1】—— Anti-debug分析及Snapshot学习
学着分析一个老样本的时候,发现了这个段anti-debug函数,鉴于WinSDK掌握不足,所以就慢慢分析了下。概述:1、简单分析了这个anti-debug的流程;2、介绍下用到的Win函数,其中重点是如何获取运行中进程snapshot。一、这个anti-debug非常老,如今OD的一堆插件绝对可以秒杀掉。只是简单的调用了"IsDebuggerPresent"函数,判断父进程,还有遍历所有进原创 2012-04-19 16:49:47 · 2819 阅读 · 0 评论 -
API-HOOK and ANTI-API-HOOK For Ring3
/*看雪精华文章,http://bbs.pediy.com/showthread.php?t=37586。概括性介绍了API-HOOK的知识。*/标 题: 【原创】API-HOOK and ANTI-API-HOOK For Ring3作 者: Anskya时 间: 2007-01-07,20:56:49链 接: http://bbs.pediy.com/showt转载 2012-06-12 12:02:17 · 1943 阅读 · 0 评论 -
寻找真正的入口(OEP)--广义ESP定律
/*还没学习脱壳,但还是要接触ESP定律的。来自看雪可转载文章:http://www.pediy.com/kssd/pediy06/pediy6083.htm*/寻找真正的入口(OEP)--广义ESP定律作者:LenusFROM: poptown.gamewan.com/bbsE-MAIL:Lenus_M@163.com1.前言 在论坛上看到很转载 2012-06-12 20:37:56 · 1565 阅读 · 0 评论 -
《加密与解密》(第三版)【1】基础知识——小结
这章纯基础知识,四块内容:文本字符、Windows操作系统、保护模式和PE格式。文本字符是介绍了下ASCII和Unicode字符集,然后Windows操作系统介绍了下Windows下的一些常用API(后面逆向常会遇到,熟悉参数列表及函数功能)和术语(句柄)及消息机制等。保护模式和PE文件格式做了个粗略的介绍。一、文本字符首先,有大小端规则来说明多字节数据的存放顺序:Big-Endi原创 2012-08-15 20:10:00 · 2726 阅读 · 0 评论 -
栈溢出防御之——Windows安全机制GS编译选项
安全漏洞中有个重灾区:栈溢出。利用类似memset之类的字符串修改函数,输入超出正常长度的字符串,导致栈溢出,从而影响其它数据(返回地址、标志变量等)。维基百科给出的资料http://zh.wikipedia.org/wiki/%E5%A0%86%E6%A0%88%E6%BA%A2%E5%87%BA主要是函数无限调用导致的堆栈溢出,下面给出个0day2里面的例子温习下栈溢出:#includ原创 2012-10-14 15:26:10 · 8367 阅读 · 0 评论 -
再谈QQ史上最大的“后门”
“不知道为啥,貌似还可以类似的利用,局域网内嗅探出请求地址,然后貌似没IP限制……外网也OK”没找到出处,转载自:http://hi.baidu.com/reverseman/item/3b19c5d8bacaca3849e1dd3f1.腾讯单点登录中心的HOST是ptlogin2.qq.com,打开wireshark,设置一个filter, http.host==转载 2013-02-05 16:49:33 · 2623 阅读 · 0 评论 -
【转载】2010 BlackHat - 即时恶意软件分析和控制方案
转载自:http://www.leadfrenzy.net/comments.php?y=10&m=08&entry=entry100819-164418存档之用。其实我也觉得这个检测不足太多了,限制条件比较苛刻的感觉……############################原标题:Goodware drugs for malware: on-the-fly malware转载 2013-05-20 23:19:03 · 1460 阅读 · 0 评论 -
APK批量反编译到Java
在各种被恶心之后,又继续恶心这东西……实验需要将大量Android App Java源码分析,之前反编译出来的由于版本问题,导致不少错误,所以需要重修来批量反编译。用到的工具:dex2jar (Google code)顾名思义,可以将APK转为Jar包apktool (Google code)主要是解析APK里面各种资源,汉化组必备利器jd-core-java原创 2013-08-24 14:31:14 · 3289 阅读 · 1 评论 -
Python下pefile的使用
其实在pefile主页的Wiki上已经详细介绍了,https://code.google.com/p/pefile/wiki/UsageExamples#Listing_the_exported_symbols这里给出原创 2014-04-24 08:15:46 · 9406 阅读 · 0 评论 -
【读书小结】—— Kaspersky anti-virus engine technology
(对这曾被称为神一般的杀软有很大的好奇,无奈能力有限,暂时只能看官方文章了解下。)Kaspersky anti-virus engine technology(文章就不帖资源了,直接Google就能找到了)大致介绍了三大块内容:反病毒引擎的好坏判断、卡巴反病毒的主要技术、卡巴新版本引擎5.012的新技术。开头部分,大概介绍了下反病毒引擎,就是反病毒产品的核心,一个用来发现和处理恶意代码的模原创 2012-04-26 15:37:27 · 2310 阅读 · 0 评论 -
【知识扩充】—— 360QVM和金山的KSC引擎
360在很早前打出了‘四核’杀毒的口号,当时没注意,以为是速度上的优化。今天偶然发现资料,原来是指QVM人工智能杀毒引擎、360云查杀引擎、Bitdefender反病毒引擎(现在好像还有Avira的反病毒引擎)、系统文件智能修复引擎。后面三个大概算是能理解点点,不过QVM倒是没有听说过,遂翻阅资料。原来QVM早都有了,在360网站中只从其BBS中查到了资料http://bbs.360.cn/3原创 2012-04-13 17:24:14 · 2724 阅读 · 0 评论 -
IDAPython插件安装
1、机器上安装了Python,到Python的官网(http://www.python.org/getit/)下载一个2.6或者2.7的安装包。注意对应操作系统类型及位数。2、到googlecode上面(http://code.google.com/p/idapython/downloads/list)去下载相应版本的IDAPython。然后解压。注意IDA版本和Python版本都要和自己机器原创 2012-03-04 16:55:42 · 14848 阅读 · 0 评论 -
OllyDbg小知识【2】- 躲过程序的初始化Anti-Debug
这个比较简单,只要懂OllyDbg的都知道吧。就是用Attach。把要调试的程序单独运行了,然后打开OllyDbg→File→Attach,在弹出的窗口中选中刚刚开启的需要调试的程序,然后就OK咯。这样就躲过了一些在初始化的时候Anti-Debug的程序。我的CrackMe破解【2】(http://blog.youkuaiyun.com/betabin/article/details/7309929)原创 2012-03-01 16:10:59 · 1957 阅读 · 0 评论 -
CrackMe破解【1】菜鸟级别
CrackMe来源:http://download.youkuaiyun.com/detail/betabin/4100362CrackMe特点:无壳,无Anti-Debug……菜鸟级别。注册机代码如下:#include #include unsigned int memory_4050ac;unsigned int call_0040134a(){ unsigned int e原创 2012-02-29 23:58:41 · 1676 阅读 · 0 评论 -
QQ消息数据包规范
(未验证,仅作参考资料保存。)* 发送消息的包,格式为 * 1. 头部 7个字节(1. 包头标志,1字节,0x02,2. 客户端版本代码,2字节,3. 命令,2字 节,4. 包序号, 2字节) * 2. 发送者QQ号,4个字节 * 3. 接收者的QQ号,4个字节 * 4. 发送者QQ版本,2字节 * 5. 发送者QQ号,4字节* 6. 接收者QQ号,4个字节(奇怪,转载 2011-12-30 06:37:33 · 3526 阅读 · 0 评论 -
Windows提高进程权限至Debug
关于提权,需要了解知道下面三个函数吧,OpenProcessToken 得到进程的令牌句柄LookupPrivilegeValue 查询进程的权限AdjustTokenPrivileges 判断令牌权限在Windows下,每个进程不是说有管理员权限就可以为所欲为。因为每个进程还有个令牌,访问令牌吧。而令牌代表了一些权限使用,如果需要某些特殊权限,需要自己去使能或除能。原创 2012-03-26 06:36:34 · 9624 阅读 · 0 评论 -
OllyDbg小知识【3】 - 功能学习小结
学OD也有两周了,对一些功能有点学习小结。1、INT3断点其实,关于INT3断点了解不多,知道机器码为CC,也知道一般调试器断点是采用这种形式。对于OD来讲,就是这样的。所以,对OD的反调试,可以从函数入口地址的机器指令入手。比如如下代码:FARPROC;BYTE Mark = 0;(FARPROC&) Uaddr = GetProcAddressGetProcAddress原创 2012-03-15 23:39:15 · 1322 阅读 · 0 评论 -
Win32程序内部运行基本原理
/*很到位的一篇总结,所以忍不住就转载过来保存学习了。转载于:http://www.cnblogs.com/sqzxcv/archive/2009/11/28/1612439.html*/申明:本文是我看了孙鑫老师的VC++视频教程后的总结,相当于学习笔记吧,纯粹是为了方便自己。同时也希望能对大家学习vc++有所帮助。至于文中的内容如果有什么错误或不妥,欢迎转载 2012-03-13 19:12:02 · 1312 阅读 · 0 评论 -
windows核心编程--SEH(结构异常处理)
SEH 的工作原理。 Windows 程序设计中最重要的理念就是消息传递,事件驱动。当GUI应用程序触发一个消息时,系统将把该消息放入消息队列,然后去查找并调用窗体的消息处理函数(CALLBACK),传递的参数当然就是这个消息。我们同样可以把异常也当作是一种消息,应用程序发生异常时就触发了该消息并告知系统。系统接收后同样会找它的“回调函数”,也就是我们的异常处理例程。当然,如果转载 2012-03-09 13:29:19 · 1125 阅读 · 0 评论 -
漏洞学习【1】- 缓冲区溢出导致的危险
开始着手漏洞学习,发现了一个自己常犯的危险行为,用strcpy函数去拷贝没有先验证。看如下代码:#include #include void sayHello(char * str){ char buffer[8]; strcpy(buffer, str); printf("Hello %s\n", buffer);}int main(int argc, char*原创 2012-03-07 15:46:46 · 1239 阅读 · 0 评论 -
CrackMe破解【2】-菜鸟级别
CrackMe来源:http://download.youkuaiyun.com/detail/betabin/4103045CrackMe特点:Anti-Debug破解方法:静态分析,通过GetDlgItemText函数可以得到关键代码附近的代码,然后向上分析得到。有点需要注意的是,printf函数参数顺序eax和ecx不要搞反就没太大问题。至于如何Anti-Anti-Debug,我就直接把首行的跳原创 2012-03-01 15:50:12 · 1492 阅读 · 0 评论 -
OllyDbg小知识【1】修改代码后保存
1、选中需要修改的代码行2、Ctrl+E组合键修改代码(使用的是自动填充,delete和←键效果看不出,手动输入即可。)确定。3、选中修改的该行,Edit → copy to executable。4、之后会弹出个说明对话框,意思是叫你下次退出时记得保存才能修改。直接确定,然后再在窗口下右键,选中Save file。5、最后,另存为就OK咯。原创 2012-03-01 12:39:43 · 14065 阅读 · 1 评论 -
逆向分析技术学习小结
1、所有C/C++运行时的启动函数作用基本相同:检索指向新进程的命令行指针、检索指向新进程的环境变量指针、全局变量初始化、内存堆栈初始化等。当所有的初始化操作完成后,启动函数就调用应用程序的入口点函数。拿VC编译的程序来讲,有GetVersion(确定Windows系统版本)、GetCommondLineA(指向进程的完整命令行的指针)、GetStratupInfoA(获取进程的启动信息)、G原创 2012-03-21 08:49:47 · 1974 阅读 · 0 评论 -
QQ电脑管家查杀引擎及AV-C3月评测看法
国内的QQ电脑管家也更新到了6.9了,多引擎多核多芯查杀,貌似是国内的特殊情况。大概是因为没有自主研发的可靠的引擎吧。QQ管家一年前的4.6版本是和趋势合作的首个重量级版本,也是开始了多核吧。当时是双核。在5.0的时候出现四核了。现在这一新版口号是“4+1”芯引擎,4是QQ电脑的云查杀、金山毒霸、小红伞以及趋势科技的引擎支持;1则是新推出的因木马损害而造成的系统文件崩溃从而实现自主修复功能。原创 2012-04-23 01:59:19 · 3607 阅读 · 0 评论 -
【读书小结】—— 基于虚拟机的启发式扫描反病毒技术
既然谈得是虚拟机的启发式扫描反病毒技术,那么就该介绍下虚拟机、启发式扫描的概念。虚拟机(VM),在反病毒界被称为通用解密器。具体做法是:用程序代码虚拟一个CPU来,同样也虚拟CPU的各个寄存器,甚至将硬件端口也虚拟出来,用调试程序调入被调的样本,将每一条语句放到虚拟环境中执行,这样就可以通过内存和寄存器以及端口的变化来了解程序的执行。这样的一个虚拟环境就是一个虚拟机。虚拟机作为原操作系统下原创 2012-04-13 16:42:43 · 3250 阅读 · 0 评论