Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[Release] Full C# Memory Editor, Open Source

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Aecial
Cheater
Reputation: 2

Joined: 27 Jun 2012
Posts: 44

PostPosted: Fri Dec 30, 2016 5:28 pm    Post subject: [Release] Full C# Memory Editor, Open Source Reply with quote

Anathena is an open source memory editor written entirely in C#. It has scanning, x86/x64 assembly injection via C# scripts, and many other features in the works.

Site:
https://www.anathena.com/

Github:
https://github.com/Anathena/Anathena

I'm really looking for some good feedback on this tool, and if any of you are solid C# developers, contributions are welcome.
Back to top
View user's profile Send private message
STN
I post too much
Reputation: 42

Joined: 09 Nov 2005
Posts: 2672

PostPosted: Sat Dec 31, 2016 2:03 am    Post subject: Reply with quote

How is it speed-wise? Being in C#, i'd imagine it being really slow for big games
_________________
Cheat Requests/Tables- Fearless Cheat Engine
https://fearlessrevolution.com
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 198

Joined: 25 Jan 2006
Posts: 8516
Location: 127.0.0.1

PostPosted: Sat Dec 31, 2016 2:22 pm    Post subject: Reply with quote

I covered your program a while back at the start of the year when you first released a preview of it and were planning to charge for it. As I said then, that would have been the downfall of your program entirely if you planned to charge people for something that's already done in a free manner in a much bigger / better spectrum.

However, here is a more thorough review of your stuff:

1. Download size, this is pretty off-putting for a memory scanner/cheat tool. Nearly 300MB, that's the size of a small game pretty much. (Hell some games are even smaller than your tool..) I would recommend looking into shrinking things down some and removing bloat as the installer is already a downside.

2. Your download installer does not work on the website. It refuses to install fully and fails mid-download complaining things are missing.

3. Some of the libs that you use don't need to compiled from source unless you have literally made actual changes to them. Things I saw in your repo, such as WpfToolkit have full releases / nuget packages that could clean up and slim up your source repo.

4. You are not really using WPF properly and missing the point of proper design patterns such as MVVM. Your code sits in the views code-behind which hinders progression and development of things as well as prevents ease of customization and alterations to the UI. Redesigns and updates will certainly become more of a hassle to maintain given the way you have things coded currently.

5. Going along with the code, your controls should not be part of the view source. Stuff inside of:
/Anathena/Ana/View/Controls
should be in their own folder within the source such as:
/Anathena/Ana/Controls/

These are not views, and should not be stored in the views area of the source. This creates more of a stagnant repository and makes maintaining the code for yourself and potential future developers more of a hassle.

6. Unfinished code should not be in the main repository. I saw you had things like:
/Anathena/Ana/View/Controls/Unfinished/

Things like this should not be part of the main repo and instead be within a branch of their own as an in-progress implementation. Having bulk unused and unfinished code in the main repository makes your project look like a mess and deters other developers from holding interest.

7. Your UI design is a bit weird. You are using WPF but you are trying to force it to feel like a Winforms application. It would be in your interest to take hold of WPF fully and use it properly. Take advantage of what it can do and really overhaul the UI of your application. At first glance of your new videos, the UI is still fairly unfriendly to a new user or someone that is just getting started into game hacking.

While you are still more or less in the newer stages of release, I would really recommend breaking out the UI and overhauling it. Go with a more modern approach such as a Metro/Matrial design, fluid navigation within the application and a more understandable approach for a common user. If you wish to treat the program like Winforms, I would recommend just using Winforms then instead of trying to force WPF to feel that way.

One thing that is a little odd is that you advertise Anathena as a tool similar to Cheat Engine but the majority of the UI is the Cheat Browser. To me, it would be better to break the two into either separate programs that can talk to each other or break the cheat browser into a a separate window when required or some sort of transition to it when its needed. It feels more like the Cheat Browser is hiding the major features of your tool with a window that is more or less just empty space and does nothing to promote what your tool can do.

Look into more traditional WPF designs and see how you can really break things out and make a more fluid UI design that would feel more naterual and promote the key elements of your program better. Something in mind would be like moving the entire cheat browser into a simple search bar at the top, when the user begins giving input, a transition animation or similar could be used to pull the cheat browser into view with the results rather than having it take up a huge portion of the main view of the program.


I'm happy to see you went open source and removed the registration stuff. Your hard work on something like this would have definitely been completely overlooked if you planned to keep charging for the core application (memory scanning parts). It would have been a waste of your time over the last 10+ years as you say as majority of people wont even look at your app if you want to charge for something that they can get for free. (Especially with how old Cheat Engine is, the community behind it, and so on, you would have really no chance at combating it with a new tool.)

I really recommend you look into redesigning your UI and take ahold of WPF and use it to its full potential. You have a good idea with the cheat browser, you just need to implement it in a better manner in my opinion.

If you need some examples to look into with a more modern UI design, check out these projects:
http://materialdesigninxaml.net/
http://mahapps.com/
https://github.com/ButchersBoy/Dragablz

WPF is extremely easy to theme / alter and really explode out into some amazing things. Definitely look into it. Smile


As for testing the actual app, your download is currently broken so I couldn't install and test it any.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
Aecial
Cheater
Reputation: 2

Joined: 27 Jun 2012
Posts: 44

PostPosted: Sat Dec 31, 2016 5:32 pm    Post subject: Reply with quote

The download was failing due to putting out some updates fixing the file size. The size is only 10MB now.

I had to choose the trade-off of using Chrome backend with a larger download size, or IE (default for WPF) and all of the issues that come with that.

WPF tools are pretty weak currently. ie draggable nested treeviews with checkboxes do not exist yet (at least none as good as the Winforms TreeViewAdv). Code-behinds exist in places where I'm forced to do WinForms hosting or MVVM doesn't work well (ie DialogResult windows). Until I eliminate Winforms dependencies, this is going to feel like Winforms since it's a hybrid.

It may feel more WPF-like as these dependencies go away. I appreciate the feedback!

EDIT: As for speed, I wouldn't try this on anything larger than a medium sized game for now. Only some scan optimizations have been applied.
Back to top
View user's profile Send private message
Char03
Newbie cheater
Reputation: 0

Joined: 12 Nov 2015
Posts: 23

PostPosted: Sat Dec 31, 2016 6:32 pm    Post subject: Reply with quote

This works in Unity3d games to inject C# assembly?
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 198

Joined: 25 Jan 2006
Posts: 8516
Location: 127.0.0.1

PostPosted: Sun Jan 01, 2017 12:05 am    Post subject: Reply with quote

Aecial wrote:
The download was failing due to putting out some updates fixing the file size. The size is only 10MB now.

I had to choose the trade-off of using Chrome backend with a larger download size, or IE (default for WPF) and all of the issues that come with that.

WPF tools are pretty weak currently. ie draggable nested treeviews with checkboxes do not exist yet (at least none as good as the Winforms TreeViewAdv). Code-behinds exist in places where I'm forced to do WinForms hosting or MVVM doesn't work well (ie DialogResult windows). Until I eliminate Winforms dependencies, this is going to feel like Winforms since it's a hybrid.

It may feel more WPF-like as these dependencies go away. I appreciate the feedback!

EDIT: As for speed, I wouldn't try this on anything larger than a medium sized game for now. Only some scan optimizations have been applied.


Why not ditch the browser entirely and build an API to query for information and create custom controls to display the results? That would remove all the overhead of Chrome/IE and all the security issues that are with using IE. (Let alone using a browser at all in the program.)

WPF is designed for you to build the controls you need the way you want them. You can turn a simple Listbox into pretty much anything as you can override the entire template of both the listbox itself as well as how its items are displayed. Check out data binding and triggers to setup some fun and unique things.

For example, here is one of my apps written in WPF:
http://i.imgur.com/xAaw92U.gif

Some examples of what's modified that you can see:
- The navigation menu on the left is just radio buttons reskinned.
- The content on the right side is modified listbox's with custom list item templates.

The content is populated from querying my webserver for json files for update information as well as download information for when an addon/plugin is installed.

There are 0 external libraries used to do what you see, 100% done through reskinning controls and creating custom styles/templates for things. Which creates no bloat at all and no security issues with using an internal browser. Smile

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
Aecial
Cheater
Reputation: 2

Joined: 27 Jun 2012
Posts: 44

PostPosted: Sun Jan 01, 2017 7:46 pm    Post subject: Reply with quote

atom0s wrote:
Aecial wrote:
The download was failing due to putting out some updates fixing the file size. The size is only 10MB now.

I had to choose the trade-off of using Chrome backend with a larger download size, or IE (default for WPF) and all of the issues that come with that.

WPF tools are pretty weak currently. ie draggable nested treeviews with checkboxes do not exist yet (at least none as good as the Winforms TreeViewAdv). Code-behinds exist in places where I'm forced to do WinForms hosting or MVVM doesn't work well (ie DialogResult windows). Until I eliminate Winforms dependencies, this is going to feel like Winforms since it's a hybrid.

It may feel more WPF-like as these dependencies go away. I appreciate the feedback!

EDIT: As for speed, I wouldn't try this on anything larger than a medium sized game for now. Only some scan optimizations have been applied.


Why not ditch the browser entirely and build an API to query for information and create custom controls to display the results? That would remove all the overhead of Chrome/IE and all the security issues that are with using IE. (Let alone using a browser at all in the program.)

WPF is designed for you to build the controls you need the way you want them. You can turn a simple Listbox into pretty much anything as you can override the entire template of both the listbox itself as well as how its items are displayed. Check out data binding and triggers to setup some fun and unique things.

For example, here is one of my apps written in WPF:
http://i.imgur.com/xAaw92U.gif

Some examples of what's modified that you can see:
- The navigation menu on the left is just radio buttons reskinned.
- The content on the right side is modified listbox's with custom list item templates.

The content is populated from querying my webserver for json files for update information as well as download information for when an addon/plugin is installed.

There are 0 external libraries used to do what you see, 100% done through reskinning controls and creating custom styles/templates for things. Which creates no bloat at all and no security issues with using an internal browser. Smile


Yeah all of the fancy bells and whistles that come with WPF would be cool, I just think for the short term it's more important to get all of the functionality down and optimized first. My biggest constraint is time.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites