Coder Social home page Coder Social logo

laygen's People

Contributors

riscript avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

laygen's Issues

Free Flo from Context-s

  • Cycles and add_cycle can be kept in Recontex.
  • get_jump_destinations can be located in Recontex.

Detect unrolled cycles

A naive approach can be implemented by comparing two listings of instructions in-between field access. If they are the same, the field is an array.

For example:

00007FF6AC0F0098 | mov     rbx,qword ptr ds:[rdi+B0]                                |
00007FF6AC0F009F | mov     dword ptr ss:[rsp+20],FFFFFFFF                           | VVV the same instructions
00007FF6AC0F00A7 | xor     r9d,r9d                                                  |
00007FF6AC0F00AA | lea     r8,qword ptr ds:[7FF6AC26E628]                           | 00007FF6AC26E628:"Basic.MainMenu.Edit.Transform.Rotate90CW"
00007FF6AC0F00B1 | lea     rdx,qword ptr ds:[7FF6AC26E3E8]                          | rdx:WinMainCRTStartup, 00007FF6AC26E3E8:"OBSBasic"
00007FF6AC0F00B8 | lea     rcx,qword ptr ss:[rbp+1F0]                               |
00007FF6AC0F00BF | call    qword ptr ds:[<&?translate@QCoreApplication@@SA?AVQStrin |
00007FF6AC0F00C5 | nop                                                              |
00007FF6AC0F00C6 | mov     rdx,rax                                                  | rdx:WinMainCRTStartup, rax:WinMainCRTStartup
00007FF6AC0F00C9 | mov     rcx,rbx                                                  |
00007FF6AC0F00CC | call    qword ptr ds:[<&?setText@QAction@@QEAAXAEBVQString@@@Z>] |
00007FF6AC0F00D2 | nop                                                              |
00007FF6AC0F00D3 | lea     rcx,qword ptr ss:[rbp+1F0]                               |
00007FF6AC0F00DA | call    qword ptr ds:[<&??1QXmlStreamStringRef@@QEAA@XZ>]        | ^^^ the same instructions
00007FF6AC0F00E0 | mov     rbx,qword ptr ds:[rdi+B8]                                |
00007FF6AC0F00E7 | mov     dword ptr ss:[rsp+20],FFFFFFFF                           | VVV the same instructions
00007FF6AC0F00EF | xor     r9d,r9d                                                  |
00007FF6AC0F00F2 | lea     r8,qword ptr ds:[7FF6AC26E658]                           | 00007FF6AC26E658:"Basic.MainMenu.Edit.Transform.Rotate90CCW"
00007FF6AC0F00F9 | lea     rdx,qword ptr ds:[7FF6AC26E3E8]                          | rdx:WinMainCRTStartup, 00007FF6AC26E3E8:"OBSBasic"
00007FF6AC0F0100 | lea     rcx,qword ptr ss:[rbp+1F0]                               |
00007FF6AC0F0107 | call    qword ptr ds:[<&?translate@QCoreApplication@@SA?AVQStrin |
00007FF6AC0F010D | nop                                                              |
00007FF6AC0F010E | mov     rdx,rax                                                  | rdx:WinMainCRTStartup, rax:WinMainCRTStartup
00007FF6AC0F0111 | mov     rcx,rbx                                                  |
00007FF6AC0F0114 | call    qword ptr ds:[<&?setText@QAction@@QEAAXAEBVQString@@@Z>] |
00007FF6AC0F011A | nop                                                              |
00007FF6AC0F011B | lea     rcx,qword ptr ss:[rbp+1F0]                               |
00007FF6AC0F0122 | call    qword ptr ds:[<&??1QXmlStreamStringRef@@QEAA@XZ>]        | ^^^ the same instructions
00007FF6AC0F0128 | mov     rbx,qword ptr ds:[rdi+C0]                                |

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.