AIO OllyDBG Tools Pack
============================================
uploader : [belajar-cracking.blogspot]
============================================
All tools for ollyDBG v1.10 / v2.0. And ImmunityDBG. Contain plugins, script, patch, extra tools, utilities etc. I hope you like it…
Ollydbg/Immdbg Mem Viewer Source Code
开头先说句废话,有的时候软件更新后发现越更新越烂了,操,比如opera的这次更新。
这个东西是这篇文章中的源代码:http://www.h4ck.org.cn/2012/10/memviewer-1-0-for-ollydbg-v1-0-and-immunity-debugger-v1-8x/
代码地址:http://code.google.com/p/ollydbg-mem-viewer/
下载地址:http://code.google.com/p/ollydbg-mem-viewer/downloads/list
MemViewer 1.0 for OllyDbg v1.0 and Immunity Debugger v1.8x
这个插件的功能,就是创建额外的内存窗口,以便同时查看多个不同地区内存的数据。虽然strongod提供了几个不同的内存地址切换的功能,但是不是非常直观,对于数据的变化也不便于进行实时观察,效果就是上图看得到的这个样子(Immunity Debugger v1.8x)。
功能以及改变:
1.绿色区域是新创建的内存个窗口,这个是没有边界的,不能进行拖放或者设置大小的操作。
2.将左侧的内存窗口的滚动条移到了左边,以便于区分。
3.可以创建其他类型的内存窗口
Immunity Debugger 1.8x Wow64 Plugin v2.0.0.1
Immdbg的版本比较多,本来是想依靠版本号来进行区分的,但是发现得到的版本号都是110,这个版本号和Od1.1的版本号是一样的,后来想用CRC计算,但是这个方法就又麻烦了,于是想了一个灰常简单的办法,至于是什么就不说了。哈哈,说出来丢人,于是就兼容了一下1.8x版本,其实也就是1.83和1.85.上图是1.83的版本效果。
下图是1.83版本的效果:
如果有什么问题就吱一声吧,如果用的是1.7x版本的Immdbg,那么最简单的办法就是升级一下吧。说实话我也没有比较下每次升级都有什么区别,但是高版本的能用就用高版本的吧。
Immunity Debugger 1.83 SDK
虽然知道ImmDbg的调试器是从OD的源代码的基础上改进来的,SDK差别也不是很大,但是从网上找了一下却始终没有找到下载的地方。直到今天下载一个Imm插件的时候从源代码里找到了1.83的SDK,当然对于最新的ImmDbg这个sdk开发的插件也是可以用的。
其实整个SDk在OD的基础上对一些函数进行了封装,如是而已,那么如果有源代码将代码从OD迁徙到Imm还是比较容易的:
////////////////////////////////////////////////////////////////////////////////
//////////////////////////// IMPORTANT INFORMATION /////////////////////////////
// 1. Export all callback functions by name, NOT by ordinal!
// 2. Force 4 byte alignment of immDbg structures!
// 3. Set default char type to unsigned!
// 4. Read documentation!
#ifndef __PLUGIN_H__
#define __PLUGIN_H__
#pragma pack(push, 4) // Force 4 byte alignment of structures
#ifndef _CHAR_UNSIGNED // Verify that character is unsigned
#error Please set default char type to unsigned (option /J)
#endif
#define ODBG_Plugindata IMMDBG_Plugindata
#define ODBG_Plugininit IMMDBG_Plugininit
#define ODBG_Pluginmainloop IMMDBG_Pluginmainloop
#define ODBG_Pluginsaveudd IMMDBG_Pluginsaveudd
#define ODBG_Pluginuddrecord IMMDBG_Pluginuddrecord
#define ODBG_Pluginmenu IMMDBG_Pluginmenu
#define ODBG_Pluginaction IMMDBG_Pluginaction
#define ODBG_Pluginshortcut IMMDBG_Pluginshortcut
#define ODBG_Pluginreset IMMDBG_Pluginreset
#define ODBG_Pluginclose IMMDBG_Pluginclose
#define ODBG_Plugindestroy IMMDBG_Plugindestroy
#define ODBG_Paused IMMDBG_Paused
#define ODBG_Pausedex IMMDBG_Pausedex
#define ODBG_Plugincmd IMMDBG_Plugincmd
////////////////////////////////////////////////////////////////////////////////
mona for Immunity Debugger v1.8x
This is the Corelan Team project page for ‘mona’, a PyCommand for Immunity Debugger.
This PyCommand replaces pvefindaddr, which is no longer supported as of mid june 2011.The PyCommand has been tested on Immunity Debugger 1.83. Older versions of Immunity Debugger are not supported and may not work.
Hide Debugger for Immunity Debugger v1.8x
"""
(c) Mars Security. 2009-2012
Institute Of Information Serurity From Mars
Email:root@h4ck.ws
U{By obaby.}
"""
#sys.path.append("C:\\Program Files\\Immunity Inc\\Immunity Debugger\\Libs")
import immlib
import immutils
def main(args):
imm = immlib.Debugger()
#hide debugger by wipe the BeingDebugged flag in PEB struct.
imm.writeMemory (imm.getPEBAddress() + 0x2,"\x00")
#disable the process enume
process32first = imm.getAddress("kernel32.Process32FirstW")
process32next = imm.getAddress("kernel32.Process32NextW")
function_list = [process32first, process32next]
patch_bytes = imm.assemble("SUB EAX,EAX\nRET 8")
for address in function_list:
opcode = imm.disasmForward(address,nlines = 8)
#imm.writeMemory(opcode.address,patch_bytes)
return "[*] PEB BeingDebugged flag cleared ! Debugger Hided~!"
该脚本用于去掉基于IsDebugPresent函数的调试检测。将上面的内容保存为hidedbg.py放入immdbg的PyCommands目录下,然后在immdbg的命令窗口中执行即可。