|
Amen
Bram van Kampen
|
|
|
|
|
Hello,
I want to display cyrillic alphabet in a text box read from a file but I cannot display it properly and when displaying I can see only ?????. Please help me to display cyrillic alphabet characters.
Kind regards,
Bhanu
|
|
|
|
|
You are either doing a non-Unicode build, or you do not have the language installed on your computer. If you can see and type the said character in notepad, then you have the language installed on your machine. You just need to do a fully Unicode build.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
In TagInfo.cpp,i assigned value for the varaible BlinkBr =1.
in the same class i have function which is using this variable for fillign rect as below
pDC->FillRect(StRect,&Brush[BlinkBr]); in the function DrawBar.
Im callig this fucntion from differnt class like
From GroupView.Cpp
pTagBase->DrawBar(pMemDC,x,clnRect,FALSE);
Here the BlinkBr is as it 1 and its working fine.
But assigning value for BlinkBar is not done in DrawBar,its in another function in TagInfo.cpp
Im using this same fucntionality in another class
From Tuning.Cpp
pTagBase->DrawBar(pMemDC,((rTuningScreen.right+AlignX(5,rTuningScreen))/8)*7,rTuningScreen,FALSE);
But while debugging when the cursor goes to this fucntion,the BlinkBr show some garbage value.
I used headerfile everything like Groupview.But this class shows error.
Why its happening?
The same problem i find in different functionalities.Pls help me.
Anu
|
|
|
|
|
Having garbage sounds like the variable is not being initializated correctly.
Are you giving the value at the beggining of your DrawBar function? or at the beggining of your class?
it could be that in your GroupView you use more parts of TagInfo.cpp than only the function DrawBar and because of that you are having the value initialized, but... in your Tuning.cpp you just call the function and the variable hasn't been correctly initializated, but the debug mode does it for you giving garbage value.
Try putting some stop points for the debugger in your TagInfo.cpp and see what happens when you get in the class coming from the other two using the function.
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
When i debugged,i found in Tuning.cpp,before that DrawBar fucntion,im calling one more TagInfo.cpp function called DrawTuning().But in that function i dont use this variable..in watch window i can find that till BlinkBr value is in 1 until the last line of DrwaTuning() fucniton.When the cursor gets out of the fucntion,suddenly BlinkBr value has gone to some garbage value like 8603485..
Anu
|
|
|
|
|
Are you giving values to BlinkBr locally? or in the constructor?
Your description sound like using local but needing global values.
On the other hand, is BlinkBr needed always with value 1?
If yes... why don't you use a constant instead of a variable?
#define BLINKBR 1 // placed in your main .h
If not... you can declare your BlinkBr in a place and acces it using "extern" where you need it.
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Hi masters!
I'v written a code by which I can add a new section to pe files. But as I've noticed, some pe files are a little more intelligent than I thought Because as soon as I run them after I add the new section, a message says to me that this file has been modified! Even when I change a few first opCode begining at their entry point without add any section to them and without making any other change to them, the same message appears! Do you think they're "packed"? How can I find out? How can I find the original entry point?
Thank you masters!
|
|
|
|
|
Actually what you want to achieve?
First thing, you can modify, but which tool you are using hexeditor?
If you want to get the Load address which is entry point of the PE.
then you can get that.
HMODULE hModDLL = LoadLibraryEx( "path\name.exe", NULL, DONT_RESOLVE_DLL_REFERENCES );
Величие не Бога может быть недооценена.
|
|
|
|
|
Is there any file browser control in MFC? my requirement is, the application should allow the user to browse a file, based on the user selection i should get the selected file name and the corresponding file path to do some operations on that file. please provide the solution for this problem, thanks in advance
Regards,
Anil
hi
|
|
|
|
|
Why don't you just use CFileDialog class?
Thank you masters!
|
|
|
|
|
A sample code to select Text/CSV file here:
CFileDialog l_SampleDlg(TRUE,NULL,NULL,OFN_OVERWRITEPROMPT,"Text Files (*.txt)|*.txt|Comma Separated Values(*.csv)|*.csv||");
int iRet = l_SampleDlg.DoModal();
CString l_strFileName;
l_strFileName = l_SampleDlg.GetPathName();
if(iRet == IDOK)
MessageBox(l_strFileName);
else
MessageBox("No File Selected!");
--
"Programming is an art that fights back!"
|
|
|
|
|
|
Well, no responses, but I was digging through the cheat engine source and I found
VOID
RtlCopyMemory(
IN VOID UNALIGNED *Destination,
IN CONST VOID UNALIGNED *Source,
IN SIZE_T Length
);
... Go me... cheers!
|
|
|
|
|
|
Im not so sure I can use some of those functions you mentioned as they include Windows.h (the goal is a driver that is injected into the kernal that will read/write ram), I dont have my DDK installed as a virus ate my system =(. but Ill check em out. Thanks man!
EDIT: new question, maybey it will get answered before I find the answer: How do I receive the debug messages from my driver?
ie)DbgPrint("Exception in GetMemoryRegionData\n");
modified on Saturday, December 26, 2009 3:10 PM
|
|
|
|
|
Mattzimmerer wrote: How do I receive the debug messages from my driver?
DebugView from sysinternal DebugView[^]
Be wary of strong drink. It can make you shoot at tax collectors - and miss.
Lazarus Long, "Time Enough For Love" by Robert A. Heinlein
|
|
|
|
|
Kernel mode drivers are written in C and not assembly.
When in kernel mode memory is divided into paged and non-paged pool.
If the function you're currently in is non-pagable you cannot safely access memory in the paged pool.
You will need to properly understand memory management in Windows especially from the kernel mode to do the task safely.
|
|
|
|
|
Yea, I'm decent with C, I just don't know my way around the kernel to well. I've noticed a few sources I've pulled used _asm{} in driver code so I know you can do it. Anyways thanks for the input. Anything that points me to the prerequisite knowledge is greatly appreciated.
|
|
|
|
|
Hi,
Mattzimmerer wrote: I just don't know my way around the kernel to well
Well, IMHO, you need to know the kernel inside Out, and Backward Front, before you should even attempt to mess with the Hardware end of Memory.
Otherwise, it is bound to end up in tears!!
If you explain to us what you want to achieve in the first place, I'm quite sure that one of us can then point you in a direction to reach your goal without resort to that sort of hardware access.
Bram van Kampen
|
|
|
|
|
yea, I can do what I'm trying to do without this kind of hardware access, basically I'm going for a kernel level readprocessmemory(). Dont worry friend, I welcome the tears of learning! I recognize that this is not an easy thing to do. Ok what was my question, ohh yea signing drivers. I seemed to have managed to test sign my driver and boot my OS in a mode so I can use test signed drivers (using vista64x, and wow its a pain, I was encountering so many less problems in vista 32x)
Right now my biggest problem is loading the drivers. I have been using OSR Loader on vista 32x without a problem, but on 64x none of the OSRLoader exe files can even open up the sample drivers that I built out of the WDK library.
If no one gives me a better solution my current scope is writing INF files...
So I really don't wanna hear its hard and I need to know this and that, I'm learning this and that and beleive me its so much fun (im a computer engineering major so this stuff is to my benifit)! My GF hates it lol...
I guess I have one question: Is it possible to correctly sign a driver using the makecert command in shell? I'm probally missing the grasp on that whole area...
|
|
|
|
|
Well,
Mattzimmerer wrote: I welcome the tears of learning! I recognize that this is not an easy thing to do.
Please Note that on this occasion the tears of learning could include a trashed harddrive.
My First and Personal advice is: Revert to Windows XP.
My Loathing of Vista is well documented on this forum.
At the same time, I do not believe that MS was that stupid to as to leave out a documented method to load drivers.
At any rate, if the above fails,
what you seem to need to nudge is in that case not Process Memory, but you need probably to clobber a few bytes in your Driver File! Load it, Make your Mods, and Save it!
Bram van Kampen
|
|
|
|
|
Yea, they got good documentation on loading drivers, its just going to take some time to get the task done. I had a feeling I could possibly trash a hard drive, I think im going to still take some whacks at vista, but I was planning on setting up a different OS on a separate hard drive, and just now I noticed the possibility of trashing my main OS even though its on a different partition ... Guess Ill just unplug it !
Do you think I could trash my OS if I only code a readmemory function and not a write memory function? My plan was to only attempt to write to memory when I know the exact behavior of my device reading from memory.
Say my driver:
1) allocates its own memory
2) copies a byte from a specified address into its own memory
I should be fine right? How could I possibly screw that up right?
|
|
|
|
|
Mattzimmerer wrote: Say my driver:
1) allocates its own memory
2) copies a byte from a specified address into its own memory
I should be fine right? How could I possibly screw that up right?
What IRQ level is your driver running at? Allocating might not be available at that level. Then it will screw up! Also, from what memory context are you assuming your specified address for reading your byte. The High level virtual memory experience is created by smoke and mirrors at driver level. Driver land is another country, they do things different there.
Bram van Kampen
|
|
|
|
|
Well I was getting ahead of myself when I said that stuff. I'm not going to lie, I started out 100% fresh to wdf, and this is probally going to take me a lot of time since I need to learn everything. So I don't know yet...
Right now I have a lowly goal of getting an "empty" driver that will print debug messages when my GUI app sends the appropriate irp. And at this very moment, I've blown my mind at why OSR Loader cannot start my service. OSRLoader says: "The Driver has been blocked from loading".
Im guessing my driver code is incomplete, maybey missing a required function... (dunno the lingo)
heres my header, would I need anything else to get my service to start/stop?
#if !defined(_MEMORYREADER_H_)<br />
#define _MEMORYREADER_H_<br />
<br />
#include <ntddk.h><br />
#include <wdf.h><br />
<br />
#define __DRIVER_NAME "MR: "<br />
<br />
typedef struct _DEVICE_CONTEXT {<br />
WDFQUEUE IoDefaultQueue;<br />
} DEVICE_CONTEXT, *PDEVICE_CONTEXT;<br />
<br />
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(DEVICE_CONTEXT, GetDeviceContext);<br />
<br />
<br />
NTSTATUS<br />
DriverEntry(<br />
IN PDRIVER_OBJECT DriverObject, <br />
IN PUNICODE_STRING RegistryPath<br />
);<br />
<br />
NTSTATUS<br />
EvtDriverDeviceAdd(<br />
IN WDFDRIVER Driver,<br />
IN PWDFDEVICE_INIT DeviceInit<br />
);<br />
<br />
NTSTATUS<br />
EvtDevicePrepareHardware(<br />
IN WDFDEVICE Device,<br />
IN WDFCMRESLIST ResourceList,<br />
IN WDFCMRESLIST ResourceListTranslated<br />
);<br />
<br />
VOID<br />
EvtDeviceIoDefault(<br />
IN WDFQUEUE Queue,<br />
IN WDFREQUEST Request<br />
);<br />
<br />
NTSTATUS<br />
EvtDeviceD0Entry(<br />
IN WDFDEVICE Device,<br />
IN WDF_POWER_DEVICE_STATE PreviousState<br />
);<br />
<br />
NTSTATUS<br />
EvtDeviceD0Exit(<br />
IN WDFDEVICE Device,<br />
IN WDF_POWER_DEVICE_STATE TargetState<br />
);<br />
<br />
#endif //(_MEMORYREADER_H_)<br />
<br />
Does OSR Loader work properly with Vista x64? If it does I would love a working example of a basic driver.
|
|
|
|