Code Monkey home page Code Monkey logo

reclassex's Introduction

ReClassEx

ReClass Extended

ReClassEx

New Features

  • Up and down arrow hotkeys to switch nodes
  • Delete hotkey to delete selected nodes
  • Delete icon to delete selected nodes
  • Right click quick modify menu
  • Hex 64 type
  • Insert 2048 bytes
  • New icons for some types
  • Fixed syntax highlighting for 64 bit when generating code
  • Fixed array sizes when loading .reclass files
  • Added more themes
  • Colorful tabs with sexy border
  • Added RTTI info for pointers
  • Cleaned up RTTI and made the RTTI string editable
  • Made addresses edittable for copy & pasting
  • Added memory swap option to switch endianness: thanks buddyfavors
  • Added Bits type for a bit view instead of text
  • Added ability to input module names in address node (e.g. 'reclass.exe+0x40')
  • Added Module list with the ability to create a new class at module start address
  • Added Console dialog with syntax highlighting
  • Added ability to load PDB file and display PDB Symbols
  • Process list dialog instead of scroll menu
  • Added automatic resolving of symbols for each module in a process
  • Added Ctrl+S hotkey for file saving, and others.
  • Added Plugin API for making plugins
  • Disassembly syntax highlighting (buggy)
  • View unsigned types in hexidecimal form via toggle
  • Not really a feature but the reclass files folder contains a heap of reclass files with a ton already reversed for various programs

Alt text Alt text

Current Release Download

DOWNLOAD

How to build

See wiki for instructions on how to compile:

Compilation Instructions

Plugins

See wiki for the plugin API documentation:

Plugin Documentation

TODO

  • Optimize literally everything
  • Add highlighting to bytes that change
  • Add string and byte searching feature
  • Add a kernel driver for reading and writing memory from the kernel (Already done but IS NOT SAFE!)
  • Add debugger

Authors/Special Thanks

reclassex's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reclassex's Issues

Text is too small on high DPI screens

I'm currently using a 4K monitor as my daily driver. In previous versions of ReClass Windows would simply scale the program and text was better readible albeit slightly blurry. However, in the newer releases, Windows no longer scales the program and text looks much smaller. I've been using an older build of ReClass as there's no DPI scaling or options to adjust text size in the newer builds.

For comparison, below is text in ReClass compared to the normal text size in Windows. Text in the ribbon looks fine, though text in the memory/class view is roughly two times smaller than regular text.
Normal text vs Reclass

Incorrect rendering of DWORD

There is a problem rendering DWORD values in your build of reclass:
https://i.imgur.com/f4O95Gp.png

In CNodeDWORD.cpp:

//tx = AddText( View, tx, y, g_clrValue, HS_EDIT, g_bUnsignedHex ? _T( "0x%IX" ) : _T( "%u" ), *Data ) + g_FontWidth;
tx = AddText( View, tx, y, g_clrValue, HS_EDIT, g_bUnsignedHex ? _T( "0x%lX" ) : _T( "%u" ), *Data ) + g_FontWidth;

IX (uppercase I) is for ULONG_PTR, you want lX (lower case L) for unsigned int32.

Clean text when collapsing

In Development Build 1.2.0

There's a visual bug when collapsing the parent of an element if the child is not collapsed already.

image

image

QWord

If this is x64 incarnation of REclass, where is one of the most important QWord (8 bytes unsigned) type?
Am I missing something?

Bug with editing closed classes

I'll make an issue for this here incase anyone else wants to take a look at it. I know its an issue with the child window being set, i dont have the time to look into it right now.

Also @dude719 can you update the graphic in the about dialog for ReClassEx?

I'm gonna start working on this more in the coming weeks

unable to scroll horizontally

Run into this problem when I have layered pointer which makes me expend horizontally. However it doesn't allow me to scroll.

It also lose cursor or something that when I right-click on the right part of the window, it doesn't work

Using PCHAR on any valid (non-NULL-) pointer causes crash

The buffer allocation inside ReadMemoryString (see: ReClass 2015/stdafx.cpp @ Line 93) seems one byte too small to me. There will be 64 bytes allocated and a read of the same size will be done afterwards. The problem reveals when placing the NULL-termination at buffer[bytesRead], which is already outside the bounds of our buffer and will lead to application crash through heap corruption later on.

In my opinion the allocation should read
auto buffer = std::make_unique<char[]>( max + 1 );
instead of
auto buffer = std::make_unique<char[]>( max );

Handling NULL-pointers is not affected as the preceding call to ReadMemory will fail and branch into an alternative code path.

Comments and Data Types change offsets when using arrays and class types

If I insert an array or class type into an existing structure then insert/add bytes to the array or class, the offsets for comments and data types following the class/array change.

Example:

In the image below, I have an existing structure and notice that before it is a string class/struct included in the structure. The offset for Pointer 1 and it's comment is currently 0x220:

Next I change the data type of the 32 bytes before Pointer 1 to a class, then add or insert 32 bytes to the class structure:

Notice how the comments and data types now correspond to a different offset, and Pointer 1's comment now corresponds to offset 0x238 instead of 0x220.

Nothing appear when opening a .reclass file

Hello guys,
I'm using the latest release of reclass, but when Im saving my work and opening the file into a new instance of reclass, nothing appear, the background stay gray without my previous researches being displayed. Do u guys have any idea?
Thanks in advance!

node name not right

In reclass.net. I can use this syntax to check the node memory: [<xxx.exe> + 0x1111]
in reclass.ex I can use this syntax: xxx.exe + 0x1111. However, when I add "[]" which becomes [xxx.exe + 0x1111], the node address will be 0x1111. not the valid address that xxx.exe +0x1111 address points 。

the original address.
image

when i add [],think it should be 24246198
image

Cannot type a capital 'S'

Using the current source code, keyboard shortcuts/accelerators are still being listened for when typing in a text box. Because of this, typing a capital S in a text box (e.x. to rename a class or type a comment) pulls up the Save-As Menu rather than typing a literal 'S'.

A partial fix is to change the Save-As shortcut to Ctrl-Shift-S instead of Shift-S.

Debug assertion being triggered on DeleteClass

How to reproduce:
1 - Compile in debug mode
2 - Open ReClassEx_dbg.exe
3 - Click New > Click Clean Up

This assertion on line 32 at afxwin2.inl is being triggered

_AFXWIN_INLINE LRESULT CWnd::_AFX_FUNCNAME(SendMessage)(UINT message, WPARAM wParam, LPARAM lParam) const
{ ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, message, wParam, lParam); }

Call stack:

>ReClassEx_dbg.exe!CWnd::SendMessageW(unsigned int message, unsigned int wParam, long lParam) Line 32
 ReClassEx_dbg.exe!CReClassExApp::DeleteClass(CNodeClass * pClass) Line 1609
 ReClassEx_dbg.exe!CReClassExApp::OnButtonClean() Line 1709

On CReClassExApp::DeleteClass( CNodeClass* pClass ), pClass is valid and everything seems to work as intended but that assert is still triggering.

I'm not familiar with MFC and I can't help with this.

How to include plugin in .exe file

this is the path to my plugin and reclass solution, D:\ReClassEx-master\plugins\MEME.rc-plugin64 and D:\ReClassEx-master\ReClass.sln. When i finished compiling using ReClass.sln, i found no plugin in the ReClassEx.exe .

Doesn't run on Windows XP

I tried the 32 bit version on Windows XP 32bit, and Windows says it's not a valid Win32 application. Maybe it's not supported, but since it doesn't say anywhere, I thought I would file this issue. If not supported, is there an older version that is?

x64 Address entry is limited to 4 bytes

In x64 mode the address entry bar (top left) is limited to 8 numbers or 4 bytes as each byte can have a value up to 0xFF (two numbers). To properly support x64 this bar should support numbers up to 16 characters long (8 bytes * 2 characters per byte), max value should be 0xFFFFFFFFFFFFFFFF (current is limited to 0xFFFFFFFF).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.