Jump to content

Baumi

Inactive Member
  • Posts

    12
  • Joined

  • Last visited

  • Feedback

    0%

About Baumi

Informations

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Baumi's Achievements

Apprentice

Apprentice (3/16)

  • Reacting Well
  • First Post
  • Collaborator
  • Week One Done
  • One Month Later

Recent Badges

69

Reputation

  1. template<class T> inline std::string NumberFormat(T value) { struct CustomNumpunct : std::numpunct < char > { protected: virtual char do_thousands_sep() const { return '.'; } virtual std::string do_grouping() const { return "\03"; } }; std::stringstream ss; ss.imbue(std::locale(std::cout.getloc(), new CustomNumpunct)); ss << std::fixed << value; return ss.str(); } // [Hidden Content]
  2. Baumi

    Ghost GUI

    This is actually a issue either me or the the developers that came after me brought into the rubinum source. The better fix is fixing it in the window manager or martysamas approach. Ymir actually already solved this in the Inferna source by introducing ui_event.py [Hidden Content] Here you have it. Basically when setting an event you use MakeEvent and when calling SetEvent you just give the argument if it has arguments you do Event(func, arg, arg, arg) for example That way you eliminate cyclic references. Also in the window manager there is an define you can enable to find elements that were not properly deleted so you can fix it by properly deleting in Destroy or __del__
  3. I hereby call this bullshit. "Reinstall the system if you can't install just updare and yeah you are noob ." A bit arrogant?
  4. In this function they take a snapshot of the process and probabbly hide the real one
  5. Hm I could put some time into reversing leuco shell [Hidden Content] or well maybe do some tries on getting an running binary / patching out leuco shell Btw are you using the correct thread? I think they are starting a fake thread or something like that The string encryption kinda sucks but when I have that solved it should be pretty easy to figure out how it works Probably it would be easier to modify the leuco shell dll or if we have enough information about it replacing it with a own version. Well the easiest method should still be doing a clear unpack of the binary, I have a almost clear unpack even the virtualized functions everything unpacked its just not executeable I got this from a friend who used the same Tool to unpack as I did but had better results You can also use this to extract every file with one issue, it works with "r" mode but there are no file extension checks handle = app.OpenTextFile(filename) count = app.GetTextFileLineCount(handle) for i in xrange(count): line = app.GetTextFileLine(handle, i)
  6. Well what about hooking CMappedFile or well CEterPackManager::GetFromPack directly to get the data? Also what did they patch in packGet I dont see any change well they pack their resources now so changing the .pyc to .gr2 for example with a packed binary wont work anymore (It could probably still work with the suspended proccess memory editing stuff) but well yeah they did not touch packGet and packExist directly those do the same things (with the exception that packExists has some extra checks you can patch out if) If you have a unpacked working themida free version just go ahead and patch the functions with ida pro and disable the checks. If not you still should be able to do some stuff because well you have the correct function signatures and some more stuff. Actually I reverse engineered it further there is no change in packGet that keeps you from extracting stuff maybe leuco shell just stops you from saving stuff?
  7. So you mean the thing were the python garbage collector does not properly work because of cyclic references? I did not known this could lead to bugs like this, i thought it would just lead to memory leaks
  8. Okay xD yours might be a bit better mine after some reverse engineering looked more like this void CMoveImageBox::SetMovePosition (float x, float y) { if (x == m_vec2TargetPos.x) { return; } if (x == m_vec2TargetPos.y) { return; } if (m_rect.top == m_vec2StartingPos.x) { return; } if (m_rect.right == m_vec2StartingPos.y) { return; } m_vec2StartingPos.x = m_rect.top; m_vec2StartingPos.y = m_rect.right; m_vec2TargetPos.x = x; m_vec2TargetPos.y = y; m_vec2NormalizedPos.x = m_vec2TargetPos.x - m_vec2StartingPos.x; m_vec2NormalizedPos.y = m_vec2TargetPos.y - m_vec2StartingPos.y; m_fMoveDist = m_vec2NormalizedPos.y * m_vec2NormalizedPos.y + m_vec2NormalizedPos.x * m_vec2NormalizedPos.x; D3DXVec2Normalize (&m_vec2NormalizedPos, &m_vec2NormalizedPos); if (m_pImageInstance && (m_vec2StartingPos.x != m_vec2NextMovePos.x || m_vec2StartingPos.y != m_vec2NextMovePos.y)) { float fDist = sqrt (m_vec2DistanceFromStart.y * m_vec2DistanceFromStart.y + m_vec2DistanceFromStart.x * m_vec2DistanceFromStart.x); m_vec2NextMovePos.x = m_vec2NormalizedPos.x * fDist; m_vec2NextMovePos.y = m_vec2NormalizedPos.y * fDist; m_pImageInstance->SetPosition (m_vec2NextMovePos.x, m_vec2NextMovePos.y); } }
  9. [Hidden Content] Success time: 0.01 memory: 15240 signal:0 you've used 214433 changes Success time: 0 memory: 16064 signal:0 you've used 1809 changes Success time: 0.03 memory: 15240 signal:0 you've used 568036 changes Success time: 0.03 memory: 15240 signal:0 you've used 493878 changes Success time: 0 memory: 16064 signal:0 you've used 71409 changes
  10. Right but well reverse engineering on cython is not that hard
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.