Hero
November 16th, 2007, 01:05
Quote:
[Originally Posted by naides;70259]
If you disassembly kernel32.dll FROM DISK how does the code look like?? |
this is start of kernel32.dd from disk:
Code:
00871D77 >/$ 8BFF MOV EDI,EDI
00871D79 |. 55 PUSH EBP
00871D7A |. 8BEC MOV EBP,ESP
00871D7C |. 837D 08 00 CMP DWORD PTR SS:[EBP+8],0
00871D80 |. 53 PUSH EBX
00871D81 |. 56 PUSH ESI
00871D82 |. 74 14 JE SHORT kernel_1.00871D98
00871D84 |. 68 F0E28700 PUSH kernel_1.0087E2F0 ; /s2 = "twain_32.dll"
00871D89 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |s1
00871D8C |. FF15 9C138700 CALL DWORD PTR DS:[<&ntdll._strcmpi>] ; \_stricmp
00871D92 |. 85C0 TEST EAX,EAX
exactly like yours....
I'm using kaspersky antivirus that make some hooks,but i don't think that this hook belong to kaspersky(if somebody who has kaspersky check this,it will be great).
because when I tried that RKU RootkitUnhooker,it both detect some user lvl hooks that belong to kaspersky and some hooks with Unknown module.
Here is some result of RKU RootkitUnhooker,in user level scan that belongs to LoadLibraryA:
Code:
[-] C:\WINDOWS\system32\ntdll.dll has had it's IAT table modified. Function LoadLibraryA has been changed to point a module that could not be identified (0x00d000b8).
[-] C:\WINDOWS\system32\kernel32.dll has had one of its functions modified. Function LoadLibraryA has been modified with an inline hook to point a module that could not be identified (0x00d000b8).
[-] C:\WINDOWS\system32\ntdll.dll has had it's IAT table modified. Function LoadLibraryA has been changed to point a module that could not be identified (0x00ad00b8).
[-] C:\WINDOWS\system32\kernel32.dll has had one of its functions modified. Function LoadLibraryA has been modified with an inline hook to point to d:\program files\kaspersky lab\kaspersky anti-virus 6.0\avlib.ppl
[-] C:\WINDOWS\system32\kernel32.dll has had one of its functions modified. Function LoadLibraryA has been modified with an inline hook to point a module that could not be identified (0x63602a5b).
lol,a little too much user mode,isn't it?
Quote:
[Originally Posted by Maximus]make a sample for us |
What you mean by make a sample?
In addition,do you now any kernel level tool could give me all sstem memory map?I mean that even show us adrressed that belong driver,...
here is some new interesting data:
1-if you don't use olly bp man,when you set a BP on for examle LoadLibraryA,after restrating olly,all these BPs are gone....
But this is not happening for me anymore,for example I set a BP on LoadLibraryA after loading kernel32.dll on olly.
then when I restart olly,it stops 2 times on that BP over LoadLibrary before even Loading DLL using LoadDll.exe!!!!and the more funny is that the 2nd one was a call to LoadLibraryA with kernel32.dll as its module name to be loaded!!!
2-I noticed that real kernel32.dll never changes while loading!!!!
this hook is really clever:it seems it changes FirstThunk of APIs when process is going o create to point to its own code!!!!
for example for LoadLibraryA,the export address is 0x7C801D77 but when i set a BP it will be set on address 0x7C882F9C that is data section of kernel32,not its code section and that strange code stands here.

great way for hooking,isn't it?
Regards