|
|
|
论坛里99%人都忽略的菜鸟问题-----imul指令
LS你贴的代码和你的反汇编是不符合的! |
|
论坛里99%人都忽略的菜鸟问题-----imul指令
我觉得意义很大,一位要逆向遇到这样的问题都是用内联汇编完成的,难道就不能用等价的C代替? 其实用内联汇编很好,但是就是想知道它在C下的代码是怎么样的! |
|
[求助]OD附加程序没有问题,但是不能下断
一样不行!现在解决了,不过是通过OD运行的,所有的CALL我都F7进去,然后就可以调试了。 |
|
[求助]一个游戏加了不管用CE还是OD都要下断就会挂掉。有办法解决吗?
我也遇到了,不过我得CE能够调试不过OD不行,CE有个驱动,是挂钩INT1的 |
|
[求助]通过INLINEHOOK恢复IDT表导致蓝屏(现在能写了不过本世纪最奇怪的就是这个代码了)
VXK老大你给我的获取时钟的代码,很蓝! |
|
[求助]通过INLINEHOOK恢复IDT表导致蓝屏(现在能写了不过本世纪最奇怪的就是这个代码了)
做人要厚道,我已经 知道了他重启的原因,特来告诉CVCVXK, 顺便膜拜下CVCVXK大牛! 感谢CVCVXK大牛长时间的指导! 重启的原因是R3中的程序调用自己的中断,检测,如果被XXX了就重启了。 特想要CVCVXK大牛说的Ring3的Timer,俄鬼子的我不会看! |
|
[分享]我做的挂机锁、防止关机(开源)
竟然有毒!!!!!!!!!!!!!!!!!!!!!! |
|
[求助]通过INLINEHOOK恢复IDT表导致蓝屏(现在能写了不过本世纪最奇怪的就是这个代码了)
今天逆了下IoInitializeTimer ,IoStartTimer,IoStopTimer发现他们和驱动设备有关,然后读取驱动设备的Timer,发现没有I0定时器。 不知道检测IO定时器这样做行了没? 接下来到DPC定时器了,最后才到KEWAITXXX,KEDELAYXXXX 我想可能就如cvcvxk说的那样是用KEWAITXXX,或者KEDELAYXXXX来等待了。 自动关机的周期是2分钟左右不知道最有可能是是哪个方法。 CVCVXK你上面获得的是I0定时器的LIST_ENTRY吗? 你看看,这里我想直接读取应该是可以的 nt!IoInitializeTimer+0x40: 805bd9de 8b450c mov eax,[ebp+0xc] 805bd9e1 89420c mov [edx+0xc],eax 805bd9e4 8b4510 mov eax,[ebp+0x10] 805bd9e7 894210 mov [edx+0x10],eax 805bd9ea 68a42e5580 push 0x80552ea4 805bd9ef 83c204 add edx,0x4 805bd9f2 b9e0995580 mov ecx,0x805599e0 //这里就是链表的头 805bd9f7 e83864f2ff call nt!ExfInterlockedInsertTailList (804e3e34) 只要读取了链表头然后遍历就好了。 不知道我说得对不对 |
|
[求助]通过INLINEHOOK恢复IDT表导致蓝屏(现在能写了不过本世纪最奇怪的就是这个代码了)
还是说下我HOOK KeInitializeDpc遇到的问题吧,这个问题应该是个编程为问题,如果大家遇到过可能就可以给我答案了。 处理函数是这样的 VOID __stdcall MyKeInitializeDpc ( PRKDPC Dpc, PKDEFERRED_ROUTINE DeferredRoutine, PVOID DeferredContext ) { 如果注释掉下面IF语句那么,驱动可以安全运行, 如果使用这两个判断语句一运行驱动就直接蓝了; GetModuleBase函数应该没有问题,因为我在HOOK PsCreateSystemThread的时候也用这个函数 没有任何问题。 所以我也不知道哪里出错了! if(STATUS_SUCCESS == GetModuleBase("XXXX.sys")) { if(g_ModuleBase.Base<(ULONG)DeferredRoutine && (ULONG)DeferredRoutine<g_ModuleBase.End) DbgPrint("定时函数地址:%08x\n",DeferredRoutine); } (unsigned long)Dpc->Lock &= 0; Dpc->DeferredRoutine= DeferredRoutine; Dpc->DeferredContext = DeferredContext; Dpc->Type = 0x13; Dpc->Number = 0x0; Dpc->Importance = 0x1; } |
|
[求助]通过INLINEHOOK恢复IDT表导致蓝屏(现在能写了不过本世纪最奇怪的就是这个代码了)
我HOOK KeInitializeDpc遇到问题了,先放下来了。 你提到的hook keDelayXXX和KeWaitForxxx这两个函数,怎么判断呢? KeDelayExecutionThread ( IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Interval ) 作用就是延时;网上找的。如果说HOOK它那么我怎么判断是否是XXX驱动调用他呢? 或者你的想法是在调用KeDelayXXXX的时候把时间改长点, 有或者是在调用KeDelayXXX的时候把恢复被HOOK的地址,KeDelayXXX完成后把原来的HOOK写回去,让他检测不出来?我的理解是KeDelayXXX后,驱动保护才检测的(但是同样还是不能判断是不是我要HOOK的驱动呀!) KeWaitForxxx: 这个有点复杂了, KeWaitForSingleObject ( IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL ) 第一个参数是对象,从这个对象又怎么判断呢,怎么HOOK呢? 直接设置信号? 因为驱动是SMC多层加密的,本人不会脱所以只能当黑盒分析,大家提到的意见我都会一个一个得实验,哈哈! |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值