Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content Count

  • Joined

  • Last visited

  • Days Won


Spirited last won the day on March 30

Spirited had the most liked content!

Community Reputation

63 Excellent


About Spirited

  • Rank
  • Birthday December 18


Recent Profile Visitors

2,588 profile views
  1. Spirited

    JE to JMP

    JE is a jump equals operation. In other words, it'll only jump to a new address if a condition is met. By contrast, JMP has no comparison condition; it'll just jump. If you replace a JE instruction with a JMP instruction, it means whatever check the code was doing there will no longer run for that code path. It can be used for ignoring simple client checks without detouring the entire function.
  2. Spirited

    JE to JMP

    Entry points in general are addresses where a program starts, or less conventionally where a function/subroutine starts in assembly. Hard to say what these ones do without knowing what program he's referencing.
  3. Spirited

    JE to JMP

    I usually use C++ for things like this. Lower level Windows APIs are all in C/C++, so you'll have much finer control of memory and processes on Windows from C++. For example, if you wanted to create a new process in a suspended state and then modify its memory, you could use CreateProcess with a creation flag (CREATE_SUSPENDED). You don't have that option from C# ProcessStartInfo class. You can always use C# and use PInvokes, but I don't think it's an appropriate use for the language. Plus, if you want to inject a library as well, it means you'd be using two separate languages at that point (or trying to inject the .NET runtime which is extremely painful). Those are my two cents on the topic.
  4. Spirited

    Comet - Open Source Conquer Online Server

    Yey!! I'm so glad. Let me know if you have any questions.
  5. Spirited

    Simple database Migration manager

    I was going to add the same. That naming convention is no longer recommended unless surrounding code already follows that naming convention. Generally, you want to learn and follow the guidelines of a language so that any project you go to with that language is consistent and easy to read and contribute towards.
  6. Spirited

    Simple database Migration manager

    Looks good. I think someone mentioned naming conventions on the other board. Here're the naming guidelines I follow for dotnet. Outside of naming conversations, I prefer nice interfaces for parameterized queries over database ORMs. Maybe I've worked in Go for too long though. I can see a system like this doing really well for plain MySQL.
  7. Spirited

    Conquer Online Floor Editor

    Introduction This command-line tool allows you to edit the floor cells of Conquer Online data maps (DMaps). Each floor cell contains a flag on if players are blocked from stepping on the cell, what the surface feedback effect is when stepping on the cell, and what the elevation the cell is on. Similar to the Portal Editor, this tool can be compiled using the golang compiler for Windows, Mac, or Linux. I wrote this tool at work during our end-of-sprint game time, so it's a bit rushed. If you have any problems using it, let me know. Just fyi though, it's a command-line tool, so you must use it from a command prompt window. Picture Downloads See my portfolio website for download links and source code.
  8. I remember getting the interface down to show the product of breeding the two horses in the client. Not accurately since we don't have the real breeding algorithm, but good enough. I'd have to look back and see what I did (I can't remember off the top of my head). What I'd like to do with this project is generate breeding formulas for any desired outcome.
  9. Spirited

    Conquer Facebook Client

    You could try finding the binaries or an existing private server for it and packet log things.
  10. Spirited

    Conquer Facebook Client

    So, it sounds like the TCP handshake is working fine if it's established a connection. My guess is that Crazy Tao might be closer to Conquer 1.0 Alpha than Conquer 2.0, so you could be already getting encrypted data. Do you receive any bytes from the client after it connects?
  11. Spirited

    Conquer Facebook Client

    I'm really not sure. I've never tried setting up that client with a server. You can try the legacy cipher.
  12. Spirited

    SRP6 for higher clients

  13. Spirited

    SRP6 for higher clients

    Higher patches like that have a deviation in the algorithm. I haven't had the time to reverse it yet, but it looks like a relatively simple addition? It'd be super nice if people contributed to the wiki. 😅
  14. Spirited

    Conquer Facebook Client

    Hm. These are pretty obscure requests. I'm not sure I can help in particular, but I know there was a private server for Crazy Tao. I think it was a binary though. 😓
  15. Spirited

    Client: Disassembling Conquer in Hopper

    Yeah, the logic isn't consistent. With packets that it only accepts from the server, you'll find the logic in Process most of the time. It depends though. The more complicated packets are harder to follow. You should try the example I used to get your feet wet. It's pretty easy to get the structure, length, and packet id for. You'll figure it out, I'm sure. It just takes patience and effort - not two things I want to put into it right now which is why I posted this tutorial. Lol. I've done enough of this stuff for a while.

Important Information

By using this site, you agree to our Terms of Use.