For those new to message boards please try to follow a few simple rules when posting your question.
Choose the correct forum for your message. Posting a VB.NET question in the C++ forum will end in tears.
Be specific! Don't ask "can someone send me the code to create an application that does 'X'. Pinpoint exactly what it is you need help with.
Keep the subject line brief, but descriptive. eg "File Serialization problem"
Keep the question as brief as possible. If you have to include code, include the smallest snippet of code you can.
Be careful when including code that you haven't made a typo. Typing mistakes can become the focal point instead of the actual question you asked.
Do not remove or empty a message if others have replied. Keep the thread intact and available for others to search and read. If your problem was answered then edit your message and add "[Solved]" to the subject line of the original post, and cast an approval vote to the one or several answers that really helped you.
If you are posting source code with your question, place it inside <pre></pre> tags. We advise you also check the "Encode HTML tags when pasting" checkbox before pasting anything inside the PRE block, and make sure "Ignore HTML tags in this message" check box is unchecked.
Be courteous and DON'T SHOUT. Everyone here helps because they enjoy helping others, not because it's their job.
Please do not post links to your question in one forum from another, unrelated forum (such as the lounge). It will be deleted.
Do not be abusive, offensive, inappropriate or harass anyone on the boards. Doing so will get you kicked off and banned. Play nice.
If you have a school or university assignment, assume that your teacher or lecturer is also reading these forums.
No advertising or soliciting.
We reserve the right to move your posts to a more appropriate forum or to delete anything deemed inappropriate or illegal.
which, as I explained will lead to problems: you will either get strange results, or a program crash. If you are going to store data in the buffer returned from malloc then you must allocate enough space for the data you are going to copy into it. Anything less will cause your program to overwite other variables.
OK, let us say that you have a path ("C:\Users\Noname\Documents\Test") in argv, and you now want to inspect a subdirectory called "images":
int argvSize = strlen(argv); // the number of characters in the base path
// calculate the space needed for the subdirectory as follows:
// the length of the base path (argv)
// plus the length of the new subdirectory
// plus one for the backslash separator in front of the new directory
// plus 1 for the trailing null character
//int mallocSize = argvSize + strlen(subdir) + 1 + 1;
char* newPath = (char*)malloc(mallocSize);
strcpy(newPath, argv); // copy the root path
strcat(newPath, "\\"); // add a single trailing backslash - note two \\ required here,
// as the first one is treated as the escape character
strcat(newPath, subdir); // append the new directory name at the end.
// The trailing null is appended automatically by strcat
// newPath should now contain:
Yes because you are using the count from location to do the copy, which is the length of the string, and so will not include the null character. Use the code sample I gave you which makes use of standard library functions that will ensure your copied data is correctly structured.
a random user wrote:
is there any way we could communicate like through skype ?
Sorry, I do this in my own time and at my own speed. I will not be available much longer today.
Looks to me like you're most of the way there. You probably want to read in your reference file into a buffer. You can use _stat() to get the file size for malloc().
Next, it depends on where the signatures are in the file. If they're at a known location you could use fseek(), fread() and memcmp() to determine if the signature is in the file or not. If the signatures are at a random location, I'd pull the entire file into a malloced buffer (_stat() again), and then search through the buffer. The simple way would be use memcmp() at locations 0 ... (current_file_size - reference_file_size), but there's more efficent ways of going about that. If you know that there's no null chars in the either file (unlikely), maybe strstr() is an option.
some notes on what you have so far:
sizes, and sizes will not change over the while loop, so they could be computed before entering the loop. strlen("\\") is 1, not 2
you not calling free(string) within the while loop, so you're leaking memory. If you use my suggestion about slurping the file into memory, don't forget to free() that buffer too.
First you need to write down the steps you require to do the searching. Something like:
Read 'key' file and extract its signature
For each file in directory
Open next file
Read some data (maybe a small amount, maybe all, or maybe just some specific block)
If the key-file signature is in the data of this file
Do file match processing
Do file no match processing (if necessary)
Until (no more files)
Once you have all the steps clearly defined it should not be too difficult to turn that into code.
A folder in a folder is just a new path to search. When you get a directory in your dirent search, you just append a backslash '\\' followed by the directory name to the string you got from argv (or the current path), and start a new search. Say you start your program by:
and your found entry is a directory named Music, you would create a new path C:\Users\Random\Lists\Music and continue with that. Don't forget to ignore directories named . and .. as they lead back up the tree.
Sorry, but that code does not make any sense. I have no idea what the first block of code is supposed to be doing. And in the code following the flushall call, you have made a call to strlen on a pointer returned from malloc. But the memory that it points to has not been initialised with a string, so the value you get will be either zero, or some random invalid number. You must use strlen on the source string (argv) in order to measure it. So your code should be something like:
int length = strlen(argv) + 1; // extra space for trailing null character
char* entrenceToTheFolderBefore = (char*)malloc(sizeof(char) * length);
for (int i = 0; i < length; i++)
entrenceToTheFolderBefore[i] = argv[i];
You could use strcpy here, but perhaps your teacher has told you not to.
I dont know if i fixed it or not because Just now i saw your comment
but this is how far i got in order to get to the second frole from the first file
but for some odd reason it stopps when i do malloc
Go to ParentNow that I fixed most of the code the last part is which is the loop to find out the name of the second folder
Reminder that The argv has a path to a folder
the program is trying to exit the folder to the fodler before (succeeded)
and now at the last part trying to get the path for the second folder and the file before if it makes any sence
so for some odd reason it doesnt work
the weirder part is when i try to do puts(); on the Dir struct d_name
and it triggers break point
That is what I guessed from looking at all your posts. And that is why I suggested you stop trying random pieces of code, and go and work through some tutorials and reference guides on the basics of C and its run-time libraries. Trying to learn programming from posting questions here is really not a good idea. A few, or many, hours of serious study will serve you much better in the long term.
I have a shared storage pointer with my console application Hercules it is defined as LPVOID most of it is displayable characters but some are just hex characters
When try to construct the string with the following CString constructer
CString mystr((LPCTSTR) mysharedptr,34); tracing it in the visual studio debugger
The code goes off into some MFC code that had an assertion specifically ASSERT(FALSE)
Sorry but you are still not giving us any useful information. What exactly is the content of mysharedptr, and what assertion are you getting? It may well be that a CString is just the wrong class for whatever problem you are trying to solve.
Hi there, I am new to the programming scene. I am a Digital Forensic Investigator with the Digital Forensic Laboratory at The Directorate For Priority Crime Investigation; within the South African Police Services.
I was recently assigned to do research and analysis on compromised Verifone POS-devices. On some of the devices we do manage to extract data, which is encrypted. I investigated some of the tools the criminals use in the process.
On the malwr.com site the encryption tool PasswordGenerator.exe was uploaded and can be downloaded from there for analysis. This tool uses MACTripleDES PADRight encryption.
Is there maybe anyone that can assist me to create a tool to decrypt the data from the devices. The PWG creates an init.dat file that is uploaded to the POS device which encrypts the data that is captured and then decrypted after being downloaded with The VeriFoneDownloader.exe and then the .vfd-file is decrypted using the VeryFoneViewDataNew.exe. When the correct password is entered and the file decrypted it is saved as a .dfv-file.
All the .exe files are uploaded at malwr.com. I will upload an encrypted and decrypted file as well. (201404221348.vfd and 201404221348.dfv)
If there is anyone that can assist it would be highly appreciated.
Design and implement a class for binary trees, following the specification at the following URL http://www.cs.colorado.edu/~main/chapter10/bt_class.h
Your design should use a dynamic array to hold the data from the nodes in the same way that a complete binary tree is usually represented. However, these binary trees do not need to be complete. Instead, you should have a second private member variable that is a dynamic array of Boolean values called is_present. The is_present array indicates which nodes actually exist in the tree. For example, if the tree has a root node, then location is_present is true. If the root has a left child, then is_present is true. If the root has a right child, then is_present is true.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
I am opening a file from network drive location. During file read, the mapped network drive is disconnected, my application get crashed and closed. how to check the mapped network drive is connected or not using file pointer.
case 2: during file read, I am disconnecting and connecting the mapped network drive that time pointer is not null. but I cant able to access a file using this file pointer.