windebug调试方法双机联调用什么线

约有10篇,以下是第1-10篇
如何使用Debugging Tools for Windows (windebug) Debugging Tools for Windows 是微软的一个蓝屏故障调试工具,可以方便地解 决蓝屏问题。 一般地,电脑上已经设置过保存故障转储文件,但是,某些GHOST 版的操作系统 关...
windebug常用命令 WinDebug 使用手记 1 关于源代码下不了断点, 有可能有如下原因: 源代码不是最新的, 源代码的版本与符号文件的版本不一致. 注意, 经常用.reload 来重新加载Symbol 文件. 这是用windbg 很容易犯的一...
?远程调试时,WinDBG 会缺省使用这个工作空间。
特定处理器的工作空间(processor-specific workspace),在进行内核调试时, 当WinDBG
与调试目标建立起联系,并知道对方的处理器类型后,WinDBG 会缺省使用其对 应处理
扩展命令。学习和灵活使用这些命令是学习WinDBG 的关键,也是难点。 上一章我们从设计的角度分析了WinDBG,本章将从使用(用户)的角度介绍WinDBG。我 们先介绍工作空间的概念和用法(第1 ),然后介绍命令的分类和不同...
如何使用Debugging Tools for Windows(简单的使用心得)分析蓝屏 windows 发生蓝屏时,如果系统属性有下图设置,windows 会自动生成minidump 文件,该文件记录蓝屏生成代码和导致蓝屏出现的进程,通过windebug 的软件来 ...
debugview使用技巧技巧,使用,帮助 Debugview使用技巧 用debugview,打开debugview,运行你的debug 版本程序,可以定位到源文件的某一行。 在vc 源码中需要输出的地方用OutputDebugString 就可以在这个工具中查看啦,对VC...
副本3、知识库使用(20),db2 选择要使用的副本,联想知识库,知识库,坦克世界知识库,知识库管理系统,读秀知识库,联想知识库网址,知识库系统,图灵机器人知识库 题干 答案 A D 在浏览文档时,按时间倒序排序 关于...
话:6 网址: 1 1 滴水双机VT 调试器软件 版本(V1.3)产品使用手册 昆山滴水信息技术有限公司 滴水双机VT 调试器使用教程 昆山滴水信息技术有限公司 地址:昆山市阳澄湖学院路88号电话:0512...
Debugview 使用方法 / QQ 业务乐园 Debugview是Sysinternals 公司出版的系列调试工具。运用debugview 可以程序可以轻 松定位到源文件的某一行,工具用户VC 调试代码十分有用,操作简单,能更加方...
于以上思想,本文以Visual C++ 6.0 编译环境和Windows DDK 驱动程序开 发包为开发工具,使用 WinDebug和OnllyDebug 对系统进行内核层的逆向分析, 对未文档化的内核部分进行深入了解,采用集成开发工具进行上层窗口应用...
&2008- Inc. All Rights Reserved 豆丁网
扫描下载APP
扫描关注豆丁网
微信号:doudingwang
随时赢取精美礼品关于使用WinDebug查看线程死锁问题,关于,使用,WinDebug,查看,线程,死锁,问题,联盟,_Windows系列_【联盟电脑】
您现在的位置: >
关于使用WinDebug查看线程死锁问题
最近项目接近尾声,不过项目到了测试的时候大问题来了,偶尔界面直接卡死以至于后续无法测试,初步怀疑是哪里死锁了,由于自己对WinDebug不是很熟悉,只知道WinDebug有查找内存泄露问题、线程死锁等相关功能,于是吩咐下面的人用winDebug去查找问题,索性网络资源比较多,通过一番调研找到了WInDebug死锁查找的解决方法,不过作为项目开发经理,遇到死锁的事应该能够在其他同时不能解决的时候也能提供相应的帮助是理所当然的,于是带着这种心态去学习了WinDebug查找死锁的方法,总结如下:死锁,成立的条件就是:(1)起码有两把锁以上,假如仅有两把锁,且为锁A和锁B;(2)线程1已经拿了一把锁A然后还想去拿锁B;线程2已经拿了一把锁B然后还想去拿锁A;(3)没有拿到另一把锁不强行释放自己获取的锁;于是,死锁来了~实现所有的实例:(1)初始化两把锁A和B,启动两个线程(可以一个主线程和一个子线程);(2)第一个线程已经拿了锁A,第二个线程已经拿了锁B,第一线程尝试去拿锁B,第二线程尝试去拿锁A;基于以上思想,我写了一个Demon,出现了死锁情况,然后使用WinDebug查找死锁情况,方法介绍如下:(1)启用应用程序的用户堆栈功能-我使用winDebug开始没有启用导致WinDebug绑定进程失败;方法使用WinDebug目录下的gflags.exe:打开命令行,进入WinDebug目录运行:gflag.exe /i 调试exe的全路径 +ust然后回车,ust 就是 user stack用户堆栈;(2)打开WinDebug然后选择File--Attach to Process 附加到需要调试的进程exe;如果需要查看所有线程堆栈那么在命令窗口输入:~*kv输出如下所有线程堆栈:此时能打开所有线程的堆栈,如果需要看某一线程的堆栈,则输入*1kv也就是打印线程1的堆栈;从所有线程的堆栈中我们可以看到各个线程的堆栈信息,如果此时有堆栈锁,一般都在栈顶会有API调用:ntdll!RtlpWaitOnCriticalSection,也就是找到所有的该API调用我们就可以找到对应的死锁线程信息;0 Id:
Suspend: 1 Teb: 7efdd000 UnfrozenChildEBP RetAddr Args to Child003eecd8 00 ntdll!ZwWaitForSingleObject+0x15 (FPO: [3,0,0])003eed3c 00
ntdll!RtlpWaitOnCriticalSection+0x13e (FPO: [Non-Fpo])003eed64 1cd80 c3c8e76a
ntdll!RtlEnterCriticalSection+0x150 (FPO: [Non-Fpo])003eee7c 011548ff 003ef808 003eeeb4 757d62fa LockDemon!CLockDemonDlg::OnInitDialog+0x179 (FPO: [Non-Fpo]) (CONV: thiscall) [e:/work/c++/test/lockdemon/lockdemon/lockdemondlg.cpp @ 122]003eee88 757d62fa 002d0 001d1b26 LockDemon!AfxDlgProc+0x3f (CONV: stdcall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/dlgcore.cpp @ 28]003eeeb4 757ff9df d0 USER32!InternalCallWinProc+0x23003eef30 757ff784 84 USER32!UserCallDlgProcCheckWow+0xd7 (FPO: [Non-Fpo])003eef80 757ff889 10 USER32!DefDlgProcWorker+0xb7 (FPO: [Non-Fpo])003eefa0 757d62fa 002d0 001d1b26 USER32!DefDlgProcW+0x29 (FPO: [Non-Fpo])003eefcc 757d6d3a d0 USER32!InternalCallWinProc+0x23003ef044 757e0d27 84 USER32!UserCallWinProcCheckWow+0x109 (FPO: [Non-Fpo])003ef07c 757e0d4d d0 USER32!CallWindowProcAorW+0xab (FPO: [Non-Fpo])003ef09c
d0 USER32!CallWindowProcW+0x1b (FPO: [Non-Fpo])003ef0c0 0115c5fd d1b26
LockDemon!CWnd::DefWindowProcW+0x34 (CONV: thiscall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/wincore.cpp @ 1043]003ef0dc ef808 003ef0f8
LockDemon!CWnd::Default+0x3d (CONV: thiscall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/wincore.cpp @ 274]003ef100
001d1b26 c8fb46 LockDemon!CDialog::HandleInitDialog+0xd5 (CONV: thiscall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/dlgcore.cpp @ 673]003ef250 b26
LockDemon!CWnd::OnWndMsg+0x835 (CONV: thiscall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/wincore.cpp @ 2018]003ef270 b26
LockDemon!CWnd::WindowProc+0x32 (CONV: thiscall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/wincore.cpp @ 1755]003ef2ec ef808 002d0 LockDemon!AfxCallWndProc+0xf0 (CONV: stdcall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/wincore.cpp @ 240]003ef30c 757d62fa 002d0 001d1b26 LockDemon!AfxWndProc+0xa6 (CONV: stdcall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/wincore.cpp @ 403]003ef338 757d6d3a d0 USER32!InternalCallWinProc+0x23003ef3b0 757d6de8 84 USER32!UserCallWinProcCheckWow+0x109 (FPO: [Non-Fpo])003ef40c 757d6e44 10 USER32!DispatchClientMessage+0xe0 (FPO: [Non-Fpo])003ef448 776e010a 003ef460 ef694 USER32!__fnDWORD+0x2b (FPO: [Non-Fpo])003ef45c 10 001d1b26 ntdll!KiUserCallbackDispatcher+0x2e (FPO: [0,0,0])WARNING: Frame IP not in any known module. Following frames may be wrong.003ef4c0 09a140 a140003ef594
USER32!InternalCreateDialog+0xb9f (FPO: [Non-Fpo])003ef5b8 757ec659 00ffdc8
USER32!CreateDialogIndirectParamAorW+0x33 (FPO: [Non-Fpo])003ef5d8 ffdc8
USER32!CreateDialogIndirectParamW+0x1b (FPO: [Non-Fpo])003ef6a0 3fdc8 f00000 LockDemon!CWnd::CreateDlgIndirect+0x263 (CONV: thiscall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/dlgcore.cpp @ 312]003ef714 0113da0d c3c8f1a6 00000 LockDemon!CDialog::DoModal+0x199 (CONV: thiscall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/dlgcore.cpp @ 576]003ef8b0 d9ee1 003ef8c0
LockDemon!CLockDemonApp::InitInstance+0xad (CONV: thiscall) [e:/work/c++/test/lockdemon/lockdemon/lockdemon.cpp @ 64]003ef8d4 f00
LockDemon!AfxWinMain+0x84 (CONV: stdcall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/winmain.cpp @ 37]003ef8ec 014c00 710b4 LockDemon!wWinMain+0x1a (CONV: stdcall) [f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/appmodul.cpp @ 34]003ef990 014c0e9f 003ef9a4 76e0336a 7efde000 LockDemon!__tmainCRTStartup+0x165 (CONV: cdecl) [f:/dd/vctools/crt_bld/self_x86/crt/src/crt0.c @ 263]003ef998 76e0336a 7efde000 003ef9e4
LockDemon!wWinMainCRTStartup+0xf (CONV: cdecl) [f:/dd/vctools/crt_bld/self_x86/crt/src/crt0.c @ 182]003ef9a4
7efde000 00000 kernel32!BaseThreadInitThunk+0xe (FPO: [Non-Fpo])003ef9e4 1a958 7efde000
ntdll!__RtlUserThreadStart+0x70 (FPO: [Non-Fpo])003ef9fc 1a958 7efde000
ntdll!_RtlUserThreadStart+0x1b (FPO: [Non-Fpo])1 Id:
Suspend: 1 Teb: 7efda000 UnfrozenChildEBP RetAddr Args to Child9714ab 00 ntdll!ZwWaitForSingleObject+0x15 (FPO: [3,0,0])0631fee8 76e04 ffffffff
KERNELBASE!WaitForSingleObjectEx+0x98 (FPO: [Non-Fpo])e04 ffffffff
kernel32!WaitForSingleObjectExImplementation+0x75 (FPO: [Non-Fpo])04 ffffffff 76e010ff kernel32!WaitForSingleObject+0x12 (FPO: [Non-Fpo])WARNING: Stack unwind information not available. Following frames may be wrong.db8 76edb8 CKSee+0x107b77db8 676a43ca
CKSee!Kinkoo_GetInterface+0x13aa0631ffac db8
ntdll!__RtlUserThreadStart+0x70 (FPO: [Non-Fpo])0631ffc4 db8
ntdll!_RtlUserThreadStart+0x1b (FPO: [Non-Fpo])2 Id:
Suspend: 1 Teb: 7efd7000 UnfrozenChildEBP RetAddr Args to Child064efbf4 00 ntdll!ZwWaitForSingleObject+0x15 (FPO: [3,0,0])064efc58 00
ntdll!RtlpWaitOnCriticalSection+0x13e (FPO: [Non-Fpo])064efc80 1cd68 00000 ntdll!RtlEnterCriticalSection+0x150 (FPO: [Non-Fpo])064efd58 014c22e3 003ef808 c5b8f482
LockDemon!MyFunc+0x48 (FPO: [Non-Fpo]) (CONV: stdcall) [e:/work/c++/test/lockdemon/lockdemon/lockdemondlg.cpp @ 79]064efd94 014c0 064efdac 76e0336a LockDemon!_callthreadstartex+0x53 (CONV: cdecl) [f:/dd/vctools/crt_bld/self_x86/crt/src/threadex.c @ 348]064efda0 76ea0 064efdec
LockDemon!_threadstartex+0xa4 (CONV: stdcall) [f:/dd/vctools/crt_bld/self_x86/crt/src/threadex.c @ 331]064efdac
000000 kernel32!BaseThreadInitThunk+0xe (FPO: [Non-Fpo])064efdec c21b0
ntdll!__RtlUserThreadStart+0x70 (FPO: [Non-Fpo])064efe04 c21b0
ntdll!_RtlUserThreadStart+0x1b (FPO: [Non-Fpo])# 3 Id: c Suspend: 1 Teb: 7ef9f000 UnfrozenChildEBP RetAddr Args to Child0580fcf8 db414e 00000 ntdll!DbgBreakPoint (FPO: [0,0,0])e00 092b2 ntdll!DbgUiRemoteBreakin+0x3c (FPO: [Non-Fpo])092b2 db0 kernel32!BaseThreadInitThunk+0xe (FPO: [Non-Fpo])fb5a 00000 ntdll!__RtlUserThreadStart+0x70 (FPO: [Non-Fpo])6fb5a 00000 ntdll!_RtlUserThreadStart+0x1b (FPO: [Non-Fpo])由此可以看出总共有0-3号4个线程,绿色的表示线程线程索引号,蓝色的表示线程的地址(c中11264位线程ID,1175c为线程地址),当然所有线程打印出来一个一个找锁不容易观察到死锁,为了能直接打印进程中线程之间的死锁,直接使用如下命令首先,查看进程中所有的锁,输入命令 : !locks,如下:0:003 !locks此时打印出进程中所有的锁信息:CritSec LockDemon!g_LockA+0 at 0161cd80WaiterWoken NoLockCount 1RecursionCount 1OwningThread 9238EntryCount 0ContentionCount 1*** LockedCritSec LockDemon!g_LockB+0 at 0161cd68WaiterWoken NoLockCount 1RecursionCount 1OwningThread 10f20EntryCount 0ContentionCount 1*** Locked第一把锁地址为0161cd80,LockCount表示占有该锁的数目,RecursionCount 表示拥有者线程进入该锁的次数(进入拿到锁后还可以进入多次),OwningThread 拥有者线程为9238,也就是说0161cd80锁被地址为9238线程占用,也就是线程索引号为2 ,线程ID为11264线程地址为9238 的线程已经拿了锁0161cd80,却在等待锁 0161cd68第二把锁地址为0161cd68,LockCount表示占有该锁的数目,RecursionCount 表示拥有者线程进入该锁的次数(进入拿到锁后还可以进入多次),OwningThread 拥有者线程为10f20,也就是说0161cd68锁被地址为10f20线程占用,也就是线程索引号为0 ,线程ID为11264线程地址为10f20的线程已经拿了锁0161cd68,却在等待锁 0161cd80这样死锁就这么被确定下来,线程0和线程2互锁!堆栈列信息解释如下:2 Id:
Suspend: 1 Teb: 7efd7000 UnfrozenChildEBP RetAddr Args to Child064efbf4 00 ntdll!ZwWaitForSingleObject+0x15 (FPO: [3,0,0])064efc58 00
ntdll!RtlpWaitOnCriticalSection+0x13e (FPO: [Non-Fpo])064efc80 1cd68 00000 ntdll!RtlEnterCriticalSection+0x150 (FPO: [Non-Fpo])064efd58 014c22e3 003ef808 c5b8f482
LockDemon!MyFunc+0x48 (FPO: [Non-Fpo]) (CONV: stdcall) [e:/work/c++/test/lockdemon/lockdemon/lockdemondlg.cpp @ 79]064efd94 014c0 064efdac 76e0336a LockDemon!_callthreadstartex+0x53 (CONV: cdecl) [f:/dd/vctools/crt_bld/self_x86/crt/src/threadex.c @ 348]064efda0 76ea0 064efdec
LockDemon!_threadstartex+0xa4 (CONV: stdcall) [f:/dd/vctools/crt_bld/self_x86/crt/src/threadex.c @ 331]064efdac
000000 kernel32!BaseThreadInitThunk+0xe (FPO: [Non-Fpo])064efdec c21b0
ntdll!__RtlUserThreadStart+0x70 (FPO: [Non-Fpo])064efe04 c21b0
ntdll!_RtlUserThreadStart+0x1b (FPO: [Non-Fpo])第三列也就是后面API的第一个参数,对于API 即RtlEnterCriticalSection的第一个参数也就是第三列就是锁的地址,也就是线程id为2(线程地址为0x9238)的线程在等锁0x0161cd68 联盟电脑
(责任编辑:联盟电脑)
更多相关资讯
那么很有可能就是就是我的电脑中的环境变量修改错误,又或者电脑中环境变量被来意修改造成的此类.....
【联盟电脑】部分内容自于互联网,其言论不代表本站观点,若本站侵犯到您的版权,请与站长联系,我们将在第一时间核实并删除!
版权所有 & 【联盟电脑】 | 专注分享有价值、实用的电脑技术和知识
Copyright &
All rights reserved. 京ICP备号二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(177)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'windebug双机调试的一些小问题',
blogAbstract:'根据vm的不同版本在调试的虚拟机中设置是不同的,有俩个版本:版本1:multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS=\"Microsoft Windows XP Professional\" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200版本2:multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS=\"Microsoft Windows XP Professional\" /noexecute=optin /fastdetect /debug /debugport=com_1 /baudrate=115200',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:9,
publishTime:5,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}调试逆向 【分享】滴水双机VT调试器升级版V1.2支持AMD 3000+以上即可安装 [文字模式]
- 第 2 页 - 看雪安全论坛
查看完整版本 : 调试逆向
foxabu给喜欢打狗的用得咯,反正被打得东西东扎都这个数字了。
其他调试,操作系统级别就好,毕竟找到离开操作系统的软件不容易。
当然LZ这东西本来就不是老百姓用得,弄在这里也不过适当宣传而已。 毕竟这不是搞CPU,内存,显卡,这些全民普及的硬件。 老百姓用用软件模拟就好,只要Intel愿意开放接口,成本下降也是可能的,比如ARM一类的CPU就可以用硬件调试和软件模拟嘛。偶外行,发点乱弹。
看看就是了,这东西也便不会成Bill Gates,变不会成微软,自然也变不成xBox.PlayStation。 可远观而不可亵玩。
做计算机行业就是好啊,物理成本不等于开发成本啊。膜拜Bill,膜拜陈天桥,膜拜各位软硬件牛。
smallpig这个东西能对付np这样的反调试系统?
lz应该做一个视频演示,再降低一点价格,估计可以卖掉一些
cntrump价格太恐怖了,支持的硬件平台不多呀。。。。。
wildox价格太恐怖了,支持的硬件平台不多呀。。。。。
DT-VTdebug 价格3000元/套,支持VT CPU型号有:AMD3000+以上基本全部支持,并且AMD以后新出的CPU将全部支持VT;Intel的VT CPU相对较少,以后新出的CPU仍将实行功能差别政策,VT CPU稍贵一些,只有少数型号支持。具体型号查询可登录。
smallpig楼主,给你一个建议
本论坛活跃的人物一般只关心单机调试,但是现在很多反调试的方法让单机调试变的比较麻烦,比如NP,所以从这个角度来说大家可以考虑双机调试。但前提是双机调试可以比较容易的对付反调试的手段,比如可以对付NP
所以说,楼主你应该搞一个双机调试NP的教程,这样相信买的人会不少
wildox楼主,给你一个建议
本论坛活跃的人物一般只关心单机调试,但是现在很多反调试的方法让单机调试变的比较麻烦,比如NP,所以从这个角度来说大家可以考虑双机调试。但前提是双机调试可以比较容易的对付反调试的手段,比如可以对付NP
所以说,楼主你应该搞一个双机调试NP的教程,这样相信买的人会不少
谢谢你的建议,双机VT调试器搞定NP是绝对没有问题的,如果有质疑,可以免费安装试用版。至于多数人关心单机调试器目前是事实,但是单机调试器固有的兼容问题无法解决,只能被迫放弃。当然调试正常程序用windebug和ollydebug就可以了,不必用其他的了。希望大家少些质疑,多些行动,是否真如所述,一试便知。当然,也许调试器领域太缺乏新鲜的感觉,故而我们搞了个VT试一试,毕竟还没有人这么做过,希望大家多提些意见,我们努力改进。也望大家多了解些VT,虚拟技术的前景不容置疑。
海风月影申请一下,能延长试用期多长时间?
wildox申请一下,能延长试用期多长时间?
看雪论坛专用试用版:试用期30天,前提是必须先把14天的试用版用过之后才能申请!还必须是看雪会员哦!;): 名额有限,欲试从速!
海风月影在哪里申请?本帖?
dsjHZAHfaf我拒绝使用这个垃圾.
xingbing不知道效果怎么样。
smallpig我拒绝使用这个垃圾.
哥们有点不厚道了,不论人家做的什么东西,和你有什么关系? 不用就不用,说人家是垃圾干什么? 无聊
海风月影开内核工具的时候sicore.sys蓝屏了。。。。
原来一次试用机会都不给啊。。。要申请的啊
不好玩不好玩
dsjHZAHfaf哈哈哈!哈哈哈!
最忌注册谢谢楼主!下载试用了!
jerrylhj俺恐怕玩不起这东东了
lxa狂顶一下再说,期待完整版的出现。。。。。。。。。。。。。。。。
ucantseeme听过
完全不知怎么回事
下一个当纪念
marshalx好东西,终于看到bin了
sungy这么厉害啊,就怕不会用
邹志勇不错的东西,感谢LZ的分享啊
loway注:DT-VTdebug需配合visual softice V3.2使用。
是不是说要会softice才能用呢?有配合od用的吗?
金刚小白菜看半天没看出来怎么用
runjin这个很不错的哦
cpuArt笔记本上好像没有1394 不能通过局域网通讯吗?
wxqthemes下了试用下看看
parmhan软件强大,太好了,谢谢你们所做的一起
boywhp争取早日加入二班!!!
wuwenyao应该不错,试试效果如何
cmdxhz还是习惯SOFTICE
swift越扯越离谱了。386的机器有PCI接口吗?您那里有386的样机吗?
我们的技术是一种区别于arium的新技术,只需要在主板上插一个PCI卡(我们的程序烧在PCI卡里面),通过这个PCI卡就可以调试了。通过端口连接另一台机子可做显示。只要有PCI插槽的主板都可以,所有386以上的CPU都支持,与操作系统无关。如果你感兴趣,可以进一步跟我们交流、合作,网站www.dtd...
海风月影惊现swift,膜拜一下
wildox滴水双机VT调试器V1.2两周公测小结:尚未发现无法调试的anti程序
在此,首先要感谢看雪对我们的大力支持,感谢朋友们对我们的鞭策和厚爱,希望大家一如既往的多提宝贵意见,我们将努力改进!
目前我们测试通过的带anti保护的游戏有:跑跑卡丁车、冒险岛、泡泡堂、伊苏战记、真三国无双、天子、武林外传、新飞飞、永恒之塔等。
DT-VTdebug&V1.2公测两周以来,已取得较为满意的效果,尚未发现无法调试的anti程序,证明这是一款功能足够强大的0环调试器。现将测试过程中遇见的问题和大家的建议做如下总结:
一、单机调试器和双机调试器的选择问题
&&大多数人都习惯使用单机调试器,多少对ollydebug、softice怀有强烈的忠诚感,可以理解。开始考虑做调试器时,我们同样是想做一款单机调试器的,但是最终我们选择了双机调试器。主要出于以下几点考虑:
1、兼容问题
&&由于我们要做的是0环调试器(三环调试器已经有ollydebug了,相信目前没人会考虑挑战它),不可避免的要涉及到许多兼容问题,诸如显卡、键盘、鼠标,还不知道将来会有多少冒出的新问题,这些令人头疼的问题让我们望而却步。
2、前车之鉴
&&Softice是一款伟大的调试器,但是2006年黯然退出了。为什么呢?虽然我们充满敬意,但是过于频繁的蓝屏是不会令我们满意的。
3、人力和财力
&&如果我们有足够的人力和财力,也许我们会考虑做单机调试器,满足单机朋友们的期望。但是,是以不惜人力和财力为前提的。遗憾的是我们目前并不具备这些条件。
二、安装问题
1、CPU的支持问题
&&DT-VTdebug&支持的CPU必须是VT&CPU,程序自带CPU检测功能。
&&Intel&CPU支持VT的型号繁杂,需要特别注意,选购前需要仔细核对。
&&AMD&CPU&3000+以上基本全部支持VT(闪龙系列除外),且以后新出的型号也基本全部支持VT。
2、VT模块如何打开问题
&&AMD&CPU的VT功能初始状态多数是打开的,只是发现个别机器的配置默认是关闭的,并且BIOS没有VT设置选项,此时需要下载新版BIOS,并刷新。
&&Intel&CPU的VT功能初始状态有的是关闭的,需要在BIOS设置中打开。打开VT功能切记:必须关闭电源后重启,如果不关闭电源,则修改的VT设置将无法生效。
3、DT-VTdebug&V1.2程序安装完成后,输入序列号并重启机器即可自动运行,无需再次运行,target端也不必做任何其他操作,只需启动被调试程序即可。调试操作和显示在host端完成。
4、操作系统的选择
&&支持Win/XP,建议最好不要用深度或者其他修改版操作系统,直接用微软没有修改的任一原版都行,以免出现不必要的错误。
特别提示:需严格按《用户必读》安装要求安装,不得任意改变设置。
三、连接问题
1、通讯端口的选择
&&DT-VTdebug&V1.2目前只支持串口和1394口。串口连接速度较慢,1394口连接速度较快。1394口需要注意接口标准,有4对4、4对6和6对6三种选择,选择其中任意一种都可以。调试时注意接口是否有松动,如果松动会造成数据传输较慢。
2、扩展卡的选择
&&目前许多机器都不带串口和1394口,需要购买扩展卡。台式机选配PCI卡,笔记本选配T型卡(T型卡直接插入读卡器接口即可)。注意:有的笔记本需要重新启动才能识别T型卡。扩展卡的价格一般都在几十元左右。
&&1394扩展卡的选择比较麻烦,现将各种1394扩展卡测试总结如下:
&&笔记本—笔记本:
a、笔记本1394&T&型卡不能做target端,只能做host端,且很稳定;
b、笔记本自带1394口做host端和target端都可以,但相互连接时不稳定;
建议配置:不带1394口笔记本配T型口做host端,自带1394口笔记本做target端;&&&&
&&笔记本—台式机:
a、笔记本做host端较为稳定,少数情况不支持,与台式机1394&PCI卡关系较大;
b、笔记本不带1394口,配置T型口做host端很稳定;
c、笔记本自带1394口最好不要配置T型口;
建议:没有自带1394口笔记本配置T口做host端,台式机配1394&PCI卡做target端;
&&台式机—台式机:
a、某些品牌PCI卡同一型号不能同时做target端和host端相互连接;
b、某些品牌PCI卡做target端很稳定,但不能做host端;
c、某些品牌PCI卡做host端很稳定,但不能做target端;
建议:选购多个品牌PCI卡多种组合方式连接。
特别提示:1394线质量会有问题,很不稳定,最好多买几根备用。
3、串口连接设置
&&target端需将“Startup”选项设置为“Automatic”,“Connections”选项设置为“Seril”。Host端通过“DEBUG-connect”菜单连接target端即可。
4、1394口连接设置
&&target端需将“Startup”选项设置为“Automatic”,“Connections”选项设置为“1394”。同时需要为target端任意配置一个IP地址(例如196.168.1.6)。Host端打开网上邻居属性,将“1394连接”配置一个和target端相同的IP地址段(例如196.168.1.9)。Host端通过“Target-Browse”菜单连接target端,或者直接点击工具栏连接图标(球状图标)连接。
5、为什么不支持网口
&&考虑现在网口的标准较多,我们暂时没有多余的精力逐一兼容,故而暂不支持,以后有足够的人力时再提供支持。
特别提示:1394线质量会有问题,很不稳定,最好多买几根备用。
四、调试问题
1、目前我们尚未发现无法调试的anti程序,如NP、themida加壳保护等,主要是各类游戏,如跑跑卡丁车、永恒之塔、伊苏站记、特种部队等。
2、调试出错的问题
&&目前调试过程中只发现一个问题,即有时无法显示调试信息,已查明是visual&softice的BUG,由于在下一个版本中我们将取代visual&softice的显示界面,故而此问题暂不予以解决。也有可能还有别的问题,应该多数出在visual&softice上。
3、调试技巧问题
&&DT-VTdebug&V1.2不是万能的,我们没有修改系统的INT01、INT03,所以可以避开anti检查,保证能够正常调试,无需我们再浪费精力,想方设法的绕开anti了。另外,调试过程中设置软件断点时还是需要插入CC,有可能被发现。当然如果用硬件调试器就不存在这样的问题了。除此之外,还望大家努力掌握调试的基础知识,提高自身的功力。看一下看雪的《加密与解密》一书会受益匪浅。如果以后我们有时间和精力也会发布一些调试方面的案例和技巧。
4、以后是否能被反调试程序发现
&&目前我们的唯一缺陷是使用visual&softice的界面,很快我们将去掉visual&softice的target端,完全使用自己的代码,从而保障程序不被发现。
5、关于被提取特征码的问题
&&许多朋友担心,如果一旦被提取特征码,将会被发现。由于我们使用的是VT技术,目前的检测手段对我们是无效的。至少我们可以保证,专用版不会被发现,通用版一两个月内不会被发现。退一步来说,即使万一被某种新技术检测到,我们只需稍作修改,及时升级即可,在疲劳战中我们也同样会处于上风的。
&&如果有怀疑的朋友可以更深入的了解VT技术的核心,只有真正了解了VT的精髓,才能知道它的强大。
&&结束语:难道我们要等到所有的0环调试器都消失的时候才愿意尝试吗?希望朋友们能多一些尝试,少一些抱怨,多一些进取,少一些怀旧,毕竟明天还要继续,新的技术在不断更新。
注:为了感谢看雪及其会员的支持,我们推出30天免费试用的看雪专版,欢迎大家试用。请跟贴,附上机器码和QQ、邮箱等联系方式,我们会将序列号及时发放。安装包见附件。
官方网址:.
fixfix可以调试自己不
现实太残酷,条件不许可!
望着好工具,只能叹下气!
jerrynpc附上机器码和QQ、邮箱等联系方式
option机器配置太低,二手的笔记本cpu:amd 2600+,台式机:赛扬900;业余玩家只能看看
dge膜拜楼上。。。
sudaxx太复杂了太费钱了. 我还是用用windbg算了...
小菜鸟一刚才看了下电脑太烂了
wildox附上机器码和QQ、邮箱等联系方式
请下载附件安装包后运行,将自动生成的机器码附上,谢谢!
himcrack测试的程序罗列 很有诱导性啊
真三是什么anti?
ccfer我要等到所有的3环调试器都消失的时候才愿意去尝试
wildox越扯越离谱了。386的机器有PCI接口吗?您那里有386的样机吗?
请注意,我们的硬件调试器程序可以支持386以上的CPU,并不是说CPU与主板的关系问题,386的机器有串口可以支持,为什么非要绑定PCI呢?BIOS芯片也可以嘛?其他的方案还有好多,你自己想吧!希望能讨论些有价值的技术问题,谢谢!
笑熬浆糊报告,已烧掉两张 1394 卡
flysky88不看好,把别人的软件改个名字拿出来卖有点不太厚道吧。
tjszlqq很强大,很了不起,希望楼主发财了,
aaa2520原来 论坛里面 发过的 sys 开头的那个 最后怎么样了 ?
mavermaver要求太高,忽悠的成分更高,不免费坚决不用。一旦支持VT技术的CPU普及起来,它也就站不住脚了。
关于VT的一篇报道原文如下:
Intel Virtualization Technology (VT) Explained
Author: Gabriel Torres
Type: Tutorials
Last Updated: December 16, 2005
Introduction
Intel has launched two Pentium 4 CPUs – 672 and 662 – supporting the new Intel Virtualization Technology (VT). Formerly known as Vanderpool, this technology enables a CPU to act as if it were several CPUs working in parallel, in order to enable several operating systems to run at the same time in the same machine. In this tutorial we will explain everything you need to know about this new technology.
Virtualization technology is nothing new. There is some software on the market that enables virtualization and probably VMware is the most famous one. With this technique, a single CPU can act if it were several CPUs running in parallel, allowing the system to run several operating systems at the same time.
You may confuse virtualization with multitasking or even with HyperThreading. On multitasking, there is a single operating system and several programs running in parallel.
On virtualization, you can have several operating systems running in parallel, each one with several programs running. Each operating system runs on a “virtual CPU” or “virtual machine”. And HyperThreading simulates two CPUs were there is just one physical CPU for balancing performance using SMP (Symmetric Multi Processing), and these two CPUs cannot be used separately.
Figure 1: Multitasking.
Figure 2: HyperThreading.
Figure 3: Virtualization.
Of course if a CPU has both HyperThreading and Virtualization Technology each virtual CPU will appear to the operating system as if two CPUs are available on the system for symmetric multiprocessing.
How It Works
Processors with Virtualization Technology have an extra instruction set called Virtual Machine Extensions or VMX. VMX brings 10 new virtualization-specific instructions to the CPU: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF and VMXON.
There are two modes to run under virtualization: root operation and non-root operation. Usually only the virtualization controlling software, called Virtual Machine Monitor (VMM), runs under root operation, while operating systems running on top of the virtual machines run under non-root operation. Software running on top of virtual machines is also called “guest software”.
To enter virtualization mode, the software should execute the VMXON instruction and then call the VMM software. Then VMM software can enter each virtual machine using the VMLAUNCH instruction, and exit it by using the VMRESUME. If VMM wants to shutdown and exit virtualization mode, it executes the VMXOFF instruction.
Figure 4: Virtualization technology operation.
Each guest shown on Figure 4 can be a different operating system, running its own software (even several programs at the same time as we have shown on Figure 3).
Conclusions
From Intel datasheet: “Intel Virtualization Technology requires a computer system with a processor, chipset, BIOS, Virtual Machine Monitor (VMM) and for some uses, certain platform software enabled for it. Functionality, performance or other benefit will vary depending on hardware and software configurations. Intel Virtualization Technology-enabled BIOS and VMM applications are currently in development.”
So far, VMware Workstation 5 (which costs between USD 189.00 and USD 199.00) and VMware Player (which is free but you need to have virtual machines images created with Workstation or
on /vmtn/vm/ you can find a lot of pre-build virtual machines for several different operating systems) support Intel’s Virtualization Technology.
It is not clear to us if Intel will release any VMM software on its own or if they will just wait for other vendor to change their virtualization software to support VT.
As for the BIOS, the solution is to wait for motherboard manufacturers to release VT-enabled BIOS (or at least certify that your current motherboard BIOS works fine with VT).
On the good side VT promises to have a better performance than VMWare, but we will have to wait until VT VMM software reaches the market to check if this is really true or it is just Intel propaganda.
If you pay close attention, Virtualization Technology uses the same idea of Virtual 8086 (V86) mode, which is available since 386’s. With V86 mode you can create several virtual 8086 machines to run DOS-based programs in parallel. With VT you can create several “complete” virtual machines to run full operating systems in parallel.
But if there are software like VMware that enables virtualization, why implement Virtualization Technology inside the CPU? The advantage is that CPUs with Virtualization Technology have some new instructions to control virtualization. With them, controlling software (called VMM, Virtual Machine Monitor) can be simpler, thus improving performance compared to software-only solutions.
swift看样子你那里应该是没有386的样机。386的主板上软驱,硬盘,串口,并口等都是没有的,每种接口都需要专用的接口卡,ISA总线的。后来才有一种“多功能卡”,集合软驱,IDE,两串一并这些常用的接口。另外386的BIOS是不可升级的,里面的空间很小,基本没有扩充的可能。
从你描述的分析,所谓的“硬件调试器”没有劫持被调试机的总线,实质上还是一种软调试技术。不劫持总线是不可能做出真正的硬件调试器的。硬件调试器的精髓功能,除了不被发现,任意下断(执行断,内存断,I/O断),还应该包括I/O事件记录/回放,状态任意回溯(时光倒流)。
虽然通过Intel VT技术(本人不了解AMD)完全可以做到设置任意多个执行断点,而且不在断点处写入0xCC,内存区域断点也可以设置任意多个,但是由于Intel VT技术并不严格符合波佩克与戈德堡虚拟化需求(Popek and Goldberg virtualization requirements),仔细钻研一下很容易发现突破口。你现在的调试器已经成功的绕过了themida这类猛壳,建议你改变一下经营范围,比如专门拆解猛壳,比起卖调试器获利要多很多,客服压力也小一些。毕竟你们的调试器的蓝本是DriverStudio 3.2的Visual Softice,就算日后把Host端换成自己写的界面,也难免没有侵权的部分,NuMega随时可以给你们发律师信。
另外,题外话,建议你把公司从昆山搬到广州、深圳之类的IT氛围浓厚的地方,那里嵌入式开发的项目多,你们能接的活也比较多,技术服务也方便。
请注意,我们的硬件调试器程序可以支持386以上的CPU,并不是说CPU与主板的关系问题,386的机器有串口可以支持,为什么非要绑定PCI呢?BIOS芯片也可以嘛?其他的方案还有好多,你自己想吧!希望能讨论些有价值的技术问题,谢谢!
ZenxisHK請問一下,這個雙機調試器是指要同時用兩部電腦連在一起debug一些軟件嗎?
還是只要求一臺用雙核心CPU的電腦,并且有VT技術的?
可以貼一些圖片解釋一下嗎?謝謝

我要回帖

更多关于 联鼎双机软件 的文章

 

随机推荐