![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安全攻防
文章平均质量分 59
Matrix_Designer
专注: ArmLinux/.NET开发
展开
-
ProGuard 4.2 处理SSH项目源码
假设Java安装在C:\Program Files\Java,Tomcat安装在:D:\apache-tomcat-6.0.35,要处理的SSH项目部署在D:\apache-tomcat-6.0.35\webapps\MySSHWeb。首先解压ProGuard 4.2,得到其lib目录下的proguardgui.jar、proguard.jar和retrace.jar三个文件;在同一目录下建立脚本原创 2012-07-13 17:29:58 · 1260 阅读 · 0 评论 -
软件防破解
<br /><br /> 为了保证公司的软件能够防止别人破解,最近我在研究软件防破解。应该说学习软件防破解更合适点,呵呵。道高一尺,魔高一丈,没有所谓的绝对安全。因而只有采用多种技术防止软件被破解了。我想到的就是采用加壳防止软件静态分析,采用Hook API完成进程防杀,最后采用反调试技术防止软件被动态分析。<br /> 加壳技术我感觉已经比较成熟,现成的壳很多,有些也相当牛B。但是用别人的壳总是感觉没安全感,如果可以自己写一个壳那么自然就相当安全了,但是听好友的描述,这个似原创 2010-10-04 15:22:00 · 1291 阅读 · 0 评论 -
CApiHookHelp类
<br />牛人Jeffrey Richter写的Hook API工具类,我修正了少许BUG,在Windows XP/Visual Studio 2005环境下测试成功<br /><br />/******************************************************************************<br />Module: APIHook.h<br />Notices: Copyright (c) 2000 Jeffrey Richte原创 2010-10-04 15:20:00 · 686 阅读 · 0 评论 -
跨进程API Hook
原文在 http://www.pcdog.com/p/html/2004625/25620042911_1.htm<br />什么是“跨进程 API Hook”?<br />众所周知Windows应用程序的各种系统功能是通过调用API函数来实现。API Hook就是给系统的API附加上一段小程序,它能监视甚至控 <br />制应用程序对API函数的调用。所谓跨进程也就是让自己的程序来控制别人程序的API调用了。<br />API Hook 理论<br />通过对Win32转载 2010-10-03 08:59:00 · 677 阅读 · 0 评论 -
windbg符号表修复
<br /> <br />lkd> .sympath SRV*D:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols<br />Symbol search path is: SRV*D:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols<br />lkd> !sym noisy<br />noisy mode - symbol prompts on<br /转载 2010-10-04 15:28:00 · 1427 阅读 · 0 评论 -
Windows启动过程详解
<br />我们每天都在和Windows打交道,很多人可能每天都要面对多次Windows的启动过程,可是您知道在Windows的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文试图告诉您的。<br />本文的适用范围<br />随着技术的发展,我们能够见到的计算机硬件种类越来越多。以计算机上最重要的组件CPU来说,目前就有很多选择。当然,这里的选择并不是说AMD或者Intel这种产品品牌,而是指其内部转载 2010-10-04 15:26:00 · 558 阅读 · 0 评论 -
INT 10H功能介绍
<br />INT 10H 是由 BIOS 对屏幕及显示器所提供的服务程序,而后倚天公司针对倚天中文提供了许多服务程序,这些服务程序也加挂在 INT 10H 内。使用 INT 10H 中断服务程序时,先指定 AH 寄存器为下表编号其中之一,该编号表示欲调用的功用,而其他寄存器的详细说明,参考表后文字,当一切设定好之后再调用 INT 10H。底下是它们的说明:<br />AH 功 能 调用参数 返回参数 / 注释 <br />1 置光标类型 (CH)0―3 = 光标开始行<br />转载 2010-10-04 15:24:00 · 1275 阅读 · 0 评论 -
EndTask
<br />前些日子,写了个软件自保护的Demo,通过Hook OpenProcess,将试图获取PROCESS_TERMINATE标志的进程句柄过滤掉,这样可以达到间接拒绝TerminateProcess的效果。当然,代码和思路都是别人的,我只是整理了下,呵呵。这种方法只能对付进程管理器的结束进程,却无法解决结束任务。昨晚经好友指点,才知道原来结束任务是通过EndTask这个API调用实现的,小试牛刀,Hook掉这个API,成功解决!很是迷惑,这个微软既然有TerminateProcess了,为什么还原创 2010-10-04 15:21:00 · 1456 阅读 · 0 评论 -
堆栈执行代码格式
上周末看了段自杀代码,用堆栈实现的,仔细研读了大半天,不解。今天饭后,灵感突发,恍然大悟。堆栈执行代码格式如下: <br /><br />__asm <br />{<br /> push 第四个函数参数; <br /> push 第五个函数地址; <br /> push 第三个函数参数; <br /> push 第四个函数地址;<br /> push 第二个函数参数; <br /> push 第三个函数地址; <br /> push原创 2010-10-03 09:00:00 · 753 阅读 · 0 评论 -
封装的线程注入类
<br />不在江湖已许多年,今天偶然想起江湖事。以前有很多想法,最终由于种种原因都草草收尾。今天突然有了感觉,想起线程注入。奋笔疾书,写了一个不算太完美的类,完成了以前的一个夙愿,稍感欣慰。线程注入本人认为可以分成两步:第一步是代码和数据的注入,也可以看成是资源的注入;第二步是远程代码的唤醒。这个类主要是针对第一步做了封装。注入其他进程的代码要想成功运行,会受到不少限制,首先是所有的静态数据必须是事先注入好的,另外用到的函数也要是事先注入好的,还有就是API的入口地址问题。这些工作是十分繁杂的原创 2010-10-03 09:01:00 · 609 阅读 · 0 评论 -
windows 7 的 MBR 分析
<br /> <br /><br /><br />000001C0 21 /* 起始 sector 号 */<br />000001C1 00 /* 起始 cylinder 号 */<br />000001C2 07 /* 系统属性 ID 标记 <br /> 00h:未知操作系统 <br /> 01h:DOS FAT12(16位扇区转载 2010-10-04 15:25:00 · 1033 阅读 · 0 评论 -
寒江独钓-Windows内核安全编程总结
<br />内核编程工具集安装:<br />1:下载安装WDK<br />2:编写程序(DrvierEntry必选),编译<br />3:利用srvinstw.exe等工具安装服务,用net start启动服务<br />4:使用WinDbg,利用串口和虚拟机通信,将目标系统设置为调试模式启动,这样就可以调试系统了。需要设置WinDbg的内核符号表路径,这样可以实现源码级内核调试。<br /><br />特殊宏:<br />IN,OUT:输入输出<br />__in_bcoun原创 2010-10-04 15:27:00 · 1487 阅读 · 0 评论 -
XP安全设置
<br />1.查看本地共享资源 <br /><br /> 运行CMD输入net share,如果看到有异常的共享,那么应该关闭。但是有时你关闭共享下次开机的时候又出现了,那么你应该考虑一下,你的机器是否已经被黑客所控制了,或者中了病毒。 <br /><br /> 2.删除共享(每次输入一个) <br /><br /> net share admin$ /delete <br /> net share c$ /delete <br /> net share d$转载 2010-10-04 15:30:00 · 666 阅读 · 0 评论 -
Windows2003通过at+shutdown无法实现定时重启的解决方案
本人在Windows2003中通过at添加计划任务,然后企图通过执行shutdown -r -t 00重启计算机,失败。究其原因是所有的at计划都是由System账户执行的,而在Windows2003中此账户默认没有关闭系统的权限。解决方法自然就是为System账户添加关闭系统权限。通过控制面板->管理工具->本地安全策略,打开安全设置->本地策略->用户权限分配->关闭系统,点添加用户或组,将S原创 2012-03-22 16:12:09 · 1022 阅读 · 0 评论 -
Root联想手机A66t
前不久搞了个联想A66t手机,是移动充话费送的。用着还是不错的,就是Root起来有些麻烦。辗转反侧许久终于搞定。具体步骤如下:1:电脑上必须安装A66t的驱动。A66t的设置/开发下是没有开启 USB调试的选项的,因此只有通过联想自带的驱动完成。可以通过地址:http://download.csdn.net/detail/matrix_designer/4034447下载得到驱动,安装就可以了原创 2012-01-29 16:46:39 · 1357 阅读 · 0 评论 -
Vmware 8里运行冒险岛097——提取Vmware Tools源文件
冒险岛自从更新了097以后,在虚拟机里面运行基本上很难,很多以前能用的方法都用了,还是不行。当然网上牛人也多,搞定的也有,我就遇到一个,但是仔细一看却要通过淘宝给他钱买才行!对此我深恶痛绝,搞不清他破解这个Vmware的目的是什么,就是为了钱?如果不是你为什么收费?这不相当于为了免费上船,把别人的大船凿个窟窿,不让别人收费,自己却守着这个窟窿收费?这和偷盗有什么区别?我反对软件收费,崇尚自由软件,原创 2011-10-29 15:57:01 · 6479 阅读 · 1 评论 -
好杀软,引擎是关键
许多PC用户都在选择杀软上有很多疑惑:XX杀毒软件好么?占用资源高不高?杀毒速度快不快?等等。这些问题虽然出于不同的角度,其实这些问题都可以归结到一个问题上:它的杀毒引擎好不好? 杀毒软件与病毒之间永远是互相博弈的关系,这种情况已经持续了几十年。随着病毒不断的进化与增多,反病毒产品也变得更加丰富起来。以至于出现了现在群雄割据的局面,而每个杀软厂家之间的区别,就在于其杀毒软件所使用的杀毒引擎上。 一个好的杀毒引擎,需要具备判断病毒的能力、足够的病毒清理技术和环境恢复技术,否则就成了只能查出病毒而不能清除、或者转载 2011-05-31 17:30:00 · 541 阅读 · 0 评论 -
在同一地址空间里运行多个exe文件
在同一地址空间里运行多个exe文件是很多人梦寐以求的,我也想实现。最近查了点资料,虽然没有彻底实现,也学了点新知识。记录下来被网吧。 可以通过LoadLibrary将一个exe文件加载到当前进程地址空间中。但是对于dll文件系统会自动进行地址重定位,而对于exe文件则不做任何处理。因此需要解决的一个重要问题就是地址重定位。从所获资料中了解到,大体有两种方法。 一种是让内核将exe当做dll处理。系统对一个PE文件格式的识别是通过PE文件的PE头中的特征值实现的。此特征值是一个WORD,其原创 2011-05-08 14:41:00 · 806 阅读 · 0 评论 -
IntraView分析
公司最近装了IntraView,搞得大家心里比较憋气。这是一款监控软件,监视从计算机开机到关机用户的所有行为,包括进程(网页、QQ等等)的开闭信息、硬件(USB设备,打印机等)的使用信息,并且号称只要开启新窗体或者窗体的标题变化都会自动截屏,并且支持远程屏幕监控。自认为自己的工作品德一向不错,很少在工作时间浏览技术无关的网页,更不会看电影偷菜之类的了,聊天也很少。可是装了这个东西心里总感觉毛毛的,堵得慌。我们是谁——我们是程序员!我们崇尚的是什么,我们崇尚的是自由!干什么事都被监控能自由吗——当然不原创 2011-02-22 15:31:00 · 1282 阅读 · 0 评论 -
DOS中的特殊符号
<br /> 使用条件处理符号可以从单个命令行或脚本运行多个命令。通过条件处理符号运行多个命令时,条件处理符号右边的命令根据条件处理符号左边的命令结果来发挥作用。例如,只有在前一个命令失败的情况下,才可能需要运行一个新命令。或者,只有在前一个命令成功时才可能需要运行一个新命令。<br /> 可以使用下表列出的特殊字符来传递多个命令。<br /> 字符 语法 定义<br /> & [...] command1 & command原创 2010-10-04 15:23:00 · 794 阅读 · 0 评论 -
利用远程线程注入DLL
<br />CreateRemoteThread 和 LoadLibrary 技术:<br />通常,任何进程都可以通过LoadLibrary动态地加载DLL,但是我们如何强制一个外部进程调用该函数呢?答案是CreateRemoteThread。<br />让我们先来看看LoadLibrary和FreeLibrary的函数声明:<br />HINSTANCE LoadLibrary(<br />LPCTSTR lpLibFileName // address of filename of l转载 2010-10-04 15:19:00 · 880 阅读 · 0 评论 -
用自删除dll实现应用程序的安装/卸载代码
*摘要 <br /> 当我在编写“What To Do”程序(这是作者编写的一个应用程序,小巧玲珑,很实用——译者注)时,就想写一个自己的安装和卸载代码,主要目的是想随心所欲地控制整个安装/卸载过程中用户所看到的画面。本文我们就来讨论如何利用自删除的动态链接库(DLL)实现自删除的可执行程序,从而实现程序的安装/卸载。相信很多朋友在编写 Windows 程序时都想这么做,本文还将展示一些非常有用的相关技术,一定让你大开眼界...... <br /><br />*实现自删除卸载程序转载 2010-10-03 08:57:00 · 670 阅读 · 0 评论 -
浅析Windows NT/2000环境切换
本文假设您已经了解Windows NT/2000系统体系,对Windows NT/2000内部KPEB/KTEB等数据结构与内核工作方式已有一定的概念,对80x86保护模式,Intel/AT&T格式汇编语言有过学习,能熟练使用SoftICE for Windows NT,且曾经接触过Microsoft Visual Studio及其附带工具,翻阅过Linux内核代码,如果您对这些方面不甚了解,请自行参阅相关书籍。<br /> 环境切换(Context Switch)牵涉到很多方面转载 2010-10-03 08:55:00 · 893 阅读 · 0 评论 -
再谈进程与端口的映射
关于进程与端口映射的文章已经有很多了,我把我对fport的分析也写出来,让大家知道fport是如何工作的.<br />fport.exe是由foundstone team出品的免费软件,可以列出系统中所有开放的端口都是由那些进程打开的.而下<br />面所描述的方法是基于fport v1.33的,如果和你机器上的fport有出入,请检查fport版本.<br /><br /> 首先,它检测当前用户是否拥有管理员权限(通过读取当前进程的令牌可知当前用户是否具有管理权限,请参考<br转载 2010-09-27 09:44:00 · 567 阅读 · 0 评论 -
进程遍历,根据进程名关闭进程
以下程序可以实现每隔1秒遍历一次系统当前进程,关闭任务管理器和控制台进程。<br />编写/调试环境:visual c++ 6.0<br />#include <windows.h><br />#include <Tlhelp32.h><br />int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)<br />{<br />HANDLE Sn原创 2010-09-24 09:37:00 · 1916 阅读 · 0 评论 -
一个基于框架的蠕虫
这是笔者去年年底编写的一个用于测试网络健壮性和用户防毒意识的蠕虫,基于我前期编写的框架编写的。我设定它运行1个月,然后自杀瓦解,唯一的中毒特征就是每隔8分钟强行恢复桌面一次。当然,我没有添加任何破坏性代码,也没有添加任何木马性代码。我的目的只是测试,得到一份报告,没有其他恶意。测试结果也在我意料之中:局域网安全很差,用户的防范措施也很差。 <br />作者注:版权没有,随意修改。本框架仅供学习娱乐之用,勿做其他非法用途,否则责任自负! <br /><br />//rcdomn.h,系统总体规原创 2010-09-24 09:33:00 · 714 阅读 · 0 评论 -
全局变量重定位
对于寄生程序,全局变量重定位不可避免。下面代码实现了全局变量的重定位。 <br /><br />inline DWORD GetOffset()<br />{<br />DWORD dwGlobalOffset=0;<br />__asm<br />{<br />call OffsetLabel<br />OffsetLabel:<br />pop dwGlobalOffset<br />sub dwGlobalOffset,offset Of原创 2010-09-25 11:20:00 · 862 阅读 · 0 评论 -
说说汇编
<br />前些日子看了些汇编相关书籍,感觉汇编语言掌握的虽然不是很好,但是对汇编的看法有了很大的改变。可能因为有些应用软件开发经验,以前我总是觉得汇编这个东西迟早要淘汰,最多也就那也搞硬件接口的人还会啃这些历史遗留的产物。现在我则感觉,BASIC已经淘汰了,PASCAL已经淘汰,FROTRAN已经淘汰了,Delphi已经淘汰了,Power Builder已经淘汰了,以后C、C++、JAVA、C#等都有可能淘汰,然而汇编,永远不会淘汰。<br />呵呵,我这么说仅是我的个人观点,也许很多人持原创 2010-09-25 11:19:00 · 745 阅读 · 0 评论 -
EPO 技术
EPO是EntryPoint Obscuring技术的简写,意即入口模糊技术,该技术改变了传统的修改PE<br />头部的入口点,使其指向病毒代码入口而使病毒代码得以执行的典型方法。<br /><br /><br />.386<br />.modelflat, stdcall<br />optioncasemap:none<br />include useful.inc <br />PEGame SEGMENT <br />start:<br />@pushs原创 2010-09-26 11:17:00 · 662 阅读 · 0 评论 -
字符串加密算法
一个加密程序,实现将明文字符串加密成密文,加密算法为简单取反<br />如{"aaa","bbb"},加密后为{'/x9E','/x9E','/x9E','/xFF','/x9D','/x9D','/x9D','/xFF'}<br />#include <stdio.h><br />#include <windows.h><br />int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLi原创 2010-09-24 09:36:00 · 853 阅读 · 0 评论 -
U盘病毒查杀并打补丁
一个查杀U盘病毒并给每个磁盘打补丁的批处理,打过补丁后的磁盘(包括U盘、移动硬盘)可以避免感染绝大部分U盘病毒。下面给出程序代码:@echo offclscolor 0Decho.echo***************************************************************echo* *echo原创 2010-09-21 08:33:00 · 695 阅读 · 0 评论 -
一个病毒框架的源码
本程序由前期贴出的病毒改造而来,修正了前期病毒的BUG,提取其精华部分,实现了一个通过网络和U盘传播的蠕虫病毒框架。 <br />作者注:版权没有,随意修改。本框架仅供学习娱乐之用,勿做其他非法用途,否则责任自负! <br /><br />//frame.h,系统总体规划 <br />#if !defined(_IHATEBUGGING) <br />#define _IHATEBUGGING <br />#include <io.h> <br />#include原创 2010-09-21 08:32:00 · 946 阅读 · 0 评论 -
一个恶意程序
本人最近学习网络安全,突发灵感,写了兼有病毒、木马、蠕虫于特点的东东。现在贴出来,仅供学习娱乐,勿做他用,否则责任自负。<br />编译环境:vc++32位应用程序。源文件有system.h、init.cpp、system.cpp三个。先分别给出代码。<br />//system.h,系统总体规划<br />#if !defined(_IHATEBUGGING)<br />#define _IHATEBUGGING<br />#include <io.h><br />#inc原创 2010-09-21 08:31:00 · 846 阅读 · 0 评论 -
文件感染模型
文件感染类病毒的一个很重要的任务就是搜索全盘,找到需要感染的文件然后感染它.感染的速度越快,资源占用率越低,病毒的繁殖能力则越强,清除的难度也就越大. <br />大部分病毒都是采用递归扫描方式扫描全盘,一旦扫描到可以感染的文件就立即感染.但是这样一方面效率会由于递归而大大折扣,另一方面会出现资源占用率不均衡现象.例如有的文件夹里可能都是一些文档,不需要感染,此时可能病毒比较空闲,占用系统资源比较少;但是有的文件夹可能都是PE文件,这时病毒的资源占用率就会很大.还有一个问题,就是递归扫描很难原创 2010-09-24 09:35:00 · 655 阅读 · 0 评论 -
窗口遍历,关闭包含指定字符串的窗口
下面函数每隔1秒遍历一次系统窗口,发现包含指定字符串的窗口就关闭(关闭的只是此窗口,而不是进程,在多窗口进程如IE、资源管理器等进程中很管用)<br />编写/调试环境:VC++ 6.0<br />#include <windows.h><br />#include <Tlhelp32.h><br />int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdSho原创 2010-09-25 11:18:00 · 757 阅读 · 0 评论 -
线程注入
<br />转载URL:http://www.cnblogs.com/ciey/archive/2009/03/22/1419242.html<br /><br />先解释一下远程进程,其实就是要植入你的代码的进程,相对于你的工作进程(如果叫本地进程的话)它就叫远程进程,可理解为宿主。 <br /><br />首先介绍一下我们的主要工具CreateRemoteThread,这里先将函数原型简单介绍以下。 <br /><br />CreateRemoteThread可将线程创建在远程进程中转载 2010-09-25 11:19:00 · 580 阅读 · 1 评论 -
数据恢复(1)
<br />数据恢复一直以来都是我们关注的问题,因为你的电脑数据每天都在受着诸如病毒、恶意代码、黑客、误操作等的威胁!那么如何才能恢复你的数据呢?希望本文能对你有所帮助! <br />一、理论篇<br />要深入学习数据恢复,并非是一件容易的事,要想成为一个数据恢复专家,没有深厚的理论知识是不可能的,你必须了十分了解磁盘的逻辑结构,就让我们来看看需要学习的理论知识吧。 <br />当我们对文件进行访问时,你有没有想过,操作系统是如何对文件进行操作的呢?这些文件又是如何存放在磁盘当中的呢?转载 2010-09-27 09:43:00 · 654 阅读 · 0 评论 -
再谈进程与端口的映射之续篇
拜读了ILSY 的大作《再谈进程与端口的映射》后,觉得很不错,用vc在电脑上调试,发现有些地方能取得信息 有些地方不能<br />更加怪的是,我的win2k上本来可以取得的,后来居然不行了。<br />而active ports却是那样稳定,有鬼不成 靠 ,偶不信<br />搬出OllyDdg经过调试对照发现,程序不能正常显示就是函数的OpenPhysicalMemory导致不能取得信息<br />下面是active ports的OpenPhysicalMemory反汇编部分转载 2010-09-27 09:45:00 · 554 阅读 · 0 评论 -
小议Windows NT/2000分页机制
内存管理是操作系统最重要的一部 分,其决定了操作系统的性能。Intel X86采用分段、分页的内存机制,Windows NT/2000充分利用了此项先进的机制。段内IA-32体系使用页目录(Page Directory)与页表(Page Table,SoftICE中Page命令可以显示出页目录与页表等)形成对4G地址的寻址能力。文中未特别说明,均讨论运行平台为Intel 32位处理器的Windows NT/2000,所提及的Windows也仅指Windows NT/2000。Window转载 2010-09-27 09:45:00 · 934 阅读 · 0 评论 -
数据恢复(2)
<br />二、手工恢复篇<br />学习了有关的理论知识之后我想你一定和我现在一样头晕眼花了,如果你已经掌握了相关理论,就该和我一起来实战数据恢复了。 <br />(一)重建硬盘分区表 <br />总有些这样的时候,你的系统不能够引导了,你连忙用软区引导,键入C:/,电脑却无情的告诉你“Invalid drive specification”,打开FDISK你发现你的分区表项已经全部消失,你几乎要哭了,你在想这一切是病毒、无聊的骇客还是自己的误操作造成的,但是不管此时你在想什么,都没什转载 2010-09-27 09:43:00 · 670 阅读 · 0 评论