Opaque Patcher menu

User Tag List

Results 1 to 7 of 7
  1. #1
    doityourself's Avatar ★ Elder ★
    Reputation
    1424
    Join Date
    Nov 2008
    Posts
    843
    Thanks G/R
    35/448
    Trade Feedback
    0 (0%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Opaque Patcher

    Due to people only caring about random bashing instead of constructive feedback from using it on latest wow binaries you won't see any public tools like that anymore from me.

    Good luck!
    Last edited by doityourself; 11-03-2022 at 03:13 PM. Reason: plebs

    Opaque Patcher
  2. Thanks Razzue, sendeos23, thateuler, charles420, h42, ChrisIsMe, DarkLinux (7 members gave Thanks to doityourself for this useful post)
  3. #2
    thateuler's Avatar Member
    Reputation
    8
    Join Date
    May 2019
    Posts
    30
    Thanks G/R
    22/7
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Great tool. I used it to clean up DF, after unpacking with namreeb's tool. I checked a handful of functions and the disassembly/decompile looks great.

    The only caveat that I can think of is that people will need to check the original unpacked binary when making machine sigs. since some of the machine code has been changed. (e.g., xchg cl,cl, jb -> jmp)

  4. #3
    doityourself's Avatar ★ Elder ★
    Reputation
    1424
    Join Date
    Nov 2008
    Posts
    843
    Thanks G/R
    35/448
    Trade Feedback
    0 (0%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by thateuler View Post
    Great tool. I used it to clean up DF, after unpacking with namreeb's tool. I checked a handful of functions and the disassembly/decompile looks great.

    The only caveat that I can think of is that people will need to check the original unpacked binary when making machine sigs. since some of the machine code has been changed. (e.g., xchg cl,cl, jb -> jmp)
    That's true. sadly it is required to patch those
    Also IDA sucks sometimes so you have to undefined and create the whole function again. That is IDAs fault tho.
    If u have places where it did not detect jumps or so please let me now so I can try to improve the detection rate

  5. #4
    MrNoble's Avatar ezclap CoreCoins Purchaser
    Reputation
    535
    Join Date
    Sep 2015
    Posts
    357
    Thanks G/R
    170/218
    Trade Feedback
    2 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Fun fact, you don't really have to solve if a condition is opaque or not.
    All you really wanna do is fix the linear disassembly so you can press F5 and let IDA Pro take care of whatever as the conditions aren't complex at all.

    I found this source helpful in understanding how the linear disassembly was exploited: Ferib: Reversing Common Obfuscation Techniques

    peace
    Any fool can write code that a computer can understand. good programmers write code that humans can understand.

  6. #5
    doityourself's Avatar ★ Elder ★
    Reputation
    1424
    Join Date
    Nov 2008
    Posts
    843
    Thanks G/R
    35/448
    Trade Feedback
    0 (0%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by MrNoble View Post
    Fun fact, you don't really have to solve if a condition is opaque or not.
    All you really wanna do is fix the linear disassembly so you can press F5 and let IDA Pro take care of whatever as the conditions aren't complex at all.

    I found this source helpful in understanding how the linear disassembly was exploited: Ferib: Reversing Common Obfuscation Techniques

    peace
    You want to always patch the conditional jumps to unconditional jumps to get proper clean c code in ida. That is basically 'solving the opaque predicates'. Which is at the same time fixing the 'linear assembly'y patching those. The code in the thread sadly also does not solve all parts but is a nice article!
    I do not make use of any disassembler or checking flags or whatever too but these patches are a must for clean code.

    Also keep this thread only related to this tool. Anything else will be reported as spam by me.

  7. #6
    MrNoble's Avatar ezclap CoreCoins Purchaser
    Reputation
    535
    Join Date
    Sep 2015
    Posts
    357
    Thanks G/R
    170/218
    Trade Feedback
    2 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by king48488 View Post
    You want to always patch the conditional jumps to unconditional jumps to get proper clean c code in ida. That is basically 'solving the opaque predicates'. Which is at the same time fixing the 'linear assembly'y patching those. The code in the thread sadly also does not solve all parts but is a nice article!
    I do not make use of any disassembler or checking flags or whatever too but these patches are a must for clean code.

    Also keep this thread only related to this tool. Anything else will be reported as spam by me.
    It might not always be possible to solve the opaque predicates as more sophisticated obfuscation techniques make use of runtime variables with mixed boolean arithmetics. Therefore I thought it was clever to look at the assembly misalignment and 'solve' them that way.

    > Also keep this thread only related to this tool. Anything else will be reported as spam by me.
    I would love to see how this tool tackles the problem, however, I do not see any source code other than a readme. (even when downloading a release .zip, but correct me if I'm wrong)

    But if you happened to have any pseudo code or knowledge about how this tool operates I would like to see it posted here
    Any fool can write code that a computer can understand. good programmers write code that humans can understand.

  8. #7
    jmrr's Avatar Member
    Reputation
    2
    Join Date
    Nov 2022
    Posts
    1
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Right is the tool from the article, left is this tool comparison

    Not sure why it's not able to fix up these primitive cases.

  9. Thanks MrNoble (1 members gave Thanks to jmrr for this useful post)

Similar Threads

  1. My C# patcher has gone all wrong plz help
    By wowDevver24 in forum WoW Memory Editing
    Replies: 2
    Last Post: 01-01-2010, 11:20 AM
  2. [C# or C++] WoW Patcher
    By Apple Pi in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 07-12-2009, 02:18 PM
  3. [Script] Launch aoc without requiring the patcher to run first
    By raindog in forum Age of Conan Exploits|Hacks
    Replies: 18
    Last Post: 07-10-2008, 02:04 AM
  4. [UI MODS] UI Mod Auto Patcher/Mod Sites
    By Binary in forum Age of Conan Exploits|Hacks
    Replies: 0
    Last Post: 06-04-2008, 08:00 PM
  5. [usless] glitch opaque screen - cool! - w/ video
    By orangegold in forum World of Warcraft Exploits
    Replies: 4
    Last Post: 12-26-2007, 08:52 PM
All times are GMT -5. The time now is 09:31 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search