-
-
[求助]IDA pro 6.1.110315 Hex-Rays 的问题
-
发表于: 2014-12-7 15:51 2865
-
.text:00011018 mov [ebp+var_3C], ecx
.text:0001101B ; 164: *(_DWORD *)v16 = v15;
.text:0001101B mov [ecx], eax
.text:0001101D ; 165: *(_DWORD *)(v15 + 4) = v16;
.text:0001101D mov [eax+4], ecx
.text:00011020 ; 166: ms_exc.disabled = -1;
.text:00011020 or [ebp+ms_exc.disabled], 0FFFFFFFFh
.text:00011024 call loc_110B6 ; 调用 .text:000110B6 loc_110B6:
.text:00011029 ; ---------------------------------------------------------------------------
.text:00011029 ; 11029 -- 110A8 虚线内的部份按F5时不会反编译为C代码,怎么才能让下边部份连同上边的一起生成C代码??
.text:00011029 loc_11029: ; CODE XREF: sub_10EF8+1CDj
.text:00011029 mov eax, [ebx+0Ch]
.text:0001102C mov [ebp+var_2C], eax
.text:0001102F mov ecx, [esi+10h]
.text:00011032 mov [eax], ecx
.text:00011034 mov ecx, [esi+8]
.text:00011037 mov ecx, [ecx+58h]
.text:0001103A mov [eax+4], ecx
.text:0001103D mov ecx, [esi+8]
.text:00011040 mov ecx, [ecx+18h]
.text:00011043 mov [eax+8], ecx
.text:00011046 mov ecx, [esi+8]
.text:00011049 mov ecx, [ecx+1Ch]
.text:0001104C mov [eax+0Ch], ecx
.text:0001104F mov esi, [esi+0Ch]
.text:00011052 movzx ecx, word ptr [esi]
.text:00011055 mov [ebp+var_28], ecx
.text:00011058 lea edi, [eax+10h]
.text:0001105B mov edx, ecx
.text:0001105D shr ecx, 2
.text:00011060 rep movsd
.text:00011062 mov ecx, edx
.text:00011064 and ecx, 3
.text:00011067 rep movsb
.text:00011069 lea ecx, [ebp+var_1A]
.text:0001106C push ecx
.text:0001106D push 1
.text:0001106F mov ecx, edx
.text:00011071 lea eax, [ecx+eax+10h]
.text:00011075 push eax
.text:00011076 mov esi, [ebp+P]
.text:00011079 push dword ptr [esi+0Ch]
.text:0001107C call sub_11686
.text:00011081 push dword ptr [esi+8] ; Irp
.text:00011084 call ds:IoFreeIrp
.text:0001108A push dword ptr [esi+0Ch] ; P
.text:0001108D call sub_115FC
.text:00011092 push 0 ; Tag
.text:00011094 push esi ; P
.text:00011095 call ds:ExFreePoolWithTag
.text:0001109B xor esi, esi
.text:0001109D and [ebx+18h], esi
.text:000110A0 mov eax, [ebp+var_2C]
.text:000110A3 mov eax, [eax]
.text:000110A5 mov [ebx+1Ch], eax
.text:000110A8 jmp loc_11182
.text:000110AD ; ---------------------------------------------------------------------------
.text:000110AD
.text:000110AD loc_110AD: ; DATA XREF: .rdata:stru_11B70o
.text:000110AD mov ebx, [ebp+Irp] ; Finally handler 0 for function 10EF8
.text:000110B0 mov edi, [ebp+fdoData1]
.text:000110B3 mov esi, [ebp+P]
.text:000110B6 ; 167: KfReleaseSpinLock(&fdoData->lock2, oldIrql);
.text:000110B6
.text:000110B6 loc_110B6: ; CODE XREF: sub_10EF8+12Cj
.text:000110B6 lea ecx, [edi+0E4h] ; SpinLock
.text:000110BC mov dl, [ebp+oldIrql] ; NewIrql
.text:000110BF call ds:KfReleaseSpinLock
.text:000110C5 retn
.text:000110C5 sub_10EF8 endp
.text:0001101B ; 164: *(_DWORD *)v16 = v15;
.text:0001101B mov [ecx], eax
.text:0001101D ; 165: *(_DWORD *)(v15 + 4) = v16;
.text:0001101D mov [eax+4], ecx
.text:00011020 ; 166: ms_exc.disabled = -1;
.text:00011020 or [ebp+ms_exc.disabled], 0FFFFFFFFh
.text:00011024 call loc_110B6 ; 调用 .text:000110B6 loc_110B6:
.text:00011029 ; ---------------------------------------------------------------------------
.text:00011029 ; 11029 -- 110A8 虚线内的部份按F5时不会反编译为C代码,怎么才能让下边部份连同上边的一起生成C代码??
.text:00011029 loc_11029: ; CODE XREF: sub_10EF8+1CDj
.text:00011029 mov eax, [ebx+0Ch]
.text:0001102C mov [ebp+var_2C], eax
.text:0001102F mov ecx, [esi+10h]
.text:00011032 mov [eax], ecx
.text:00011034 mov ecx, [esi+8]
.text:00011037 mov ecx, [ecx+58h]
.text:0001103A mov [eax+4], ecx
.text:0001103D mov ecx, [esi+8]
.text:00011040 mov ecx, [ecx+18h]
.text:00011043 mov [eax+8], ecx
.text:00011046 mov ecx, [esi+8]
.text:00011049 mov ecx, [ecx+1Ch]
.text:0001104C mov [eax+0Ch], ecx
.text:0001104F mov esi, [esi+0Ch]
.text:00011052 movzx ecx, word ptr [esi]
.text:00011055 mov [ebp+var_28], ecx
.text:00011058 lea edi, [eax+10h]
.text:0001105B mov edx, ecx
.text:0001105D shr ecx, 2
.text:00011060 rep movsd
.text:00011062 mov ecx, edx
.text:00011064 and ecx, 3
.text:00011067 rep movsb
.text:00011069 lea ecx, [ebp+var_1A]
.text:0001106C push ecx
.text:0001106D push 1
.text:0001106F mov ecx, edx
.text:00011071 lea eax, [ecx+eax+10h]
.text:00011075 push eax
.text:00011076 mov esi, [ebp+P]
.text:00011079 push dword ptr [esi+0Ch]
.text:0001107C call sub_11686
.text:00011081 push dword ptr [esi+8] ; Irp
.text:00011084 call ds:IoFreeIrp
.text:0001108A push dword ptr [esi+0Ch] ; P
.text:0001108D call sub_115FC
.text:00011092 push 0 ; Tag
.text:00011094 push esi ; P
.text:00011095 call ds:ExFreePoolWithTag
.text:0001109B xor esi, esi
.text:0001109D and [ebx+18h], esi
.text:000110A0 mov eax, [ebp+var_2C]
.text:000110A3 mov eax, [eax]
.text:000110A5 mov [ebx+1Ch], eax
.text:000110A8 jmp loc_11182
.text:000110AD ; ---------------------------------------------------------------------------
.text:000110AD
.text:000110AD loc_110AD: ; DATA XREF: .rdata:stru_11B70o
.text:000110AD mov ebx, [ebp+Irp] ; Finally handler 0 for function 10EF8
.text:000110B0 mov edi, [ebp+fdoData1]
.text:000110B3 mov esi, [ebp+P]
.text:000110B6 ; 167: KfReleaseSpinLock(&fdoData->lock2, oldIrql);
.text:000110B6
.text:000110B6 loc_110B6: ; CODE XREF: sub_10EF8+12Cj
.text:000110B6 lea ecx, [edi+0E4h] ; SpinLock
.text:000110BC mov dl, [ebp+oldIrql] ; NewIrql
.text:000110BF call ds:KfReleaseSpinLock
.text:000110C5 retn
.text:000110C5 sub_10EF8 endp
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [原创]终于完成Utraiso 9.6.2.3059 的完美注册机。 2664
- [求助]帮我看看这是什么壳 3783
- [求助]IDA pro 6.1.110315 Hex-Rays 的问题 2866
- 谁有大数运算库的源代码? 2326
- [求助]Irp结构体的操作 4570
看原图
赞赏
雪币:
留言: