
windows
eqera
6年软件开发经验,4年项目管理经验,2年移动开发经验,6年不算长也不算短,我的青春就这样给了中国的软件行业。
展开
-
逆向之汇编笔记
一. 通用寄存器数据寄存器 EAX, EBX, ECX, EDX (Data Register)数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。 32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。4个16位寄存器又可分割成8个独立的8位寄存器: AX可分为AH和AL. BX可分为转载 2020-12-30 13:45:03 · 837 阅读 · 0 评论 -
使用IDC分析加密代码
第一步:病毒的二进制映像被装载到IDA中,从程序的入口点开始很明显,在调用函数call命令里的地址,没什么意义,但它给了我们一个提示,它是加密代码的所在。第二步:我们生成一个IDC程序来模仿解密代码:static decrypt(from, size, key ) { auto i, x; // we define the variables转载 2012-11-29 11:14:43 · 2002 阅读 · 0 评论 -
用GDB调试程序
GDB概述 ———— GDB 是GNU 开源组织发布的一个强大的UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB 等IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现GDB 这个调试工具有比VC、BCB 的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB 主要帮忙你完成下面四个方面的功能:转载 2012-11-29 14:28:46 · 872 阅读 · 0 评论 -
Windows 调试工具入门-2-基本调试操作
一、 调试器命令窗口 1、 简介 使用Windows 调试工具进行调试,大部分和调试器之间的交互都是通过调试器命令窗口来进行的。命令的输入、输出都是在调试器命令窗口中显示出来。对WinDbg 来说,调试器命令窗口是名为”Command”的窗口;对于KD、CDB 和NTSD 来说,整个命令行窗口就是调试器命令窗口。这里主要介绍WinDbg 中的调试器命令窗口。转载 2012-11-29 18:00:31 · 1926 阅读 · 0 评论 -
使用IDA的通用解压插件
从4.9版开始,IDA就集成了Universal PE Unpacker通用解压插件,其源代码可以在IDA Pro SDK中找到。这个小教程将会演示如何使用这个插件,并简单介绍其内部工作原理一个压缩的应用程序下面是当我们执行这个可执行程序的运行结果:非常简单的程序,但是,如果我们使用IDA来打开它,会出现下面的警告提示:IDA检测到异常的输入段,并提示我们文件可能被压缩了…转载 2012-11-29 11:07:50 · 5119 阅读 · 0 评论 -
IDA PRO的流程图功能
从4.17版开始IDA PRO就提供了流程图功能,它使用了VCG图形库里面的WinGrah32工具。IDA PRO可以提供标准的GDL图形给WinGrah32来绘制流程图。流程图工具条如下所示。 下面我们来看一些流程图工具的一些具体使用方法。流程图通过流程图来分析一个功能函数,可以清晰的看出程序的流程结构,使得分析更清楚,更容易。使用FlowChart按钮,可以绘制流程图。转载 2012-11-29 11:42:18 · 37417 阅读 · 0 评论 -
使用WinDBG进行双机内核调试
由于我没有物理的两台机器,因此我这里使用虚拟机来进行讲解(虚拟机真是个好东西)。我将先讲述如何设置,然后以一个实例来讲述如何进行内核驱动的调试。Target环境:Virtual PC 2004、Win2000 sp 4 enHost环境:WinXP sp2, WinDBG 6.6.07.5, SUDT SerialNull 1.6 试用版一) 设置篇SUDT SerialN转载 2012-11-29 12:27:05 · 3231 阅读 · 0 评论 -
IDA 教程-隐藏 IDA 调试器
一个隐藏 IDA 调试器的小技巧 很多 IDA 使用者都向我索要一个可以隐藏调试器的插件或功能。事实上,有很多反调试的手段,而针对每一种反调试的手段都需要对应一种处理方法。我们先从一些简单的开始,我们的目的是让 IsDebuggerPresent 函数始终返回 0 值。 当一个调试器处于运行状态时,我们可以在反汇编窗口使用”go to the specified address”转载 2012-11-29 15:42:33 · 8242 阅读 · 1 评论 -
使用IDA的跟踪功能
一个小bug程序这个小程序只是简单的计算了一下一组数据(1,2,3,4,5)的平均值。这组数据被保存在两个数组里,一个是8bit的数值,一个是32bit数值表示。#include charchar_average(chararray[],intcount){int i;char average;average = 0;for (i =0; i ave转载 2012-11-29 11:31:36 · 23404 阅读 · 0 评论 -
使用WinDbg内核调试
WINDOWS调试工具很强大,但是学习使用它们并不容易。特别对于驱动开发者使用的WinDbg和KD这两个内核调试器(CDB和NTSD是用户态调试器)。本教程的目标是给予一个已经有其他调试工具使用经验的开发者足够信息,使其能通过参考WINDOWS调试工具的帮助文件进行内核调试。本文将假定开发者熟悉一般WINDOWS操作系统和进程的建立过程。本文的重点是集成内核模式和用户态模式的图形化调试转载 2012-11-29 12:11:43 · 13158 阅读 · 0 评论 -
IDA 教程-WINCE ARM 调试器入门教程
本教程将会展示我们如何对 Windows CE 设备的应用程序进行调试。示例文件可以从这里下载,这是一个 Windows CE 应用程序的示例,原型由 ljw004 创建(原始文件可在这里找到)。为了获得最好的反汇编效果,我们将输入文件拷贝到我们的 Windows 机器,并开始一个新的 PocketPC ARM Executable(File,New): 经过向导页面后,我转载 2012-11-29 15:25:02 · 2722 阅读 · 0 评论 -
IDA 教程-脚本化的调试器
从 2003 年开始,IDA PRO 开始支持调试器功能,这很好的弥补了静态分析的不足。但在很多情况下,它的功能仍然弱于动态分析。IDA PRO 的调试器目前支持 32 位和 64 位下MS Windows 可执行程序,它支持在 Windows,Linux,Mac OS x 下进行本地和远程调试。然而,因为调试器的 API 需要熟悉我们的 SDK 和使用基于事件的模型,这对我们有的用户转载 2012-11-29 15:27:58 · 5353 阅读 · 0 评论 -
使用IDA 进行远程调试
从4.8 版开始,IDA PRO 支持通过TCP/IP 网络对x86/AMD64 Windows PE 应用程序和Linux ELF 应用程序进行远程调试。所谓“远程调试”是指通过网络调试在另一个网络上的计算机运行的代码的过程: l 运行IDA PRO界面的计算机被称为“调试器客户端”。 l 运行被调试的应用程序的计算机被成为“调试器服务器 ”。 远程调试主要用于下面一些特殊转载 2012-11-29 15:50:06 · 18493 阅读 · 0 评论 -
使用IDA 分析高级数据结构
使用 IDA 反汇编时,一些数据和操作数的处理方式可能并不准确。IDA 允许我们手动去修改这些数据的类型和定义,我们甚至可以使用类似高级语言的数据结构。一个C 语言程序为了介绍IDA 的数据分析处理功能,我们先看一个C 语言编写的使用特殊数据类型和结构的小程序:#include #include // our structures // ==============转载 2012-11-29 17:06:26 · 21200 阅读 · 0 评论 -
Windows调试工具入门-3-WinDbg内核调试配置
内核调试主要用来调试驱动代码、分析内核结构等。 WinDbg通过两台电脑可以实现内核调试,其中一台电脑运行WinDbg,被称为主机;另外一台电脑运行被调试的程序或系统,被称为目标机。一般情况下两台电脑都是真实机器,这样调试最符合实际情况,两台电脑通过串口线、 1394线或USB对联线连接起来实现双机内核调试。如果没 有两台电脑,也可以用虚拟机来模拟目标机,主机上运行WinDbg ,虚拟转载 2012-11-30 11:54:01 · 5834 阅读 · 0 评论 -
brightcove视频流下载
目前下载brightcove上的视频没有什么比较智能化的工具,基本上都是使用rtmpdump这个东西把基于rtmp协议的视频流保存到本地,rtmpdump是夸平台的windows,linux,mac os 上面都是可以使用,在windows上有一个rtmpdump的前端gui工具rtmpdumphelper可以使用,不过本人用了一下无法狭在brightcove上面的视频,还是命令行搞定吧原创 2014-02-12 15:23:36 · 9323 阅读 · 1 评论 -
Windows调试工具入门 — 1
一、 引子Debugging Tools for Windows是微软发布的一套用于软件调试的工具包(后面如果没有指明,那么我会使用WinDbg来作为这一套调试工具的简称)。我第一次接触是在三年前的一个内核驱动项目,由于进行了IDT中键盘鼠标中断的Hook,使用Softice调试时造成会造成影响,只得使用WinDbg通过串口进行双机调试。自此之后这个Windows平台下最为强大的调试工具一直转载 2012-11-28 20:55:22 · 6582 阅读 · 0 评论 -
使用IDA的调试器
一个小bug程序这个小程序只是简单的计算了一下一组数据(1,2,3,4,5)的平均值。这组数据被保存在两个数组里,一个是8bit的数值,一个是32bit数值表示。#include charchar_average(chararray[],intcount){int i;char average;average = 0;for (i =0; i ave转载 2012-11-28 20:02:13 · 22298 阅读 · 0 评论 -
ODbgScript 入门系列(四) ODbgScript的 注意事项和使用技巧
ODbgScript还在不断的完善中,它是一个脚本解释器,那么它需要把用户的脚本命令一一解释出来并执行,你必须严格复合它的命令规范它才能解释你的命令.ODbgScript程序是这样定义的: 命令 目的操作数,源操作数 [,附加操作数] 命令:必须是ODbgScript能识别的命令,我前3章已经讲解了,不过今后命令不断的扩展中操作数:HEX :转载 2012-11-28 17:51:04 · 1844 阅读 · 0 评论 -
winsxs 那些事
1,如果你是安装了SP1的话,而且不用再还原到以前的版本,可以用下面的命令来删除安装时的备份文件。DISM /online /Cleanup-Image /SpSuperseded 2.如果你不用休眠这个功能的话可以用下面的命令关闭:powercfg -h off 3.如果winsxs还是很大的话,可以考虑把winsxs文件夹移动到其他盘 第一步:建立链接。先从官方下载原创 2012-02-03 10:06:36 · 2118 阅读 · 0 评论 -
函数调用方式
_stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。2、C调用约定(即用__cdecl关键字说明)按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于传送参数的内存栈是由调用者来维护的(正因为如此,实现可变参数的函数只能使用该调用转载 2012-07-04 08:25:52 · 665 阅读 · 0 评论 -
windows下编译cyrus-sasl
1.要编译cyrus-sasl需要去oracle网站下载berkeley-db并生成2,打开vs2005的命令提示窗口3.进入到cyrus-sasl目录4 nmake /f NTMakefile编译5 这里要注意如果你的berkeley-db没有在默认目录的话,一些默认的参数可以在win32目录下的common.mak文件中查看6.可以通过DB_INCLUDE DB_LIBP转载 2011-05-01 21:26:00 · 3174 阅读 · 0 评论 -
使用minGW+msys 编译ffmpeg 0.5
一.环境配置1.下载并安装 MinGW-5.1.4.exe (http://jaist.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.4.exe),安装时选中 g++, mingw make。建议安装到c:/mingw.2.下载并安装 MSYS-1.0.11-rc-1.exe (http://jaist.dl.sourceforge.net/转载 2011-05-01 21:24:00 · 1578 阅读 · 0 评论 -
radasm+nasm+emu8086环境搭建
RADASM默认使用的调试器OllyDBG无法正常调试这类应用程序。 NASM编译DOS应用程序成obj文件,这时需要下载一个链接程序。我使用masm6.15内的link.exe 来链接。 贴出RADASM的NASM配置文件nasm.ini的部分内容,如果你的NASM和emu8086的位置和我的不一样,可以自行修改。 好了,开始你的操作系统学习之路吧。 [Paths]转载 2011-05-01 21:22:00 · 2696 阅读 · 0 评论 -
windows下编译openssl
一、Windows下编译OpenSSL1.下载ActivePerl并安装2.下载OpenSSL并使用WinRAR解压缩3.使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式,进入到OpenSSL目录,执行下面的操作:(1)执行Configureperl configure VC-WIN32 //注意大小写(2)运行ms/do转载 2011-05-01 21:27:00 · 886 阅读 · 0 评论 -
OllyDBG 入门系列(一)-认识OllyDBG
一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:转载 2012-11-28 10:23:22 · 961 阅读 · 0 评论 -
OllyDBG 入门系列(二)-字串参考
上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的 crackmes.cjb.net 镜像打包中的 CFF Crackme #3,采用用户名/序列号保护方式。原版加了个 UPX 的壳。刚开始学破解先不涉及壳的问题,我们主要是熟悉用 OllyDBG 来破解的一般方法。我这里把壳脱掉来分析,附件是脱壳后的文件,直接就可以拿来用。先说一下一般软件破解的流程转载 2012-11-28 15:44:01 · 801 阅读 · 0 评论 -
OllyDBG 入门系列(三)-函数参考
现在进入第三篇,这一篇我们重点讲解怎样使用 OllyDBG 中的函数参考(即名称参考)功能。仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 CrackHead 的crackme。老规矩,先运行一下这个程序看看:呵,竟然没找到输入注册码的地方!别急,我们点一下程序上的那个菜单“Shit”(真是 Shit 啊,呵呵),在下拉菜单中选“Try It”,会来到如下界面我转载 2012-11-28 15:53:48 · 581 阅读 · 0 评论 -
OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
找了几十个不同语言编写的 crackme,发现只用消息断点的话有很多并不能真正到达我们要找的关键位置,想想还是把消息断点和 RUN 跟踪结合在一起讲,更有效一点。关于消息断点的更多内容大家可以参考 jingulong 兄的那篇《几种典型程序Button处理代码的定位》的文章,堪称经典之作。今天仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 cycle 的 crackme。按照惯转载 2012-11-28 16:41:04 · 1720 阅读 · 1 评论 -
OllyDBG 入门系列(七)-汇编功能
今天我们的目标程序是 MyUninstaller 1.34 版。这是一个非常小的程序卸载工具,VC6编写,大小只有61K。我拿到的这个是上次闪电狼兄弟给我的,附带在里面的简体中文语言文件是由六芒星制作的。这个程序有个毛病:就是在列出的可卸载程序上双击查看属性时,弹出的属性窗口的字体非常难看,应该就是系统字体(SYSTEM_FONT):我们今天的目标就是利用 OllyDBG 的汇编功能把上面转载 2012-11-28 16:54:41 · 867 阅读 · 0 评论 -
OllyDBG 入门系列(四)-内存断点
还记得上一篇《OllyDBG 入门系列(三)-函数参考》中的内容吗?在那篇文章中我们分析后发现一个 ESI 寄存器值不知是从什么地方产生的,要弄清这个问题必须要找到生成这个 ESI 值的计算部分。今天我们的任务就是使用 OllyDBG 的内存断点功能找到这个地方,搞清楚这个值是如何算出来的。这次分析的目标程序还是上一篇的那个 crackme,附件我就不再上传了,用上篇中的附件就可以了。下面我们开始转载 2012-11-28 16:03:10 · 3362 阅读 · 0 评论 -
ODbgScript 入门系列(一)-认识ODbgScript
一、ODbgScript 的介绍 调试程序,程序逆向工作,加密解密都存在大量的重复工作,ODbgScript就是一个让你从重复而又枯燥的劳动中解脱的一个工具.OllyScript是OLLYDBG的一个功能增强插件(Plugin),OllyScript使用的脚本语言是一个种类汇编的语言。你使用它来控制OLLYDBG和进行脚本运算. 它的内部机制是一种解释执行的方式,当然,大侠转载 2012-11-28 17:42:15 · 8437 阅读 · 0 评论 -
ODbgScript 入门系列(二) ODbgScript的命令
总观ODbgScript洋洋洒洒那么多脚本命令,其实它分成了6大类:1.变量和注释类和杂类 2.断点类 3.系统和操作类 4.流程控制类 5.计算和寄存器操作类 6.字符串操作和搜索和替换类 这里我就不那么具体的举例子了,因为那么多命令要是逐一图片讲解将成为天书了.而具体的例子将在后面的章节来论述.这里将论述的是思想.授人以渔是上策!文章不短,建议边听音乐边看(建议曲目转载 2012-11-28 17:47:49 · 1964 阅读 · 0 评论 -
ODbgScript 入门系列(三)ODbgScript的脚本命令(2)
4.流程控制类 我曾经教过一个小DD写脚本,他老是把OD的运行流程和ODbgScript的流程搞混淆了,这个概念要弄清除,作为新手常常弄不清这两个概念,而这两个概念是必须要弄明白的!要知道ODbgScript是一个脚本插件,它执行脚本的流程,靠脚本运行过程中各种返回值/计算值判断后,修改/控制/影响OD的流程.还是打个比方吧: ODbgScript是铁路传感/信转载 2012-11-28 17:50:31 · 1628 阅读 · 0 评论 -
调试windows内核
1.首先下载windbg这个工具包含在wdk可以到微软官方网站免费下载2 设置windows xp调试 打开系统安装盘,在文件夹选项中设置为显示所有文件,不隐藏系统保护的文件,然后就可以看到一个boot.ini文件 boot.ini 的文件内容一般如下 [boot loader]原创 2011-07-03 11:14:17 · 2607 阅读 · 0 评论