能力值:
( LV2,RANK:10 )
|
-
-
51 楼
谢谢楼主的辛苦工作!
另外问一下,我用OD调试qq2006稳定版(自动更新到最新sp)的时候,
用OD附加qq进程常常会导致OD出异常推出,显示异常出自odbgscript.dll
我没有细研究,使用原有的1.51版本和新的1.53版本都会出现这种问题。
如果楼主有空闲打算关注一下,我能提供当时的dmp文件
……我没有上传权限
……努力灌水!
|
能力值:
( LV2,RANK:10 )
|
-
-
52 楼
高手,顶一下.!!!下载下来试试
|
能力值:
( LV2,RANK:10 )
|
-
-
53 楼
我用OD调试qq2006稳定版(自动更新到最新sp)的时候,
用OD附加qq进程常常会导致OD出异常推出,显示异常出自odbgscript.dll
我没有细研究,使用原有的1.51版本和新的1.53版本都会出现这种问题。
大概看了一下,在ODBG_Pluginmainloop中
if(script_state == SS_RUNNING)
{
t_thread* t;
t = Findthread(Getcputhreadid()); //这里t返回了NULL,不知为何
CONTEXT context;
context.ContextFlags = CONTEXT_DEBUG_REGISTERS;
GetThreadContext(t->thread, &context); //违规访问,出异常
....
我在虚拟机里调qq时基本90%情况下都会出此异常,奇怪的是不在虚拟机中试了两次,没有出现
|
能力值:
( LV2,RANK:10 )
|
-
-
54 楼
在qq被附加时,OD检测到几个线程的启动和结束。
估计代码执行到了线程结束的瞬间,FindThread返回了NULL
|
能力值:
( LV9,RANK:410 )
|
-
-
55 楼
QQ 好像有防止HOOK以及线程检测,具体情况不清楚,可能是这些的问题。
|
能力值:
( LV6,RANK:90 )
|
-
-
56 楼
调试一游戏的时候发现1.53跟部分插件冲突,产生部分进程无法写入内存错误,没一个一个删除插件,一下子全部干掉了重新从插件区下载了最新插件,就解决了...
|
能力值:
( LV2,RANK:10 )
|
-
-
57 楼
新手收集工具ing~谢谢分享~
|
能力值:
( LV9,RANK:250 )
|
-
-
58 楼
强烈支持~!~!下了用用~!~!
|
能力值:
( LV2,RANK:10 )
|
-
-
59 楼
没有,在很多情况下是正常的,只是偶尔会碰到(用虚拟机调碰到的几率会高很多),但总是这个问题,odbgscript异常导致OD退出。
我怀疑是线程结束时的瞬间非原子访问的问题,因为qq启动和关闭线程的动作相当频繁,所以可能会出错的几率高一些,平时的软件不大碰得上吧。
不过我是新手加菜鸟,没有看过ollydbg的sdk。
建议楼主稍研究一下,也许不管3*7=21判断一下返回值再进行访问,至少不会让OD异常退出。
再次谢谢楼主的无私工作!
|
能力值:
( LV2,RANK:10 )
|
-
-
60 楼
ding 支持要了
|
能力值:
( LV2,RANK:10 )
|
-
-
61 楼
可以哦。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
62 楼
楼主请看,这是ollydbg sdk中FindThread函数的一段演示代码:
t_thread *pthread;
HANDLE hthread;
pthread=Findthread(threadid);
if (pthread!=NULL)
hthread=pthread->handle;
else
hthread=NULL;
可以看出Findthread是可能返回NULL的
|
能力值:
( LV2,RANK:10 )
|
-
-
63 楼
谢谢拉!``~~
非常不错
|
能力值:
( LV2,RANK:10 )
|
-
-
64 楼
1.6已经出来了,升级好快
|
能力值:
( LV9,RANK:410 )
|
-
-
65 楼
暂时不会出中文版本,作者最近升级太快,等待稳定版本后再进行升级。
|
能力值:
( LV2,RANK:10 )
|
-
-
66 楼
太好了,1.60版本中,此bug已解决。
现有代码屏蔽了ODBG_Pluginmainloop中的这一段:
else
if(script_state == SS_RUNNING)
{
t_thread* t;
t = Findthread(Getcputhreadid());
CONTEXT context;
context.ContextFlags = CONTEXT_DEBUG_REGISTERS;
GetThreadContext(t->thread, &context);
if(t->reg.ip == context.Dr0 || t->reg.ip == context.Dr1 || t->reg.ip == context.Dr2 || t->reg.ip == context.Dr3) {
ollylang->OnBreakpoint();
}
}
谢谢楼主,和OllyScript的原作者!
|
能力值:
( LV2,RANK:10 )
|
-
-
67 楼
收藏,谢谢楼主
|
能力值:
( LV2,RANK:10 )
|
-
-
68 楼
用不了,把这个DLL文件放到OD插件目录下,启动OD出错
|
能力值:
( LV2,RANK:10 )
|
-
-
69 楼
插件冲突,移除旧版的就行了。
|
能力值:
( LV12,RANK:980 )
|
-
-
70 楼
我用脚本查找CALL 1XXXXXX这类的指令时失去响应。脚本:
var sdk
mov addr,401000
continu:
add addr,1
findop addr,#E8#
mov tmp,$RESULT
add tmp,1
mov tmp,[tmp]
mov sdk,$RESULT
add sdk,tmp
cmp sdk,200000
ja continu
log $RESULT
cmp $RESULT,503000
ja over
jmp continu
over:
ret
不知为什么?
|
能力值:
( LV2,RANK:10 )
|
-
-
71 楼
好东西 谢了
|
能力值:
( LV2,RANK:10 )
|
-
-
72 楼
shuang shuang shuang
|
能力值:
( LV2,RANK:10 )
|
-
-
73 楼
好东西~~~谢谢`~~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
74 楼
因为我不懂,所以拼命学.谢谢
|
|
|