View Full Version : Sice says "Symbol not defined"
spuTniK
07-31-2002, 01:03 AM
Hi there,
I`m a bloody Newbie and got a little problem about the function
"MessageBox" which should be included in the kernel.dll
( I`m using win2k ).
I try to do an crackme which breaks on hmemcpy, but as this is not working with the NT Version of Softice I tried to get all the needed functions by using SoftSnoop :
...
API: GetProcAddress(KERNEL32.DLL), 77E00000h, 00436170h="MessageBox"
API: GetProcAddress returned: 77E275D5h
But if I try to set a breakpoint on MessageBox Sice tells me "Symbol not defined"
Thx for any help
spuTniK
ramon
07-31-2002, 01:27 AM
You must load exports for SoftICE, use Symbol Loader for that or the best thing, edit "SoftICE initialization Settings..." under Symbol Loader and add all *must have* DLLs to exports tab:
User32.DLL
Kernel32.DLL
Shell32.DLL
Advapi32.DLL
...
...
and all DLLs you want!
And your are wrong about the DLL name that export "MessageBox", for sure is "User32.DLL"
bye
Ramon
Aimless
07-31-2002, 08:22 AM
Could also be because there is no such thing as MessageBox. Only:
MessageBoxA
MessageBoxW
MessageBoxExA
MessageBoxExW
Have Phun, Always.
spuTniK
07-31-2002, 01:03 PM
>You must load exports for SoftICE, use Symbol Loader for that >or the best thing, edit "SoftICE initialization Settings..." under >Symbol Loader and add all *must have* DLLs to exports tab:
Thx for the tip - till now I loaded the exports by editing the winice.dat. Think the next thing I`ll do is reading the "Using Softice" tut.
>Could also be because there is no such thing as MessageBox. >Only:
>MessageBoxA
>MessageBoxW
>MessageBoxExA
>MessageBoxExW
U are right - they are all existing - but no one breaks
thx for your help - cya
Aimless
07-31-2002, 03:03 PM
A couple of things:
1. What version of Softice are you using ?
2. Are you using the standalone or SoftIce Driversuite one ?
3. Is your OS Win 95/98/ME/NT/2000 ?
4. Are you sure what you are seeing is indeed a MESSAGEBOX ? Just because it is a box that appears during an error, just because it has a title bar, just because it has 2 buttons, OK and CANCEL, does not make it a MESSAGEBOX.
5. Suggest you get an API Monitor at www.programmerstools.org and see whether its really a MESSAGEBOX or a DIALOG BOX or a DIALOG BOX FROM TEMPLATE or DIALOG BOX from RESOURCE or a Window drawn using DirectX (yup!!!) or, in rare cases, HAND WRITTEN CODE that creates a window with the same.
6. Instead of breakpoint on MESSAGEBOXA, try breaking on CreateWindowExA or CreateWindowExW. This will tell you if the programmer has used hand-written routines, or he is simply calling the APIs.
7. Use a tool like SPY (found on same site above) to find whether your window is really a MESSAGEBOX or DIALOGBOX disguised as one.
8. Make sure that if you see you app in softice as "myapp" by giving the PROC or TASK commands, then you *must* do a
ADDR MYAPP
and SUBSEQUENTLY put in a BPX MESSAGEBOX<whatever>
9. Of course, I assume you have already found out ANTI-SOFTICE code, if any.
Try these out and see what happens. If not, we may just have to get dirty...
Have Phun, Forever.
vBulletin® v3.8.2, Copyright ©2000-2009, Jelsoft Enterprises Ltd.