|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
Because multiple programmers much much better than me can't solve my problem, I guess I'm gonna post my code here.
char* offsets[][3] = { { "0x3E264", "0", "char[1]" }, { "0x45848", "Auto-Mine", "char[10]" }, { "0x458C0", "Auto-Build", "char[10]" }, { "0x45870", "Multicommand", "char[14]" }, { "0x45960", "Name Spoof", "char[14]" }, { "0x45910", "Drop Hack", "char[10]" }, { "0x3D677", " - Game History:", "char[16]" }, { "0x3E2A5", "Hacks were detected", "char[19]" }, { "0x3FD7C", " - Refreshing Game> ", "char[22]" }, //to be continued... };
HANDLE scHandle = OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_OPERATION, FALSE, ID); if (scHandle == NULL) { log << "ERROR: OpenProcess() returned " << GetLastError() << endl; return false; }
DWORD bytesOut;
for (int a = 0; a < 9; a++) { if (WriteProcessMemory(scHandle, (LPVOID)(wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0)), offsets[a][1], strlen(offsets[a][1]) + 1, &bytesOut)) { log << "WriteProcessMemory() to address " << wDetectorBaseAddress << " + " << (int)strtol(offsets[a][0], NULL, 0) << " = " << wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0) << " with '" << offsets[a][1] << "'; " << bytesOut << " bytes were written" << endl; } else { log << "ERROR: WriteProcessMemory() returned " << GetLastError() << endl; return false; } }
CloseHandle(scHandle);
just pasted what was necessary, the memory addresses aren't being written to even though my logging shows that WriteProcessMemory() was successful. Also, I've double checked that i have the correct memory addresses as well.
|
On January 13 2014 07:34 xboi209 wrote:Because multiple programmers much much better than me can't solve my problem, I guess I'm gonna post my code here. Show nested quote + char* offsets[][3] = { { "0x3E264", "0", "char[1]" }, { "0x45848", "Auto-Mine", "char[10]" }, { "0x458C0", "Auto-Build", "char[10]" }, { "0x45870", "Multicommand", "char[14]" }, { "0x45960", "Name Spoof", "char[14]" }, { "0x45910", "Drop Hack", "char[10]" }, { "0x3D677", " - Game History:", "char[16]" }, { "0x3E2A5", "Hacks were detected", "char[19]" }, { "0x3FD7C", " - Refreshing Game> ", "char[22]" }, //to be continued... };
HANDLE scHandle = OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_OPERATION, FALSE, ID); if (scHandle == NULL) { log << "ERROR: OpenProcess() returned " << GetLastError() << endl; return false; }
DWORD bytesOut;
for (int a = 0; a < 9; a++) { if (WriteProcessMemory(scHandle, (LPVOID)(wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0)), offsets[a][1], strlen(offsets[a][1]) + 1, &bytesOut)) { log << "WriteProcessMemory() to address " << wDetectorBaseAddress << " + " << (int)strtol(offsets[a][0], NULL, 0) << " = " << wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0) << " with '" << offsets[a][1] << "'; " << bytesOut << " bytes were written" << endl; } else { log << "ERROR: WriteProcessMemory() returned " << GetLastError() << endl; return false; } }
CloseHandle(scHandle);
just pasted what was necessary, the memory addresses aren't being written to even though my logging shows that WriteProcessMemory() was successful. Also, I've double checked that i have the correct memory addresses as well. Not exactly my area of expertise, but are you adding your '\0' to the end of the strings before you write them into memory? Because I don't see anywhere where you do, but look like you're writing them into your process's memory with enough space (both in the original arrays and in the WriteProcessMemory()) for the null.
|
string literals are null terminated
|
Please put it in a [code] BB tags, no one wants to read unformatted code.
|
Hey everyone, I finished my Pong game now! This time around I tried to obey Sluggaslamoo and Darkness and make it into a MVC project with clear and small methods. In general, I think I've done so correctly. The only thing that really stands out to me as a potential non-error downside is that when you press Space and are trying to move your paddle at the same time it sometimes stops your paddle. Also, I did a non-decorated Window because the borders were messing up the display. Paddles and the ball would go through the bottom border where they weren't visible, which caused problems.
The link is: https://github.com/WarSame/PongGraeme
EDIT: It contains an executable JAR if you feel like checking it out. Runs right out of the box. Don't need to download anything other than the JAR.
|
I'm trying to figure out function points: wikipedia Categories are: 1) user input 2) user output 3) user inquiries 4) internal logic files (e.g. XML, database/tuples?) 5) external interfaces
Can anyone clarify what the 5th can be? The only explanation I've read is "not maintained by application". So, for example mp3s files for an mp3 player then? Or a skin for a web browser? Class files?
|
On January 13 2014 07:34 xboi209 wrote:Because multiple programmers much much better than me can't solve my problem, I guess I'm gonna post my code here. char* offsets[][3] = { { "0x3E264", "0", "char[1]" }, { "0x45848", "Auto-Mine", "char[10]" }, { "0x458C0", "Auto-Build", "char[10]" }, { "0x45870", "Multicommand", "char[14]" }, { "0x45960", "Name Spoof", "char[14]" }, { "0x45910", "Drop Hack", "char[10]" }, { "0x3D677", " - Game History:", "char[16]" }, { "0x3E2A5", "Hacks were detected", "char[19]" }, { "0x3FD7C", " - Refreshing Game> ", "char[22]" }, //to be continued... };
HANDLE scHandle = OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_OPERATION, FALSE, ID); if (scHandle == NULL) { log << "ERROR: OpenProcess() returned " << GetLastError() << endl; return false; }
DWORD bytesOut;
for (int a = 0; a < 9; a++) { if (WriteProcessMemory(scHandle, (LPVOID)(wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0)), offsets[a][1], strlen(offsets[a][1]) + 1, &bytesOut)) { log << "WriteProcessMemory() to address " << wDetectorBaseAddress << " + " << (int)strtol(offsets[a][0], NULL, 0) << " = " << wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0) << " with '" << offsets[a][1] << "'; " << bytesOut << " bytes were written" << endl; } else { log << "ERROR: WriteProcessMemory() returned " << GetLastError() << endl; return false; } }
CloseHandle(scHandle);
just pasted what was necessary, the memory addresses aren't being written to even though my logging shows that WriteProcessMemory() was successful. Also, I've double checked that i have the correct memory addresses as well.
lol you're not going to get advice from here. To ask on SO and give some more information about the problem.
|
I think that is basically the public api of your program or another program. It can either be a specific api that you or another service publicizes to everyone that they can use (like social media share buttons or getting information about your service), or intended for use in your app with ajax calls.
I think that wikipedia page is talking about the first one mostly.
https://dev.twitter.com/docs/api is the twitter version of the first. It allows other people to build on top of twitter and maybe do something like tweet for them.
The second is more for a way of designing a website. You can write some backend api, then in javascript call those apis to get the information to display to the user. You need to make sure they are secure tho as tech savvy users can look through your js files to get that information as well.
|
On January 13 2014 11:04 WarSame wrote:Hey everyone, I finished my Pong game now! This time around I tried to obey Sluggaslamoo and Darkness and make it into a MVC project with clear and small methods. In general, I think I've done so correctly. The only thing that really stands out to me as a potential non-error downside is that when you press Space and are trying to move your paddle at the same time it sometimes stops your paddle. Also, I did a non-decorated Window because the borders were messing up the display. Paddles and the ball would go through the bottom border where they weren't visible, which caused problems. The link is: https://github.com/WarSame/PongGraemeEDIT: It contains an executable JAR if you feel like checking it out. Runs right out of the box. Don't need to download anything other than the JAR.
Hey just played this, I like it! I didn't take a look at your source but I certainly enjoyed trying out the final product. Congrats on finishing
|
On January 13 2014 12:01 CecilSunkure wrote:Show nested quote +On January 13 2014 11:04 WarSame wrote:Hey everyone, I finished my Pong game now! This time around I tried to obey Sluggaslamoo and Darkness and make it into a MVC project with clear and small methods. In general, I think I've done so correctly. The only thing that really stands out to me as a potential non-error downside is that when you press Space and are trying to move your paddle at the same time it sometimes stops your paddle. Also, I did a non-decorated Window because the borders were messing up the display. Paddles and the ball would go through the bottom border where they weren't visible, which caused problems. The link is: https://github.com/WarSame/PongGraemeEDIT: It contains an executable JAR if you feel like checking it out. Runs right out of the box. Don't need to download anything other than the JAR. Hey just played this, I like it! I didn't take a look at your source but I certainly enjoyed trying out the final product. Congrats on finishing  Thank you, CecilSunkure, it does mean a lot to me! This was a slog to finish. The Java windows have some odd behaviour...
|
|
|
On January 13 2014 15:31 icystorage wrote:i can access an api here http://localhost:54978/api/guests/it shows all the contents in xml if i use http://localhost:54978/api/guests/1it filters out only the one with guestId = 1. how do you filter it with another property? like firstName? (urls are just examples for clarification. it cant be accessed) solved it. something to do with odata In general, parameters passed through urls are done through POST format (i.e. "viewmessage.php?topic_id=134491¤tpage=425").
Of course, API's basically work however you define them to work.
If you're talking about an existing API, however, well...you'll have to track down the documentation, because this isn't a general question.
|
im using webAPI and just found out about enabling odata
|
On January 13 2014 16:13 WolfintheSheep wrote:In general, parameters passed through urls are done through POST format (i.e. "viewmessage.php?topic_id=134491¤tpage=425"). Of course, API's basically work however you define them to work. If you're talking about an existing API, however, well...you'll have to track down the documentation, because this isn't a general question. Just a minor correction, that's GET data, not POST data. GET data is sent as parameters in the url, POST data is sent as parameters in the request body. Though I guess the actual format of the parameters is the same, parameters are usually sent as urlencoded in POST requests as well.
|
On January 13 2014 17:54 Tobberoth wrote:Show nested quote +On January 13 2014 16:13 WolfintheSheep wrote:On January 13 2014 15:31 icystorage wrote:i can access an api here http://localhost:54978/api/guests/it shows all the contents in xml if i use http://localhost:54978/api/guests/1it filters out only the one with guestId = 1. how do you filter it with another property? like firstName? (urls are just examples for clarification. it cant be accessed) solved it. something to do with odata In general, parameters passed through urls are done through POST format (i.e. "viewmessage.php?topic_id=134491¤tpage=425"). Of course, API's basically work however you define them to work. If you're talking about an existing API, however, well...you'll have to track down the documentation, because this isn't a general question. Just a minor correction, that's GET data, not POST data. GET data is sent as parameters in the url, POST data is sent as parameters in the request body. Though I guess the actual format of the parameters is the same, parameters are usually sent as urlencoded in POST requests as well. Right, yes. That's my bad -_-;
|
On January 13 2014 11:49 CecilSunkure wrote:Show nested quote +On January 13 2014 07:34 xboi209 wrote:Because multiple programmers much much better than me can't solve my problem, I guess I'm gonna post my code here. char* offsets[][3] = { { "0x3E264", "0", "char[1]" }, { "0x45848", "Auto-Mine", "char[10]" }, { "0x458C0", "Auto-Build", "char[10]" }, { "0x45870", "Multicommand", "char[14]" }, { "0x45960", "Name Spoof", "char[14]" }, { "0x45910", "Drop Hack", "char[10]" }, { "0x3D677", " - Game History:", "char[16]" }, { "0x3E2A5", "Hacks were detected", "char[19]" }, { "0x3FD7C", " - Refreshing Game> ", "char[22]" }, //to be continued... };
HANDLE scHandle = OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_OPERATION, FALSE, ID); if (scHandle == NULL) { log << "ERROR: OpenProcess() returned " << GetLastError() << endl; return false; }
DWORD bytesOut;
for (int a = 0; a < 9; a++) { if (WriteProcessMemory(scHandle, (LPVOID)(wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0)), offsets[a][1], strlen(offsets[a][1]) + 1, &bytesOut)) { log << "WriteProcessMemory() to address " << wDetectorBaseAddress << " + " << (int)strtol(offsets[a][0], NULL, 0) << " = " << wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0) << " with '" << offsets[a][1] << "'; " << bytesOut << " bytes were written" << endl; } else { log << "ERROR: WriteProcessMemory() returned " << GetLastError() << endl; return false; } }
CloseHandle(scHandle);
just pasted what was necessary, the memory addresses aren't being written to even though my logging shows that WriteProcessMemory() was successful. Also, I've double checked that i have the correct memory addresses as well. lol you're not going to get advice from here. To ask on SO and give some more information about the problem.
I'll take this one on.
Can you post or PM me the log when this doesn't work.
Does a WriteProcessMemory() ever work on your process, or is it just these offsets?
Can you open a debugger on the working process and watch the memory change? Maybe changing the memory doesn't do what you expect.
EDIT: Cecil is right that you need to give some more information on the problem when you first report it, otherwise you'll have to have several back-and-forth exchanges before even an expert on your problem can help you gain new insight. This is probably why you had trouble getting help from "better" programmers earlier. A good resource for how to ask questions is here: http://www.catb.org/~esr/faqs/smart-questions.html
|
On January 14 2014 05:49 RoyGBiv_13 wrote:Show nested quote +On January 13 2014 11:49 CecilSunkure wrote:On January 13 2014 07:34 xboi209 wrote:Because multiple programmers much much better than me can't solve my problem, I guess I'm gonna post my code here. char* offsets[][3] = { { "0x3E264", "0", "char[1]" }, { "0x45848", "Auto-Mine", "char[10]" }, { "0x458C0", "Auto-Build", "char[10]" }, { "0x45870", "Multicommand", "char[14]" }, { "0x45960", "Name Spoof", "char[14]" }, { "0x45910", "Drop Hack", "char[10]" }, { "0x3D677", " - Game History:", "char[16]" }, { "0x3E2A5", "Hacks were detected", "char[19]" }, { "0x3FD7C", " - Refreshing Game> ", "char[22]" }, //to be continued... };
HANDLE scHandle = OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_OPERATION, FALSE, ID); if (scHandle == NULL) { log << "ERROR: OpenProcess() returned " << GetLastError() << endl; return false; }
DWORD bytesOut;
for (int a = 0; a < 9; a++) { if (WriteProcessMemory(scHandle, (LPVOID)(wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0)), offsets[a][1], strlen(offsets[a][1]) + 1, &bytesOut)) { log << "WriteProcessMemory() to address " << wDetectorBaseAddress << " + " << (int)strtol(offsets[a][0], NULL, 0) << " = " << wDetectorBaseAddress + (int)strtol(offsets[a][0], NULL, 0) << " with '" << offsets[a][1] << "'; " << bytesOut << " bytes were written" << endl; } else { log << "ERROR: WriteProcessMemory() returned " << GetLastError() << endl; return false; } }
CloseHandle(scHandle);
just pasted what was necessary, the memory addresses aren't being written to even though my logging shows that WriteProcessMemory() was successful. Also, I've double checked that i have the correct memory addresses as well. lol you're not going to get advice from here. To ask on SO and give some more information about the problem. I'll take this one on. Can you post or PM me the log when this doesn't work. Does a WriteProcessMemory() ever work on your process, or is it just these offsets? Can you open a debugger on the working process and watch the memory change? Maybe changing the memory doesn't do what you expect. EDIT: Cecil is right that you need to give some more information on the problem when you first report it, otherwise you'll have to have several back-and-forth exchanges before even an expert on your problem can help you gain new insight. This is probably why you had trouble getting help from "better" programmers earlier. A good resource for how to ask questions is here: http://www.catb.org/~esr/faqs/smart-questions.html Hey I'd actually be interested in seeing the result of this! Could you please PM me the details later? I'll try to ask you about it later too (unless I forget!)
|
On January 13 2014 11:04 WarSame wrote:Hey everyone, I finished my Pong game now! This time around I tried to obey Sluggaslamoo and Darkness and make it into a MVC project with clear and small methods. In general, I think I've done so correctly. The only thing that really stands out to me as a potential non-error downside is that when you press Space and are trying to move your paddle at the same time it sometimes stops your paddle. Also, I did a non-decorated Window because the borders were messing up the display. Paddles and the ball would go through the bottom border where they weren't visible, which caused problems. The link is: https://github.com/WarSame/PongGraemeEDIT: It contains an executable JAR if you feel like checking it out. Runs right out of the box. Don't need to download anything other than the JAR.
Its much better than your first so well done.
However its not really MVC as there are no models.
Make sure to create a class for each component in your project. Not because its MVC but because of OOP, object decomposition is fundamental to OOP. If you aren't decomposing your project into separate objects, then you may as well not be using Java .
You don't really need to think too hard about it either. What does a Ping Pong game consist of? Think about that, then make the appropriate classes and place the logic there.
Your code would be ok if it was written in a non-OO language though.
|
On January 14 2014 07:52 sluggaslamoo wrote:Show nested quote +On January 13 2014 11:04 WarSame wrote:Hey everyone, I finished my Pong game now! This time around I tried to obey Sluggaslamoo and Darkness and make it into a MVC project with clear and small methods. In general, I think I've done so correctly. The only thing that really stands out to me as a potential non-error downside is that when you press Space and are trying to move your paddle at the same time it sometimes stops your paddle. Also, I did a non-decorated Window because the borders were messing up the display. Paddles and the ball would go through the bottom border where they weren't visible, which caused problems. The link is: https://github.com/WarSame/PongGraemeEDIT: It contains an executable JAR if you feel like checking it out. Runs right out of the box. Don't need to download anything other than the JAR. Its much better than your first so well done. However its not really MVC as there are no models. Make sure to create a class for each component in your project. Not because its MVC but because of OOP, object decomposition is fundamental to OOP. If you aren't decomposing your project into separate objects, then you may as well not be using Java  . You don't really need to think too hard about it either. What does a Ping Pong game consist of? Think about that, then make the appropriate classes and place the logic there. Your code would be ok if it was written in a non-OO language though. Thanks for the feedback. For MVC I thought that View = user display, Model = data, Control = controlling logic. As I saw it the Model was PongData, the View was PongPanel and the Control was PongFrame. I guess I really misunderstood what MVC is. Looking at Wikipedia this seems like it might be an example of a passive model, though, where the view is updated from the model by polling(by running the heartbeat cycle with sleep lengths). Maybe not, and honestly this is confusing me quite a bit by this point. Could you point out what you believe would make this into an MVC project?
As for making a class for each component of the project, I'm not really sure what you mean by that. Do you mean I should make one for Ball(with an X and Y value/speed), one for Paddle, and so on like that? If so, you are definitely right and I regret not doing that. If not could you please clarify it? And thanks for the feedback throughout, I definitely appreciate it. This project was a lot easier to handle organization-wise than the last one for Tic Tac Toe.
|
If I want to add H1-H6 headers to a previously made page for SEO purposes, if there any way for me to remove all formatting from them? I just want to stick them on as SEO markers and not have them effect the site visibly at all. Right now they break all kinds of stuff. I tried some resets but none of them reduce the headings to just tags.
|
|
|
|
|
|