GET https://kbin.spritesserver.nl/index.php/m/piracy@lemmy.dbzer0.com/t/23004/You-too-can-be-a-Cracker/oldest

Components

25 Twig Components
80 Render Count
2529 ms Render Time
12.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
15 30.14ms
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 3.54ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
7 1.51ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
5 1.68ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
4 0.46ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
4 10.15ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
4 13.67ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 1.42ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
3 555.88ms
entry_comments_nested
"App\Twig\Components\EntryCommentsNestedComponent"
components/_cached.html.twig
3 83.42ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 9.06ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 104.31ms
entries_cross
"App\Twig\Components\EntriesCrossComponent"
components/_cached.html.twig
1 112.00ms
editor_toolbar
"App\Twig\Components\EditorToolbarComponent"
components/editor_toolbar.html.twig
1 0.30ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.87ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 15.67ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.79ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 13.49ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 1,672.30ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 4.73ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 13.45ms
magazine_inline
"App\Twig\Components\MagazineInlineComponent"
components/magazine_inline.html.twig
1 0.35ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 20.88ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 0.40ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 1.20ms

Render calls

entry App\Twig\Components\EntryComponent 12.0 MiB 104.31 ms
Input props
[
  "entry" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
  "isSingle" => true
  "showShortSentence" => false
  "showBody" => true
]
Attributes
[
  "class" => "entry--single section--top"
]
Component
App\Twig\Components\EntryComponent {#2960
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2961 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
  +isSingle: true
  +showShortSentence: false
  +showBody: true
  +showMagazineName: false
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.34 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1943
    +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
    +cover: null
    +email: "ArkyonVeil@lemmy.world"
    +username: "@ArkyonVeil@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1705379942 {#1516
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
    +entries: Doctrine\ORM\PersistentCollection {#1706 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
    +posts: Doctrine\ORM\PersistentCollection {#1749 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
    +follows: Doctrine\ORM\PersistentCollection {#1446 …}
    +followers: Doctrine\ORM\PersistentCollection {#1409 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
    +reports: Doctrine\ORM\PersistentCollection {#1462 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
    +violations: Doctrine\ORM\PersistentCollection {#1695 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
    +awards: Doctrine\ORM\PersistentCollection {#1699 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
    +categories: Doctrine\ORM\PersistentCollection {#1674 …}
    -id: 85808
    -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
    +apId: "ArkyonVeil@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ArkyonVeil"
    +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ArkyonVeil"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705379942 {#1537
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1705379940 {#1515
      date: 2024-01-16 05:39:00.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#3206
  +user: Proxies\__CG__\App\Entity\User {#1943
    +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
    +cover: null
    +email: "ArkyonVeil@lemmy.world"
    +username: "@ArkyonVeil@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1705379942 {#1516
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
    +entries: Doctrine\ORM\PersistentCollection {#1706 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
    +posts: Doctrine\ORM\PersistentCollection {#1749 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
    +follows: Doctrine\ORM\PersistentCollection {#1446 …}
    +followers: Doctrine\ORM\PersistentCollection {#1409 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
    +reports: Doctrine\ORM\PersistentCollection {#1462 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
    +violations: Doctrine\ORM\PersistentCollection {#1695 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
    +awards: Doctrine\ORM\PersistentCollection {#1699 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
    +categories: Doctrine\ORM\PersistentCollection {#1674 …}
    -id: 85808
    -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
    +apId: "ArkyonVeil@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ArkyonVeil"
    +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ArkyonVeil"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705379942 {#1537
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1705379940 {#1515
      date: 2024-01-16 05:39:00.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.24 ms
Input props
[
  "date" => DateTimeImmutable @1687734721 {#1850
    date: 2023-06-26 01:12:01.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3276
  +date: DateTimeImmutable @1687734721 {#1850
    date: 2023-06-26 01:12:01.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.15 ms
Input props
[
  "createdAt" => DateTimeImmutable @1687734721 {#1850
    date: 2023-06-26 01:12:01.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#3340
  +createdAt: DateTimeImmutable @1687734721 {#1850
    date: 2023-06-26 01:12:01.0 +02:00
  }
  +editedAt: null
}
vote App\Twig\Components\VoteComponent 12.0 MiB 8.68 ms
Input props
[
  "subject" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3405
  +subject: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
  +formDest: "entry"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 6.79 ms
Input props
[
  "subject" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#3471
  +formDest: "entry"
  +subject: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entries_cross App\Twig\Components\EntriesCrossComponent 12.0 MiB 112.00 ms
Input props
[
  "entry" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\EntriesCrossComponent {#3785
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
      +cover: null
      +email: "ArkyonVeil@lemmy.world"
      +username: "@ArkyonVeil@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1705379942 {#1516
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
      +entries: Doctrine\ORM\PersistentCollection {#1706 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
      +posts: Doctrine\ORM\PersistentCollection {#1749 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
      +follows: Doctrine\ORM\PersistentCollection {#1446 …}
      +followers: Doctrine\ORM\PersistentCollection {#1409 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
      +reports: Doctrine\ORM\PersistentCollection {#1462 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
      +violations: Doctrine\ORM\PersistentCollection {#1695 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
      +awards: Doctrine\ORM\PersistentCollection {#1699 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
      +categories: Doctrine\ORM\PersistentCollection {#1674 …}
      -id: 85808
      -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
      +apId: "ArkyonVeil@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ArkyonVeil"
      +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ArkyonVeil"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705379942 {#1537
        date: 2024-01-16 05:39:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1705379940 {#1515
        date: 2024-01-16 05:39:00.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "piracy@lemmy.dbzer0.com"
      +title: "piracy"
      +description: """
        ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
        \n
        ---\n
        \n
        ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
        \n
        **1**. Posts must be related to the discussion of digital piracy\n
        \n
        **2**. Don’t request invites, trade, sell, or self-promote\n
        \n
        **3**. Don’t request or link to specific pirated titles, including DMs\n
        \n
        **4**. Don’t submit low-quality posts, be entitled, or harass others\n
        \n
        **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
        \n
        ---\n
        \n
        [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
        ---------------------------------------------------------------------------\n
        \n
        ### Loot, Pillage, & Plunder\n
        \n
        - [📜 Megathread](https://rentry.co/megathread)\n
        - [🪶 FAQ](https://rentry.co/piracy-faq)\n
        - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
        - [🪶 Rules](https://rentry.co/piracy-rules)\n
        \n
        ---\n
        \n
        💰 Please help cover server costs.\n
        \n
        [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
        \n
        ---
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 866
      +entryCommentCount: 20194
      +postCount: 7
      +postCommentCount: 149
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729581369 {#276
        date: 2024-10-22 09:16:09.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 51
      +apId: "piracy@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
      +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
      +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "piracy"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708748229 {#270
        date: 2024-02-24 05:17:09.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697197339 {#272
        date: 2023-10-13 13:42:19.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "You-too-can-be-a-Cracker"
    +title: "You too can be a Cracker"
    +url: null
    +body: """
      Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
      \n
      Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
      \n
      My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
      \n
      The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
      \n
      Unfortunately there were two problems with this approach:\n
      \n
      - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
      - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
      \n
      So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
      \n
      Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
      \n
      Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
      \n
      Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
      \n
      Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
      \n
      Extras:\n
      \n
      - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
      - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
      - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
      \n
      Thank you for reading about my journey. Have a day full of wonder!\n
      \n
      Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1724552410 {#2410
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 23004
    -titleTs: "'cracker':6"
    -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1687758721
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/611388"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687734721 {#1850
      date: 2023-06-26 01:12:01.0 +02:00
    }
  }
  -repository: App\Repository\EntryRepository {#271 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
}
editor_toolbar App\Twig\Components\EditorToolbarComponent 12.0 MiB 0.30 ms
Input props
[
  "id" => "entry_comment_68cc66eb64a675.19710105_body"
]
Attributes
[]
Component
App\Twig\Components\EditorToolbarComponent {#3910
  +id: "entry_comment_68cc66eb64a675.19710105_body"
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 125.48 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4316
  +comment: App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.17 ms
Input props
[
  "user" => App\Entity\User {#4058
    +avatar: null
    +cover: null
    +email: "tymon@lemm.ee"
    +username: "@tymon@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
      \n
      [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
      \n
      linktr.ee/tymonbrown
      """
    +lastActive: DateTime @1724550128 {#4118
      date: 2024-08-25 03:42:08.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
    +entries: Doctrine\ORM\PersistentCollection {#4052 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
    +posts: Doctrine\ORM\PersistentCollection {#4042 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
    +follows: Doctrine\ORM\PersistentCollection {#4174 …}
    +followers: Doctrine\ORM\PersistentCollection {#4170 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
    +reports: Doctrine\ORM\PersistentCollection {#4173 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
    +violations: Doctrine\ORM\PersistentCollection {#4163 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
    +awards: Doctrine\ORM\PersistentCollection {#4164 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
    +categories: Doctrine\ORM\PersistentCollection {#4161 …}
    -id: 10218
    -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
    +apId: "tymon@lemm.ee"
    +apProfileId: "https://lemm.ee/u/tymon"
    +apPublicUrl: "https://lemm.ee/u/tymon"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "tymon"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726542156 {#4114
      date: 2024-09-17 05:02:36.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687585520 {#4112
      date: 2023-06-24 07:45:20.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4373
  +user: App\Entity\User {#4058
    +avatar: null
    +cover: null
    +email: "tymon@lemm.ee"
    +username: "@tymon@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
      \n
      [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
      \n
      linktr.ee/tymonbrown
      """
    +lastActive: DateTime @1724550128 {#4118
      date: 2024-08-25 03:42:08.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
    +entries: Doctrine\ORM\PersistentCollection {#4052 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
    +posts: Doctrine\ORM\PersistentCollection {#4042 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
    +follows: Doctrine\ORM\PersistentCollection {#4174 …}
    +followers: Doctrine\ORM\PersistentCollection {#4170 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
    +reports: Doctrine\ORM\PersistentCollection {#4173 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
    +violations: Doctrine\ORM\PersistentCollection {#4163 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
    +awards: Doctrine\ORM\PersistentCollection {#4164 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
    +categories: Doctrine\ORM\PersistentCollection {#4161 …}
    -id: 10218
    -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
    +apId: "tymon@lemm.ee"
    +apProfileId: "https://lemm.ee/u/tymon"
    +apPublicUrl: "https://lemm.ee/u/tymon"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "tymon"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726542156 {#4114
      date: 2024-09-17 05:02:36.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687585520 {#4112
      date: 2023-06-24 07:45:20.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1687737515 {#4055
    date: 2023-06-26 01:58:35.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4428
  +date: DateTimeImmutable @1687737515 {#4055
    date: 2023-06-26 01:58:35.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1687737515 {#4055
    date: 2023-06-26 01:58:35.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#4482
  +createdAt: DateTimeImmutable @1687737515 {#4055
    date: 2023-06-26 01:58:35.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.24 ms
Input props
[
  "user" => App\Entity\User {#4058
    +avatar: null
    +cover: null
    +email: "tymon@lemm.ee"
    +username: "@tymon@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
      \n
      [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
      \n
      linktr.ee/tymonbrown
      """
    +lastActive: DateTime @1724550128 {#4118
      date: 2024-08-25 03:42:08.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
    +entries: Doctrine\ORM\PersistentCollection {#4052 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
    +posts: Doctrine\ORM\PersistentCollection {#4042 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
    +follows: Doctrine\ORM\PersistentCollection {#4174 …}
    +followers: Doctrine\ORM\PersistentCollection {#4170 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
    +reports: Doctrine\ORM\PersistentCollection {#4173 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
    +violations: Doctrine\ORM\PersistentCollection {#4163 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
    +awards: Doctrine\ORM\PersistentCollection {#4164 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
    +categories: Doctrine\ORM\PersistentCollection {#4161 …}
    -id: 10218
    -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
    +apId: "tymon@lemm.ee"
    +apProfileId: "https://lemm.ee/u/tymon"
    +apPublicUrl: "https://lemm.ee/u/tymon"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "tymon"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726542156 {#4114
      date: 2024-09-17 05:02:36.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687585520 {#4112
      date: 2023-06-24 07:45:20.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#4538
  +width: 40
  +height: 40
  +user: App\Entity\User {#4058
    +avatar: null
    +cover: null
    +email: "tymon@lemm.ee"
    +username: "@tymon@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
      \n
      [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
      \n
      linktr.ee/tymonbrown
      """
    +lastActive: DateTime @1724550128 {#4118
      date: 2024-08-25 03:42:08.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
    +entries: Doctrine\ORM\PersistentCollection {#4052 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
    +posts: Doctrine\ORM\PersistentCollection {#4042 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
    +follows: Doctrine\ORM\PersistentCollection {#4174 …}
    +followers: Doctrine\ORM\PersistentCollection {#4170 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
    +reports: Doctrine\ORM\PersistentCollection {#4173 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
    +violations: Doctrine\ORM\PersistentCollection {#4163 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
    +awards: Doctrine\ORM\PersistentCollection {#4164 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
    +categories: Doctrine\ORM\PersistentCollection {#4161 …}
    -id: 10218
    -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
    +apId: "tymon@lemm.ee"
    +apProfileId: "https://lemm.ee/u/tymon"
    +apPublicUrl: "https://lemm.ee/u/tymon"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "tymon"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726542156 {#4114
      date: 2024-09-17 05:02:36.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687585520 {#4112
      date: 2023-06-24 07:45:20.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.55 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#4627
  +subject: App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.76 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4684
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 2.37 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#4931
  +comment: App\Entity\EntryComment {#4110
    +user: App\Entity\User {#4058
      +avatar: null
      +cover: null
      +email: "tymon@lemm.ee"
      +username: "@tymon@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Knee-deep in the muck. Filmmaker, Director of Production for The Collectivist, and New Cinema Club czar.\n
        \n
        [lemmygrad account](https://lemmygrad.ml/u/tymon)\n
        \n
        linktr.ee/tymonbrown
        """
      +lastActive: DateTime @1724550128 {#4118
        date: 2024-08-25 03:42:08.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4059 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4062 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4054 …}
      +entries: Doctrine\ORM\PersistentCollection {#4052 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4050 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4047 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4045 …}
      +posts: Doctrine\ORM\PersistentCollection {#4042 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4040 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4038 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4035 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4031 …}
      +follows: Doctrine\ORM\PersistentCollection {#4174 …}
      +followers: Doctrine\ORM\PersistentCollection {#4170 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4159 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4150 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4139 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4176 …}
      +reports: Doctrine\ORM\PersistentCollection {#4173 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4136 …}
      +violations: Doctrine\ORM\PersistentCollection {#4163 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4166 …}
      +awards: Doctrine\ORM\PersistentCollection {#4164 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4162 …}
      +categories: Doctrine\ORM\PersistentCollection {#4161 …}
      -id: 10218
      -password: "$2y$13$mK7KSADVCBlJK9H3DE4X4uq4TtMf8HNPPh1ZMLZP6kvfAWB08Q3vi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4154 …}
      +apId: "tymon@lemm.ee"
      +apProfileId: "https://lemm.ee/u/tymon"
      +apPublicUrl: "https://lemm.ee/u/tymon"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "tymon"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1726542156 {#4114
        date: 2024-09-17 05:02:36.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687585520 {#4112
        date: 2023-06-24 07:45:20.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > You too can be a Cracker\n
      \n
      ಠ_ಠ
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687737515 {#4119
      date: 2023-06-26 01:58:35.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4108 …}
    +nested: Doctrine\ORM\PersistentCollection {#4106 …}
    +votes: Doctrine\ORM\PersistentCollection {#4104 …}
    +reports: Doctrine\ORM\PersistentCollection {#4102 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4070 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4074 …}
    -id: 312740
    -bodyTs: "'cracker':6 'ಠ':7,8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/422614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687737515 {#4055
      date: 2023-06-26 01:58:35.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#557 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 403.46 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#5015
  +comment: App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4131
    +avatar: null
    +cover: null
    +email: "artaban@lemmy.ml"
    +username: "@artaban@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1724552410 {#4151
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
    +entries: Doctrine\ORM\PersistentCollection {#4124 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
    +posts: Doctrine\ORM\PersistentCollection {#4182 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
    +follows: Doctrine\ORM\PersistentCollection {#4194 …}
    +followers: Doctrine\ORM\PersistentCollection {#4196 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
    +reports: Doctrine\ORM\PersistentCollection {#4206 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
    +violations: Doctrine\ORM\PersistentCollection {#4210 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
    +awards: Doctrine\ORM\PersistentCollection {#4214 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
    +categories: Doctrine\ORM\PersistentCollection {#4218 …}
    -id: 8308
    -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
    +apId: "artaban@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/artaban"
    +apPublicUrl: "https://lemmy.ml/u/artaban"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "artaban"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1697348433 {#4152
      date: 2023-10-15 07:40:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687495247 {#4149
      date: 2023-06-23 06:40:47.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#5060
  +user: App\Entity\User {#4131
    +avatar: null
    +cover: null
    +email: "artaban@lemmy.ml"
    +username: "@artaban@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1724552410 {#4151
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
    +entries: Doctrine\ORM\PersistentCollection {#4124 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
    +posts: Doctrine\ORM\PersistentCollection {#4182 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
    +follows: Doctrine\ORM\PersistentCollection {#4194 …}
    +followers: Doctrine\ORM\PersistentCollection {#4196 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
    +reports: Doctrine\ORM\PersistentCollection {#4206 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
    +violations: Doctrine\ORM\PersistentCollection {#4210 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
    +awards: Doctrine\ORM\PersistentCollection {#4214 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
    +categories: Doctrine\ORM\PersistentCollection {#4218 …}
    -id: 8308
    -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
    +apId: "artaban@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/artaban"
    +apPublicUrl: "https://lemmy.ml/u/artaban"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "artaban"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1697348433 {#4152
      date: 2023-10-15 07:40:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687495247 {#4149
      date: 2023-06-23 06:40:47.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.20 ms
Input props
[
  "date" => DateTimeImmutable @1687751510 {#4153
    date: 2023-06-26 05:51:50.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#5115
  +date: DateTimeImmutable @1687751510 {#4153
    date: 2023-06-26 05:51:50.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.11 ms
Input props
[
  "createdAt" => DateTimeImmutable @1687751510 {#4153
    date: 2023-06-26 05:51:50.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#5169
  +createdAt: DateTimeImmutable @1687751510 {#4153
    date: 2023-06-26 05:51:50.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4131
    +avatar: null
    +cover: null
    +email: "artaban@lemmy.ml"
    +username: "@artaban@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1724552410 {#4151
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
    +entries: Doctrine\ORM\PersistentCollection {#4124 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
    +posts: Doctrine\ORM\PersistentCollection {#4182 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
    +follows: Doctrine\ORM\PersistentCollection {#4194 …}
    +followers: Doctrine\ORM\PersistentCollection {#4196 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
    +reports: Doctrine\ORM\PersistentCollection {#4206 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
    +violations: Doctrine\ORM\PersistentCollection {#4210 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
    +awards: Doctrine\ORM\PersistentCollection {#4214 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
    +categories: Doctrine\ORM\PersistentCollection {#4218 …}
    -id: 8308
    -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
    +apId: "artaban@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/artaban"
    +apPublicUrl: "https://lemmy.ml/u/artaban"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "artaban"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1697348433 {#4152
      date: 2023-10-15 07:40:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687495247 {#4149
      date: 2023-06-23 06:40:47.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#5223
  +width: 40
  +height: 40
  +user: App\Entity\User {#4131
    +avatar: null
    +cover: null
    +email: "artaban@lemmy.ml"
    +username: "@artaban@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1724552410 {#4151
      date: 2024-08-25 04:20:10.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
    +entries: Doctrine\ORM\PersistentCollection {#4124 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
    +posts: Doctrine\ORM\PersistentCollection {#4182 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
    +follows: Doctrine\ORM\PersistentCollection {#4194 …}
    +followers: Doctrine\ORM\PersistentCollection {#4196 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
    +reports: Doctrine\ORM\PersistentCollection {#4206 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
    +violations: Doctrine\ORM\PersistentCollection {#4210 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
    +awards: Doctrine\ORM\PersistentCollection {#4214 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
    +categories: Doctrine\ORM\PersistentCollection {#4218 …}
    -id: 8308
    -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
    +apId: "artaban@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/artaban"
    +apPublicUrl: "https://lemmy.ml/u/artaban"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "artaban"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1697348433 {#4152
      date: 2023-10-15 07:40:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687495247 {#4149
      date: 2023-06-23 06:40:47.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.50 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#5292
  +subject: App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.69 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#5349
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 68.88 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#5589
  +comment: App\Entity\EntryComment {#4142
    +user: App\Entity\User {#4131
      +avatar: null
      +cover: null
      +email: "artaban@lemmy.ml"
      +username: "@artaban@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1724552410 {#4151
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4130 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4128 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4126 …}
      +entries: Doctrine\ORM\PersistentCollection {#4124 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4122 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4120 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4179 …}
      +posts: Doctrine\ORM\PersistentCollection {#4182 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4184 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4186 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4188 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4190 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4192 …}
      +follows: Doctrine\ORM\PersistentCollection {#4194 …}
      +followers: Doctrine\ORM\PersistentCollection {#4196 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4198 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4200 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4202 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4204 …}
      +reports: Doctrine\ORM\PersistentCollection {#4206 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4208 …}
      +violations: Doctrine\ORM\PersistentCollection {#4210 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4212 …}
      +awards: Doctrine\ORM\PersistentCollection {#4214 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4216 …}
      +categories: Doctrine\ORM\PersistentCollection {#4218 …}
      -id: 8308
      -password: "$2y$13$NPDxDZQEu57s29ioX2fEpOhqzCHgmVUanDKGgBsoIEPKEjhlC8L/."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4220 …}
      +apId: "artaban@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/artaban"
      +apPublicUrl: "https://lemmy.ml/u/artaban"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "artaban"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1697348433 {#4152
        date: 2023-10-15 07:40:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687495247 {#4149
        date: 2023-06-23 06:40:47.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "Maybe I try cracking a game sometime! I used to play MyPlayCity games all the time and i can’t even open them because they aren’t even on myplaycity website and the ones aren’t opening at all and I don’t know why. I wish I could just play all the MyPlayCity games without worrying about anything!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687751510 {#4148
      date: 2023-06-26 05:51:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4147 …}
    +nested: Doctrine\ORM\PersistentCollection {#4146 …}
    +votes: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4135 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4133 …}
    -id: 312752
    -bodyTs: "'anyth':59 'aren':26,35 'could':49 'crack':4 'even':21,28 'game':6,13,55 'know':44 'mayb':1 'myplayc':12,30,54 'one':34 'open':22,37 'play':11,51 'sometim':7 'time':16 'tri':3 'use':9 'websit':31 'wish':47 'without':56 'worri':57"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/962103"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687751510 {#4153
      date: 2023-06-26 05:51:50.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#557 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 26.94 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#5659
  +comment: App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.15 ms
Input props
[
  "user" => App\Entity\User {#4240
    +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
    +cover: null
    +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396677 {#4224
      date: 2024-10-20 05:57:57.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
    +entries: Doctrine\ORM\PersistentCollection {#4248 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
    +posts: Doctrine\ORM\PersistentCollection {#4256 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
    +follows: Doctrine\ORM\PersistentCollection {#4268 …}
    +followers: Doctrine\ORM\PersistentCollection {#4270 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
    +reports: Doctrine\ORM\PersistentCollection {#4280 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
    +violations: Doctrine\ORM\PersistentCollection {#4284 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
    +awards: Doctrine\ORM\PersistentCollection {#4288 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
    +categories: Doctrine\ORM\PersistentCollection {#4292 …}
    -id: 27751
    -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
    +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "loudWaterEnjoyer"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1722108092 {#4225
      date: 2024-07-27 21:21:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689373962 {#4226
      date: 2023-07-15 00:32:42.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#5704
  +user: App\Entity\User {#4240
    +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
    +cover: null
    +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396677 {#4224
      date: 2024-10-20 05:57:57.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
    +entries: Doctrine\ORM\PersistentCollection {#4248 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
    +posts: Doctrine\ORM\PersistentCollection {#4256 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
    +follows: Doctrine\ORM\PersistentCollection {#4268 …}
    +followers: Doctrine\ORM\PersistentCollection {#4270 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
    +reports: Doctrine\ORM\PersistentCollection {#4280 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
    +violations: Doctrine\ORM\PersistentCollection {#4284 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
    +awards: Doctrine\ORM\PersistentCollection {#4288 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
    +categories: Doctrine\ORM\PersistentCollection {#4292 …}
    -id: 27751
    -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
    +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "loudWaterEnjoyer"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1722108092 {#4225
      date: 2024-07-27 21:21:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689373962 {#4226
      date: 2023-07-15 00:32:42.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1687763769 {#4223
    date: 2023-06-26 09:16:09.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#5759
  +date: DateTimeImmutable @1687763769 {#4223
    date: 2023-06-26 09:16:09.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.11 ms
Input props
[
  "createdAt" => DateTimeImmutable @1687763769 {#4223
    date: 2023-06-26 09:16:09.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#5813
  +createdAt: DateTimeImmutable @1687763769 {#4223
    date: 2023-06-26 09:16:09.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 2.95 ms
Input props
[
  "user" => App\Entity\User {#4240
    +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
    +cover: null
    +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396677 {#4224
      date: 2024-10-20 05:57:57.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
    +entries: Doctrine\ORM\PersistentCollection {#4248 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
    +posts: Doctrine\ORM\PersistentCollection {#4256 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
    +follows: Doctrine\ORM\PersistentCollection {#4268 …}
    +followers: Doctrine\ORM\PersistentCollection {#4270 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
    +reports: Doctrine\ORM\PersistentCollection {#4280 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
    +violations: Doctrine\ORM\PersistentCollection {#4284 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
    +awards: Doctrine\ORM\PersistentCollection {#4288 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
    +categories: Doctrine\ORM\PersistentCollection {#4292 …}
    -id: 27751
    -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
    +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "loudWaterEnjoyer"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1722108092 {#4225
      date: 2024-07-27 21:21:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689373962 {#4226
      date: 2023-07-15 00:32:42.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#5867
  +width: 40
  +height: 40
  +user: App\Entity\User {#4240
    +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
    +cover: null
    +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396677 {#4224
      date: 2024-10-20 05:57:57.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
    +entries: Doctrine\ORM\PersistentCollection {#4248 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
    +posts: Doctrine\ORM\PersistentCollection {#4256 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
    +follows: Doctrine\ORM\PersistentCollection {#4268 …}
    +followers: Doctrine\ORM\PersistentCollection {#4270 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
    +reports: Doctrine\ORM\PersistentCollection {#4280 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
    +violations: Doctrine\ORM\PersistentCollection {#4284 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
    +awards: Doctrine\ORM\PersistentCollection {#4288 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
    +categories: Doctrine\ORM\PersistentCollection {#4292 …}
    -id: 27751
    -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
    +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "loudWaterEnjoyer"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1722108092 {#4225
      date: 2024-07-27 21:21:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689373962 {#4226
      date: 2023-07-15 00:32:42.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.42 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#5938
  +subject: App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 5.42 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#5995
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 12.17 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#6235
  +comment: App\Entity\EntryComment {#4227
    +user: App\Entity\User {#4240
      +avatar: Proxies\__CG__\App\Entity\Image {#4241 …}
      +cover: null
      +email: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +username: "@loudWaterEnjoyer@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396677 {#4224
        date: 2024-10-20 05:57:57.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4242 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4244 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4246 …}
      +entries: Doctrine\ORM\PersistentCollection {#4248 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4250 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4252 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4254 …}
      +posts: Doctrine\ORM\PersistentCollection {#4256 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4258 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4260 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4262 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4264 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4266 …}
      +follows: Doctrine\ORM\PersistentCollection {#4268 …}
      +followers: Doctrine\ORM\PersistentCollection {#4270 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4272 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4274 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4276 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4278 …}
      +reports: Doctrine\ORM\PersistentCollection {#4280 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4282 …}
      +violations: Doctrine\ORM\PersistentCollection {#4284 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4286 …}
      +awards: Doctrine\ORM\PersistentCollection {#4288 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4290 …}
      +categories: Doctrine\ORM\PersistentCollection {#4292 …}
      -id: 27751
      -password: "$2y$13$jyU7P.alx1Oby5/4H3BqI.Xw11pYg.yGc/VVxZ9RhJ6khect0ARoG"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4294 …}
      +apId: "loudWaterEnjoyer@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/loudWaterEnjoyer"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "loudWaterEnjoyer"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1722108092 {#4225
        date: 2024-07-27 21:21:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689373962 {#4226
        date: 2023-07-15 00:32:42.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
        +cover: null
        +email: "ArkyonVeil@lemmy.world"
        +username: "@ArkyonVeil@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1705379942 {#1516
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
        +entries: Doctrine\ORM\PersistentCollection {#1706 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
        +posts: Doctrine\ORM\PersistentCollection {#1749 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
        +follows: Doctrine\ORM\PersistentCollection {#1446 …}
        +followers: Doctrine\ORM\PersistentCollection {#1409 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
        +reports: Doctrine\ORM\PersistentCollection {#1462 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
        +violations: Doctrine\ORM\PersistentCollection {#1695 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
        +awards: Doctrine\ORM\PersistentCollection {#1699 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
        +categories: Doctrine\ORM\PersistentCollection {#1674 …}
        -id: 85808
        -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
        +apId: "ArkyonVeil@lemmy.world"
        +apProfileId: "https://lemmy.world/u/ArkyonVeil"
        +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "ArkyonVeil"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705379942 {#1537
          date: 2024-01-16 05:39:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1705379940 {#1515
          date: 2024-01-16 05:39:00.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +name: "piracy@lemmy.dbzer0.com"
        +title: "piracy"
        +description: """
          ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
          \n
          ---\n
          \n
          ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
          \n
          **1**. Posts must be related to the discussion of digital piracy\n
          \n
          **2**. Don’t request invites, trade, sell, or self-promote\n
          \n
          **3**. Don’t request or link to specific pirated titles, including DMs\n
          \n
          **4**. Don’t submit low-quality posts, be entitled, or harass others\n
          \n
          **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
          \n
          ---\n
          \n
          [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
          ---------------------------------------------------------------------------\n
          \n
          ### Loot, Pillage, & Plunder\n
          \n
          - [📜 Megathread](https://rentry.co/megathread)\n
          - [🪶 FAQ](https://rentry.co/piracy-faq)\n
          - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
          - [🪶 Rules](https://rentry.co/piracy-rules)\n
          \n
          ---\n
          \n
          💰 Please help cover server costs.\n
          \n
          [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
          \n
          ---
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 866
        +entryCommentCount: 20194
        +postCount: 7
        +postCommentCount: 149
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729581369 {#276
          date: 2024-10-22 09:16:09.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 51
        +apId: "piracy@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
        +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
        +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "piracy"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1708748229 {#270
          date: 2024-02-24 05:17:09.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1697197339 {#272
          date: 2023-10-13 13:42:19.0 +02:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +slug: "You-too-can-be-a-Cracker"
      +title: "You too can be a Cracker"
      +url: null
      +body: """
        Two years ago I’ve tried my hand at cracking something, it’s quite an unknown game, Arena Wars was the name. I always found it fun to take it for a spin, try out a match or two, then forget about it for a couple months.\n
        \n
        Until inevitably, the reason for this project came up. See the game originally came in a disk, and it worked fine at the time, as time moved on however, disk drives ceased to be a thing, now only emulating drives, or plugging drives via USB was possible. Guess what, the game’s builtin DRM did not recognize either of them and now I had a game that I owned but could not play. Only way to get it back is by cracking it, it’s abandonware too, so its not like anyone gives a damn.\n
        \n
        My first try wasn’t very successful, x64dbg is a very complicated tool and to anyone who isn’t used to reverse-engineering, it’s a brutal way to start. Hence giving up, a few months ago I tried with a new technique.\n
        \n
        The game, albeit very old, was one of the first to be built in .NET, the same framework which powers Unity games. This meant that there were decompilers (like dnSpy) which could decompile the code and make it easily editable.\n
        \n
        Unfortunately there were two problems with this approach:\n
        \n
        - Arena Wars is so old that modern decompilers only support decompiling the code, but not recompiling changes directly, those changes needed to be done manually in the IL code. If you don’t know what that is, it’s basically working in Assembly, one step above writing in bits and bytes.\n
        - The code was obfuscated, meaning I had no idea what any of it did, only how it’s structured. Making matters worse was that the game had multiple languages, meaning that I couldn’t even directly search for text to find what i needed.\n
        \n
        So despite being able to see the code, I had my work cut out for me. What followed was a whole trial and error. If the game thought it wasn’t legit, it launched in Demo mode, I had to figure out where it got the check for the CD from and flip it so it thought it was legit. Because that I was writing tweaks in IL code, given my skill level, the most I could do is change a + to a - for example, or a < to a >. If I wrote new code or added complex functions, it would change the size of a class and crash the game.\n
        \n
        Eventually though I got to where the changes were affecting how the game responded. I discovered the game had an alternate Multiplayer Demo mode, (basically the same thing), as well as a fake real mode. Where it says its legit, but nothing works. While I did this, I took various notes, learning what each function most likely did, steadily building my knowledge of how the game worked, until I discovered where it checked the CDs.\n
        \n
        Soon enough, I got lucky and the Demo was no more. I intercepted the response code from the CD check and mangled it quite a bit, now it thinks its legit. Dunno how or why, but now it does. Anyways, soon after cracking it, I ended up cleaning the crack, figuring out exactly which change did it the trick in the executable and boiled down the entire crack to a single changed byte.\n
        \n
        Overall, it was quite like a brainteaser, fun to solve, and my reward was getting my game back!\n
        \n
        Not saying that anything like SECUROM or DENUVO are next, but for those that like this kind of thing, I imagine they’d start small and slowly get to that level. At the end of the day, it’s only a puzzle.\n
        \n
        Extras:\n
        \n
        - [What I saw most of the time.](https://i.imgur.com/4F9gwDw.png)\n
        - [The notes I took while cracking it.](https://i.imgur.com/FZVqc2V.png)\n
        - [Making the final crack.](https://i.imgur.com/jawURjG.mp4)\n
        \n
        Thank you for reading about my journey. Have a day full of wonder!\n
        \n
        Edit: If you can’t see the images clearly, that’s probably because you’re seeing them in Imgur’s mobile site. When in a phone it automatically redirects you there with a garbage version. To see them clearly, switch on desktop view. >:(
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 2
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1724552410 {#2410
        date: 2024-08-25 04:20:10.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 23004
      -titleTs: "'cracker':6"
      -bodyTs: "'/4f9gwdw.png)':658 '/fzvqc2v.png)':668 '/jawurjg.mp4)':675 'abandonwar':133 'abl':333 'ad':425 'affect':449 'ago':3,180 'albeit':189 'altern':460 'alway':24 'anyon':139,158 'anyth':609 'anyway':554 'approach':234 'arena':18,235 'assembl':277 'automat':716 'back':126,605 'basic':274,464 'bit':283,540 'boil':578 'brainteas':594 'brutal':170 'build':499 'built':199 'builtin':100 'byte':285,587 'came':55,61 'cd':379,533 'cds':514 'ceas':79 'chang':251,254,409,430,447,569,586 'check':376,512,534 'class':435 'clean':562 'clear':697,727 'code':221,247,263,287,337,398,423,530 'complex':426 'complic':154 'could':118,218,406 'couldn':318 'coupl':46 'crack':10,129,557,564,582,664,672 'crash':437 'cut':342 'd':628 'damn':142 'day':642,685 'decompil':214,219,242,245 'demo':365,462,522 'denuvo':613 'desktop':730 'despit':331 'direct':252,321 'discov':455,509 'disk':64,77 'dnspi':216 'done':258 'drive':78,87,90 'drm':101 'dunno':546 'easili':225 'edit':226,689 'either':105 'emul':86 'end':560,639 'engin':166 'enough':516 'entir':581 'error':353 'even':320 'eventu':440 'exact':567 'exampl':414 'execut':576 'extra':648 'fake':472 'figur':370,565 'final':671 'find':326 'fine':68 'first':144,196 'flip':382 'follow':347 'forget':41 'found':25 'framework':204 'full':686 'fun':27,595 'function':427,494 'game':17,59,98,113,188,208,311,356,439,452,457,505,604 'garbag':722 'get':124,602,633 'give':140,175 'given':399 'got':374,443,518 'guess':95 'hand':8 'henc':174 'howev':76 'i.imgur.com':657,667,674 'i.imgur.com/4f9gwdw.png)':656 'i.imgur.com/fzvqc2v.png)':666 'i.imgur.com/jawurjg.mp4)':673 'idea':294 'il':262,397 'imag':696 'imagin':626 'imgur':707 'inevit':49 'intercept':527 'isn':160 'journey':682 'kind':622 'know':268 'knowledg':501 'languag':314 'launch':363 'learn':491 'legit':361,389,479,545 'level':402,636 'like':138,215,496,592,610,620 'lucki':519 'make':223,305,669 'mangl':536 'manual':259 'match':37 'matter':306 'mean':290,315 'meant':210 'mobil':709 'mode':366,463,474 'modern':241 'month':47,179 'move':74 'multipl':313 'multiplay':461 'name':22 'need':255,329 'net':201 'new':185,422 'next':615 'note':490,660 'noth':481 'obfusc':289 'old':191,239 'one':193,278 'origin':60 'overal':588 'own':116 'phone':714 'play':120 'plug':89 'possibl':94 'power':206 'probabl':700 'problem':231 'project':54 'puzzl':647 'quit':14,538,591 're':703 'read':679 'real':473 'reason':51 'recogn':104 'recompil':250 'redirect':717 'respond':453 'respons':529 'revers':165 'reverse-engin':164 'reward':600 'saw':651 'say':477,607 'search':322 'securom':611 'see':57,335,694,704,725 'singl':585 'site':710 'size':432 'skill':401 'slowli':632 'small':630 'solv':597 'someth':11 'soon':515,555 'spin':33 'start':173,629 'steadili':498 'step':279 'structur':304 'success':149 'support':244 'switch':728 'take':29 'techniqu':186 'text':324 'thank':676 'thing':83,467,624 'think':543 'though':441 'thought':357,386 'time':71,73,655 'took':488,662 'tool':155 'tri':6,34,145,182 'trial':351 'trick':573 'tweak':395 'two':1,39,230 'unfortun':227 'uniti':207 'unknown':16 'usb':92 'use':162 'various':489 've':5 'version':723 'via':91 'view':731 'war':19,236 'wasn':146,359 'way':122,171 'well':469 'whole':350 'wonder':688 'work':67,275,341,482,506 'wors':307 'would':429 'write':281,394 'wrote':421 'x64dbg':150 'year':2"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1687758721
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/611388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1687734721 {#1850
        date: 2023-06-26 01:12:01.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "![](https://lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1687763769 {#4222
      date: 2023-06-26 09:16:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ArkyonVeil@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4228 …}
    +nested: Doctrine\ORM\PersistentCollection {#4230 …}
    +votes: Doctrine\ORM\PersistentCollection {#4232 …}
    +reports: Doctrine\ORM\PersistentCollection {#4234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4236 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4238 …}
    -id: 312751
    -bodyTs: "'/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':3 'lemmy.dbzer0.com':2 'lemmy.dbzer0.com/pictrs/image/90f04980-09e1-42af-9cf8-0fb2ccd29a8e.jpeg)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/320829"
    +editedAt: null
    +createdAt: DateTimeImmutable @1687763769 {#4223
      date: 2023-06-26 09:16:09.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#557 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 12.0 MiB 8.78 ms
Input props
[
  "label" => "Sidebar position"
  "settingsKey" => "KBIN_GENERAL_SIDEBAR_POSITION"
  "values" => [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  "defaultValue" => "RIGHT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#6360
  +label: "Sidebar position"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SIDEBAR_POSITION"
  +values: [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  +defaultValue: "RIGHT"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.26 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6424
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.16 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6489
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.17 ms
Input props
[
  "label" => "Infinite scrolling"
  "help" => "Automatically load more content when you reach the bottom of the page."
  "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6545
  +label: "Infinite scrolling"
  +help: "Automatically load more content when you reach the bottom of the page."
  +settingsKey: "KBIN_GENERAL_INFINITE_SCROLL"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.15 ms
Input props
[
  "label" => "Sticky navbar"
  "help" => "The navbar will stick to the top of the page when you scroll down."
  "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6604
  +label: "Sticky navbar"
  +help: "The navbar will stick to the top of the page when you scroll down."
  +settingsKey: "KBIN_GENERAL_FIXED_NAVBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.17 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6660
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.23 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6716
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.61 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#6774
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.26 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6837
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.29 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#6895
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.26 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#6951
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.26 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#7007
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.34 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7063
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_ENTRIES_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.26 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7119
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.25 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7175
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.25 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7231
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.27 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7287
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.24 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7343
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_POSTS_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.24 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7399
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 12.0 MiB 0.28 ms
Input props
[
  "label" => "Comment reply position"
  "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION"
  "values" => [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  "defaultValue" => "TOP"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#7455
  +label: "Comment reply position"
  +help: "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  +settingsKey: "KBIN_COMMENTS_REPLY_POSITION"
  +values: [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  +defaultValue: "TOP"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.29 ms
Input props
[
  "label" => "Show Comment Avatars"
  "help" => "Display/hide user avatars when viewing comments on a single thread or post."
  "settingsKey" => "KBIN_COMMENTS_SHOW_USER_AVATAR"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#7513
  +label: "Show Comment Avatars"
  +help: "Display/hide user avatars when viewing comments on a single thread or post."
  +settingsKey: "KBIN_COMMENTS_SHOW_USER_AVATAR"
  +defaultValue: true
  +reloadRequired: true
}
user_actions App\Twig\Components\UserActionsComponent 12.0 MiB 0.87 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1943
    +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
    +cover: null
    +email: "ArkyonVeil@lemmy.world"
    +username: "@ArkyonVeil@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1705379942 {#1516
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
    +entries: Doctrine\ORM\PersistentCollection {#1706 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
    +posts: Doctrine\ORM\PersistentCollection {#1749 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
    +follows: Doctrine\ORM\PersistentCollection {#1446 …}
    +followers: Doctrine\ORM\PersistentCollection {#1409 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
    +reports: Doctrine\ORM\PersistentCollection {#1462 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
    +violations: Doctrine\ORM\PersistentCollection {#1695 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
    +awards: Doctrine\ORM\PersistentCollection {#1699 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
    +categories: Doctrine\ORM\PersistentCollection {#1674 …}
    -id: 85808
    -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
    +apId: "ArkyonVeil@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ArkyonVeil"
    +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ArkyonVeil"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705379942 {#1537
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1705379940 {#1515
      date: 2024-01-16 05:39:00.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#7598
  +user: Proxies\__CG__\App\Entity\User {#1943
    +avatar: Proxies\__CG__\App\Entity\Image {#1632 …}
    +cover: null
    +email: "ArkyonVeil@lemmy.world"
    +username: "@ArkyonVeil@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1705379942 {#1516
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1704 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1712 …}
    +entries: Doctrine\ORM\PersistentCollection {#1706 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1657 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1745 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1469 …}
    +posts: Doctrine\ORM\PersistentCollection {#1749 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1491 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1779 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1633 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1754 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1449 …}
    +follows: Doctrine\ORM\PersistentCollection {#1446 …}
    +followers: Doctrine\ORM\PersistentCollection {#1409 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1461 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1416 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1433 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1435 …}
    +reports: Doctrine\ORM\PersistentCollection {#1462 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1429 …}
    +violations: Doctrine\ORM\PersistentCollection {#1695 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1698 …}
    +awards: Doctrine\ORM\PersistentCollection {#1699 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1615 …}
    +categories: Doctrine\ORM\PersistentCollection {#1674 …}
    -id: 85808
    -password: "$2y$13$8ELlrkB.iBWqdkoebwKrjue6PbtGQ6PqMW3Tkm6zBbsr7ArTDIV.W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1671 …}
    +apId: "ArkyonVeil@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ArkyonVeil"
    +apPublicUrl: "https://lemmy.world/u/ArkyonVeil"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ArkyonVeil"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705379942 {#1537
      date: 2024-01-16 05:39:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1705379940 {#1515
      date: 2024-01-16 05:39:00.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.25 ms
Input props
[
  "date" => DateTimeImmutable @1687734721 {#1850
    date: 2023-06-26 01:12:01.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7659
  +date: DateTimeImmutable @1687734721 {#1850
    date: 2023-06-26 01:12:01.0 +02:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 12.0 MiB 15.67 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#7715
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +showCover: true
  +showDescription: true
  +showRules: true
  +showSubscribeButton: true
  +showInfo: true
  +showMeta: true
  +showSectionTitle: true
  +stretchedLink: true
}
magazine_sub App\Twig\Components\MagazineSubComponent 12.0 MiB 0.79 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#7773
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.24 ms
Input props
[
  "date" => DateTimeImmutable @1697197339 {#272
    date: 2023-10-13 13:42:19.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7975
  +date: DateTimeImmutable @1697197339 {#272
    date: 2023-10-13 13:42:19.0 +02:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.87 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#8034
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#8081
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8083 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8085 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8087 …}
    +entries: Doctrine\ORM\PersistentCollection {#8089 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8091 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8093 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8095 …}
    +posts: Doctrine\ORM\PersistentCollection {#8097 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8099 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8101 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8103 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8105 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8107 …}
    +follows: Doctrine\ORM\PersistentCollection {#8109 …}
    +followers: Doctrine\ORM\PersistentCollection {#8111 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8113 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8115 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8117 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8119 …}
    +reports: Doctrine\ORM\PersistentCollection {#8121 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8123 …}
    +violations: Doctrine\ORM\PersistentCollection {#8125 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8127 …}
    +awards: Doctrine\ORM\PersistentCollection {#8129 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8131 …}
    +categories: Doctrine\ORM\PersistentCollection {#8133 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8135 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#8082
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#8052
  +user: Proxies\__CG__\App\Entity\User {#8034
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#8081
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8083 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8085 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8087 …}
    +entries: Doctrine\ORM\PersistentCollection {#8089 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8091 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8093 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8095 …}
    +posts: Doctrine\ORM\PersistentCollection {#8097 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8099 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8101 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8103 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8105 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8107 …}
    +follows: Doctrine\ORM\PersistentCollection {#8109 …}
    +followers: Doctrine\ORM\PersistentCollection {#8111 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8113 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8115 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8117 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8119 …}
    +reports: Doctrine\ORM\PersistentCollection {#8121 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8123 …}
    +violations: Doctrine\ORM\PersistentCollection {#8125 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8127 …}
    +awards: Doctrine\ORM\PersistentCollection {#8129 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8131 …}
    +categories: Doctrine\ORM\PersistentCollection {#8133 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8135 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#8082
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 12.0 MiB 13.49 ms
Input props
[
  "magazine" => "piracy@lemmy.dbzer0.com"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#8243
  +limit: 4
  +tag: null
  +magazine: "piracy@lemmy.dbzer0.com"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#334 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 12.0 MiB 1,672.30 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#8369
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  -userRepository: App\Repository\UserRepository {#603 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 1.66 ms
Input props
[
  "user" => App\Entity\User {#9250
    +avatar: Proxies\__CG__\App\Entity\Image {#9251 …}
    +cover: Proxies\__CG__\App\Entity\Image {#9252 …}
    +email: "hal_5700X@lemmy.world"
    +username: "@hal_5700X@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      I’m not a bot account, Dave.\n
      \n
      Live well and live broadly. You are alive and living now. Now is the envy of all of the dead.
      """
    +lastActive: DateTime @1729032575 {#9247
      date: 2024-10-16 00:49:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9253 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9255 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9257 …}
    +entries: Doctrine\ORM\PersistentCollection {#9259 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9261 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9263 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9265 …}
    +posts: Doctrine\ORM\PersistentCollection {#9267 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9269 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9271 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9273 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9275 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9277 …}
    +follows: Doctrine\ORM\PersistentCollection {#9279 …}
    +followers: Doctrine\ORM\PersistentCollection {#9281 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9283 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9285 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9287 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9289 …}
    +reports: Doctrine\ORM\PersistentCollection {#9291 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9293 …}
    +violations: Doctrine\ORM\PersistentCollection {#9295 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9297 …}
    +awards: Doctrine\ORM\PersistentCollection {#9299 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9301 …}
    +categories: Doctrine\ORM\PersistentCollection {#9303 …}
    -id: 21635
    -password: "$2y$13$Ylb/JJ6nFi9swlfFok7Zf.bzhWms459BNNG.HcNOKSmzO1lqVae9W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9305 …}
    +apId: "hal_5700X@lemmy.world"
    +apProfileId: "https://lemmy.world/u/hal_5700X"
    +apPublicUrl: "https://lemmy.world/u/hal_5700X"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "hal_5700X"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728704532 {#9248
      date: 2024-10-12 05:42:12.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689034966 {#9249
      date: 2023-07-11 02:22:46.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#8425
  +width: 65
  +height: 65
  +user: App\Entity\User {#9250
    +avatar: Proxies\__CG__\App\Entity\Image {#9251 …}
    +cover: Proxies\__CG__\App\Entity\Image {#9252 …}
    +email: "hal_5700X@lemmy.world"
    +username: "@hal_5700X@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      I’m not a bot account, Dave.\n
      \n
      Live well and live broadly. You are alive and living now. Now is the envy of all of the dead.
      """
    +lastActive: DateTime @1729032575 {#9247
      date: 2024-10-16 00:49:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9253 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9255 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9257 …}
    +entries: Doctrine\ORM\PersistentCollection {#9259 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9261 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9263 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9265 …}
    +posts: Doctrine\ORM\PersistentCollection {#9267 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9269 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9271 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9273 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9275 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9277 …}
    +follows: Doctrine\ORM\PersistentCollection {#9279 …}
    +followers: Doctrine\ORM\PersistentCollection {#9281 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9283 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9285 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9287 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9289 …}
    +reports: Doctrine\ORM\PersistentCollection {#9291 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9293 …}
    +violations: Doctrine\ORM\PersistentCollection {#9295 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9297 …}
    +awards: Doctrine\ORM\PersistentCollection {#9299 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9301 …}
    +categories: Doctrine\ORM\PersistentCollection {#9303 …}
    -id: 21635
    -password: "$2y$13$Ylb/JJ6nFi9swlfFok7Zf.bzhWms459BNNG.HcNOKSmzO1lqVae9W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9305 …}
    +apId: "hal_5700X@lemmy.world"
    +apProfileId: "https://lemmy.world/u/hal_5700X"
    +apPublicUrl: "https://lemmy.world/u/hal_5700X"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "hal_5700X"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728704532 {#9248
      date: 2024-10-12 05:42:12.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689034966 {#9249
      date: 2023-07-11 02:22:46.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 12.01 ms
Input props
[
  "user" => App\Entity\User {#9547
    +avatar: Proxies\__CG__\App\Entity\Image {#9548 …}
    +cover: null
    +email: "blakeus12@hexbear.net"
    +username: "@blakeus12@hexbear.net"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Marxist-Leninist trapped in the U.S. Empire. From the river to the sea!\n
      \n
      Mastodon: blakeus12@toots.matapacos.dog
      """
    +lastActive: DateTime @1728021211 {#9544
      date: 2024-10-04 07:53:31.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9549 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9551 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9553 …}
    +entries: Doctrine\ORM\PersistentCollection {#9555 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9557 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9559 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9561 …}
    +posts: Doctrine\ORM\PersistentCollection {#9563 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9565 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9567 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9569 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9571 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9573 …}
    +follows: Doctrine\ORM\PersistentCollection {#9575 …}
    +followers: Doctrine\ORM\PersistentCollection {#9577 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9579 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9581 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9583 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9585 …}
    +reports: Doctrine\ORM\PersistentCollection {#9587 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9589 …}
    +violations: Doctrine\ORM\PersistentCollection {#9591 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9593 …}
    +awards: Doctrine\ORM\PersistentCollection {#9595 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9597 …}
    +categories: Doctrine\ORM\PersistentCollection {#9599 …}
    -id: 64911
    -password: "$2y$13$QdCbTCGXsFLPo35xoqNxXON2GHe00Nuo7BpVlPG6HMLbqE20swWvi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9601 …}
    +apId: "blakeus12@hexbear.net"
    +apProfileId: "https://hexbear.net/u/blakeus12"
    +apPublicUrl: "https://hexbear.net/u/blakeus12"
    +apFollowersUrl: null
    +apInboxUrl: "https://hexbear.net/inbox"
    +apDomain: "hexbear.net"
    +apPreferredUsername: "blakeus12"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1720047044 {#9545
      date: 2024-07-04 00:50:44.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698010857 {#9546
      date: 2023-10-22 23:40:57.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10073
  +width: 65
  +height: 65
  +user: App\Entity\User {#9547
    +avatar: Proxies\__CG__\App\Entity\Image {#9548 …}
    +cover: null
    +email: "blakeus12@hexbear.net"
    +username: "@blakeus12@hexbear.net"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Marxist-Leninist trapped in the U.S. Empire. From the river to the sea!\n
      \n
      Mastodon: blakeus12@toots.matapacos.dog
      """
    +lastActive: DateTime @1728021211 {#9544
      date: 2024-10-04 07:53:31.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9549 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9551 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9553 …}
    +entries: Doctrine\ORM\PersistentCollection {#9555 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9557 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9559 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9561 …}
    +posts: Doctrine\ORM\PersistentCollection {#9563 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9565 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9567 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9569 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9571 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9573 …}
    +follows: Doctrine\ORM\PersistentCollection {#9575 …}
    +followers: Doctrine\ORM\PersistentCollection {#9577 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9579 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9581 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9583 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9585 …}
    +reports: Doctrine\ORM\PersistentCollection {#9587 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9589 …}
    +violations: Doctrine\ORM\PersistentCollection {#9591 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9593 …}
    +awards: Doctrine\ORM\PersistentCollection {#9595 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9597 …}
    +categories: Doctrine\ORM\PersistentCollection {#9599 …}
    -id: 64911
    -password: "$2y$13$QdCbTCGXsFLPo35xoqNxXON2GHe00Nuo7BpVlPG6HMLbqE20swWvi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9601 …}
    +apId: "blakeus12@hexbear.net"
    +apProfileId: "https://hexbear.net/u/blakeus12"
    +apPublicUrl: "https://hexbear.net/u/blakeus12"
    +apFollowersUrl: null
    +apInboxUrl: "https://hexbear.net/inbox"
    +apDomain: "hexbear.net"
    +apPreferredUsername: "blakeus12"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1720047044 {#9545
      date: 2024-07-04 00:50:44.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698010857 {#9546
      date: 2023-10-22 23:40:57.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.68 ms
Input props
[
  "user" => App\Entity\User {#8869
    +avatar: Proxies\__CG__\App\Entity\Image {#8870 …}
    +cover: null
    +email: "Shkshkshk@dice.camp"
    +username: "@Shkshkshk@dice.camp"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: ""
    +lastActive: DateTime @1697949449 {#8874
      date: 2023-10-22 06:37:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8867 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8865 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8863 …}
    +entries: Doctrine\ORM\PersistentCollection {#8861 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8859 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8857 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8855 …}
    +posts: Doctrine\ORM\PersistentCollection {#8853 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8851 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8849 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8847 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8845 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8843 …}
    +follows: Doctrine\ORM\PersistentCollection {#8841 …}
    +followers: Doctrine\ORM\PersistentCollection {#8839 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8837 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8835 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8833 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8831 …}
    +reports: Doctrine\ORM\PersistentCollection {#8829 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8827 …}
    +violations: Doctrine\ORM\PersistentCollection {#8825 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8823 …}
    +awards: Doctrine\ORM\PersistentCollection {#8821 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8819 …}
    +categories: Doctrine\ORM\PersistentCollection {#8817 …}
    -id: 63707
    -password: "$2y$13$AYuknouCUNmG48rFzn.KEeEEKWukU3K75We/MQfkzr8qJhAwRv6FW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8815 …}
    +apId: "Shkshkshk@dice.camp"
    +apProfileId: "https://dice.camp/users/Shkshkshk"
    +apPublicUrl: "https://dice.camp/@Shkshkshk"
    +apFollowersUrl: "https://dice.camp/users/Shkshkshk/followers"
    +apInboxUrl: "https://dice.camp/inbox"
    +apDomain: "dice.camp"
    +apPreferredUsername: "Shkshkshk"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1697949450 {#8871
      date: 2023-10-22 06:37:30.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697853999 {#8872
      date: 2023-10-21 04:06:39.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10130
  +width: 65
  +height: 65
  +user: App\Entity\User {#8869
    +avatar: Proxies\__CG__\App\Entity\Image {#8870 …}
    +cover: null
    +email: "Shkshkshk@dice.camp"
    +username: "@Shkshkshk@dice.camp"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: ""
    +lastActive: DateTime @1697949449 {#8874
      date: 2023-10-22 06:37:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8867 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8865 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8863 …}
    +entries: Doctrine\ORM\PersistentCollection {#8861 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8859 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8857 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8855 …}
    +posts: Doctrine\ORM\PersistentCollection {#8853 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8851 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8849 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8847 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8845 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8843 …}
    +follows: Doctrine\ORM\PersistentCollection {#8841 …}
    +followers: Doctrine\ORM\PersistentCollection {#8839 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8837 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8835 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8833 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8831 …}
    +reports: Doctrine\ORM\PersistentCollection {#8829 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8827 …}
    +violations: Doctrine\ORM\PersistentCollection {#8825 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8823 …}
    +awards: Doctrine\ORM\PersistentCollection {#8821 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8819 …}
    +categories: Doctrine\ORM\PersistentCollection {#8817 …}
    -id: 63707
    -password: "$2y$13$AYuknouCUNmG48rFzn.KEeEEKWukU3K75We/MQfkzr8qJhAwRv6FW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8815 …}
    +apId: "Shkshkshk@dice.camp"
    +apProfileId: "https://dice.camp/users/Shkshkshk"
    +apPublicUrl: "https://dice.camp/@Shkshkshk"
    +apFollowersUrl: "https://dice.camp/users/Shkshkshk/followers"
    +apInboxUrl: "https://dice.camp/inbox"
    +apDomain: "dice.camp"
    +apPreferredUsername: "Shkshkshk"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1697949450 {#8871
      date: 2023-10-22 06:37:30.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697853999 {#8872
      date: 2023-10-21 04:06:39.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.57 ms
Input props
[
  "user" => App\Entity\User {#9310
    +avatar: Proxies\__CG__\App\Entity\Image {#9311 …}
    +cover: null
    +email: "nostradiel@lemmy.world"
    +username: "@nostradiel@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "The Czech Republic citizen so excuse my English language mistakes 🫡"
    +lastActive: DateTime @1728577077 {#9307
      date: 2024-10-10 18:17:57.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9312 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9314 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9316 …}
    +entries: Doctrine\ORM\PersistentCollection {#9318 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9320 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9322 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9324 …}
    +posts: Doctrine\ORM\PersistentCollection {#9326 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9328 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9330 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9332 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9334 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9336 …}
    +follows: Doctrine\ORM\PersistentCollection {#9338 …}
    +followers: Doctrine\ORM\PersistentCollection {#9340 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9342 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9344 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9346 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9348 …}
    +reports: Doctrine\ORM\PersistentCollection {#9350 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9352 …}
    +violations: Doctrine\ORM\PersistentCollection {#9354 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9356 …}
    +awards: Doctrine\ORM\PersistentCollection {#9358 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9360 …}
    +categories: Doctrine\ORM\PersistentCollection {#9362 …}
    -id: 27205
    -password: "$2y$13$kmmYgnrGTB.Ifp7plJdzW.vbR.uAHx5zbkx60SQojqFNXS/2aXU1q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9364 …}
    +apId: "nostradiel@lemmy.world"
    +apProfileId: "https://lemmy.world/u/nostradiel"
    +apPublicUrl: "https://lemmy.world/u/nostradiel"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "nostradiel"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729231148 {#9308
      date: 2024-10-18 07:59:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689329863 {#9309
      date: 2023-07-14 12:17:43.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10187
  +width: 65
  +height: 65
  +user: App\Entity\User {#9310
    +avatar: Proxies\__CG__\App\Entity\Image {#9311 …}
    +cover: null
    +email: "nostradiel@lemmy.world"
    +username: "@nostradiel@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "The Czech Republic citizen so excuse my English language mistakes 🫡"
    +lastActive: DateTime @1728577077 {#9307
      date: 2024-10-10 18:17:57.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9312 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9314 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9316 …}
    +entries: Doctrine\ORM\PersistentCollection {#9318 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9320 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9322 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9324 …}
    +posts: Doctrine\ORM\PersistentCollection {#9326 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9328 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9330 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9332 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9334 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9336 …}
    +follows: Doctrine\ORM\PersistentCollection {#9338 …}
    +followers: Doctrine\ORM\PersistentCollection {#9340 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9342 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9344 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9346 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9348 …}
    +reports: Doctrine\ORM\PersistentCollection {#9350 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9352 …}
    +violations: Doctrine\ORM\PersistentCollection {#9354 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9356 …}
    +awards: Doctrine\ORM\PersistentCollection {#9358 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9360 …}
    +categories: Doctrine\ORM\PersistentCollection {#9362 …}
    -id: 27205
    -password: "$2y$13$kmmYgnrGTB.Ifp7plJdzW.vbR.uAHx5zbkx60SQojqFNXS/2aXU1q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9364 …}
    +apId: "nostradiel@lemmy.world"
    +apProfileId: "https://lemmy.world/u/nostradiel"
    +apPublicUrl: "https://lemmy.world/u/nostradiel"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "nostradiel"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729231148 {#9308
      date: 2024-10-18 07:59:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689329863 {#9309
      date: 2023-07-14 12:17:43.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.55 ms
Input props
[
  "user" => App\Entity\User {#9131
    +avatar: Proxies\__CG__\App\Entity\Image {#9132 …}
    +cover: null
    +email: "Flatworm7591@lemmy.dbzer0.com"
    +username: "@Flatworm7591@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "wiki-user: unruffled"
    +lastActive: DateTime @1709237203 {#9128
      date: 2024-02-29 21:06:43.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9133 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9135 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9137 …}
    +entries: Doctrine\ORM\PersistentCollection {#9139 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9141 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9143 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9145 …}
    +posts: Doctrine\ORM\PersistentCollection {#9147 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9149 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9151 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9153 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9155 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9157 …}
    +follows: Doctrine\ORM\PersistentCollection {#9159 …}
    +followers: Doctrine\ORM\PersistentCollection {#9161 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9163 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9165 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9167 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9169 …}
    +reports: Doctrine\ORM\PersistentCollection {#9171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9173 …}
    +violations: Doctrine\ORM\PersistentCollection {#9175 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9177 …}
    +awards: Doctrine\ORM\PersistentCollection {#9179 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9181 …}
    +categories: Doctrine\ORM\PersistentCollection {#9183 …}
    -id: 57581
    -password: "$2y$13$s7dYbdrK5E1/edy/yngf7edL.B7yTkQSJBEfEdYPXAv6vWC.bA8bq"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9185 …}
    +apId: "Flatworm7591@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/Flatworm7591"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/Flatworm7591"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "Flatworm7591"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708436033 {#9129
      date: 2024-02-20 14:33:53.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197391 {#9130
      date: 2023-10-13 13:43:11.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10244
  +width: 65
  +height: 65
  +user: App\Entity\User {#9131
    +avatar: Proxies\__CG__\App\Entity\Image {#9132 …}
    +cover: null
    +email: "Flatworm7591@lemmy.dbzer0.com"
    +username: "@Flatworm7591@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "wiki-user: unruffled"
    +lastActive: DateTime @1709237203 {#9128
      date: 2024-02-29 21:06:43.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9133 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9135 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9137 …}
    +entries: Doctrine\ORM\PersistentCollection {#9139 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9141 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9143 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9145 …}
    +posts: Doctrine\ORM\PersistentCollection {#9147 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9149 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9151 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9153 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9155 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9157 …}
    +follows: Doctrine\ORM\PersistentCollection {#9159 …}
    +followers: Doctrine\ORM\PersistentCollection {#9161 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9163 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9165 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9167 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9169 …}
    +reports: Doctrine\ORM\PersistentCollection {#9171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9173 …}
    +violations: Doctrine\ORM\PersistentCollection {#9175 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9177 …}
    +awards: Doctrine\ORM\PersistentCollection {#9179 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9181 …}
    +categories: Doctrine\ORM\PersistentCollection {#9183 …}
    -id: 57581
    -password: "$2y$13$s7dYbdrK5E1/edy/yngf7edL.B7yTkQSJBEfEdYPXAv6vWC.bA8bq"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9185 …}
    +apId: "Flatworm7591@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/Flatworm7591"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/Flatworm7591"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "Flatworm7591"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708436033 {#9129
      date: 2024-02-20 14:33:53.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197391 {#9130
      date: 2023-10-13 13:43:11.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 1.93 ms
Input props
[
  "user" => App\Entity\User {#9488
    +avatar: Proxies\__CG__\App\Entity\Image {#9489 …}
    +cover: null
    +email: "Darkassassin07@lemmy.ca"
    +username: "@Darkassassin07@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "🇨🇦"
    +lastActive: DateTime @1729563346 {#9485
      date: 2024-10-22 04:15:46.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9490 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9492 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9494 …}
    +entries: Doctrine\ORM\PersistentCollection {#9496 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9498 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9500 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9502 …}
    +posts: Doctrine\ORM\PersistentCollection {#9504 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9506 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9508 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9510 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9512 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9514 …}
    +follows: Doctrine\ORM\PersistentCollection {#9516 …}
    +followers: Doctrine\ORM\PersistentCollection {#9518 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9520 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9522 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9524 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9526 …}
    +reports: Doctrine\ORM\PersistentCollection {#9528 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9530 …}
    +violations: Doctrine\ORM\PersistentCollection {#9532 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9534 …}
    +awards: Doctrine\ORM\PersistentCollection {#9536 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9538 …}
    +categories: Doctrine\ORM\PersistentCollection {#9540 …}
    -id: 27376
    -password: "$2y$13$jLvMFh8lIqKyPkrRQdHGXuI01YYBZk6gdnkeynBAw27Tc5tsHPTYi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9542 …}
    +apId: "Darkassassin07@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/Darkassassin07"
    +apPublicUrl: "https://lemmy.ca/u/Darkassassin07"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "Darkassassin07"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729535816 {#9486
      date: 2024-10-21 20:36:56.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689340815 {#9487
      date: 2023-07-14 15:20:15.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10301
  +width: 65
  +height: 65
  +user: App\Entity\User {#9488
    +avatar: Proxies\__CG__\App\Entity\Image {#9489 …}
    +cover: null
    +email: "Darkassassin07@lemmy.ca"
    +username: "@Darkassassin07@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "🇨🇦"
    +lastActive: DateTime @1729563346 {#9485
      date: 2024-10-22 04:15:46.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9490 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9492 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9494 …}
    +entries: Doctrine\ORM\PersistentCollection {#9496 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9498 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9500 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9502 …}
    +posts: Doctrine\ORM\PersistentCollection {#9504 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9506 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9508 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9510 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9512 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9514 …}
    +follows: Doctrine\ORM\PersistentCollection {#9516 …}
    +followers: Doctrine\ORM\PersistentCollection {#9518 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9520 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9522 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9524 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9526 …}
    +reports: Doctrine\ORM\PersistentCollection {#9528 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9530 …}
    +violations: Doctrine\ORM\PersistentCollection {#9532 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9534 …}
    +awards: Doctrine\ORM\PersistentCollection {#9536 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9538 …}
    +categories: Doctrine\ORM\PersistentCollection {#9540 …}
    -id: 27376
    -password: "$2y$13$jLvMFh8lIqKyPkrRQdHGXuI01YYBZk6gdnkeynBAw27Tc5tsHPTYi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9542 …}
    +apId: "Darkassassin07@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/Darkassassin07"
    +apPublicUrl: "https://lemmy.ca/u/Darkassassin07"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "Darkassassin07"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729535816 {#9486
      date: 2024-10-21 20:36:56.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689340815 {#9487
      date: 2023-07-14 15:20:15.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.54 ms
Input props
[
  "user" => App\Entity\User {#9190
    +avatar: Proxies\__CG__\App\Entity\Image {#9191 …}
    +cover: Proxies\__CG__\App\Entity\Image {#9192 …}
    +email: "Riccardo_Mar@mastodon.uno"
    +username: "@Riccardo_Mar@mastodon.uno"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      I mainly react to auditory stimuli and delicate implicit attentions.\n
      \n
      [#audio](https://mastodon.uno/tags/audio) [#soundart](https://mastodon.uno/tags/soundart) [#reaper](https://mastodon.uno/tags/reaper) [#dada](https://mastodon.uno/tags/dada) [#situationism](https://mastodon.uno/tags/situationism)
      """
    +lastActive: DateTime @1702746170 {#9187
      date: 2023-12-16 18:02:50.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9193 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9195 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9197 …}
    +entries: Doctrine\ORM\PersistentCollection {#9199 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9201 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9203 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9205 …}
    +posts: Doctrine\ORM\PersistentCollection {#9207 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9209 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9211 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9213 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9215 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9217 …}
    +follows: Doctrine\ORM\PersistentCollection {#9219 …}
    +followers: Doctrine\ORM\PersistentCollection {#9221 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9223 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9225 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9227 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9229 …}
    +reports: Doctrine\ORM\PersistentCollection {#9231 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9233 …}
    +violations: Doctrine\ORM\PersistentCollection {#9235 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9237 …}
    +awards: Doctrine\ORM\PersistentCollection {#9239 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9241 …}
    +categories: Doctrine\ORM\PersistentCollection {#9243 …}
    -id: 78062
    -password: "$2y$13$ux8bP8KmnuQQ.kSbHy8Hj.XDbB2c1biZ8YLi9EwjRxb8g6C9Lkmiu"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9245 …}
    +apId: "Riccardo_Mar@mastodon.uno"
    +apProfileId: "https://mastodon.uno/users/Riccardo_Mar"
    +apPublicUrl: "https://mastodon.uno/@Riccardo_Mar"
    +apFollowersUrl: "https://mastodon.uno/users/Riccardo_Mar/followers"
    +apInboxUrl: "https://mastodon.uno/inbox"
    +apDomain: "mastodon.uno"
    +apPreferredUsername: "Riccardo_Mar"
    +apDiscoverable: false
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705066671 {#9188
      date: 2024-01-12 14:37:51.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700792231 {#9189
      date: 2023-11-24 03:17:11.0 +01:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10364
  +width: 65
  +height: 65
  +user: App\Entity\User {#9190
    +avatar: Proxies\__CG__\App\Entity\Image {#9191 …}
    +cover: Proxies\__CG__\App\Entity\Image {#9192 …}
    +email: "Riccardo_Mar@mastodon.uno"
    +username: "@Riccardo_Mar@mastodon.uno"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      I mainly react to auditory stimuli and delicate implicit attentions.\n
      \n
      [#audio](https://mastodon.uno/tags/audio) [#soundart](https://mastodon.uno/tags/soundart) [#reaper](https://mastodon.uno/tags/reaper) [#dada](https://mastodon.uno/tags/dada) [#situationism](https://mastodon.uno/tags/situationism)
      """
    +lastActive: DateTime @1702746170 {#9187
      date: 2023-12-16 18:02:50.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9193 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9195 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9197 …}
    +entries: Doctrine\ORM\PersistentCollection {#9199 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9201 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9203 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9205 …}
    +posts: Doctrine\ORM\PersistentCollection {#9207 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9209 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9211 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9213 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9215 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9217 …}
    +follows: Doctrine\ORM\PersistentCollection {#9219 …}
    +followers: Doctrine\ORM\PersistentCollection {#9221 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9223 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9225 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9227 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9229 …}
    +reports: Doctrine\ORM\PersistentCollection {#9231 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9233 …}
    +violations: Doctrine\ORM\PersistentCollection {#9235 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9237 …}
    +awards: Doctrine\ORM\PersistentCollection {#9239 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9241 …}
    +categories: Doctrine\ORM\PersistentCollection {#9243 …}
    -id: 78062
    -password: "$2y$13$ux8bP8KmnuQQ.kSbHy8Hj.XDbB2c1biZ8YLi9EwjRxb8g6C9Lkmiu"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9245 …}
    +apId: "Riccardo_Mar@mastodon.uno"
    +apProfileId: "https://mastodon.uno/users/Riccardo_Mar"
    +apPublicUrl: "https://mastodon.uno/@Riccardo_Mar"
    +apFollowersUrl: "https://mastodon.uno/users/Riccardo_Mar/followers"
    +apInboxUrl: "https://mastodon.uno/inbox"
    +apDomain: "mastodon.uno"
    +apPreferredUsername: "Riccardo_Mar"
    +apDiscoverable: false
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705066671 {#9188
      date: 2024-01-12 14:37:51.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700792231 {#9189
      date: 2023-11-24 03:17:11.0 +01:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.52 ms
Input props
[
  "user" => App\Entity\User {#8812
    +avatar: Proxies\__CG__\App\Entity\Image {#8809 …}
    +cover: Proxies\__CG__\App\Entity\Image {#8810 …}
    +email: "Harry_h0udini@lemmy.dbzer0.com"
    +username: "@Harry_h0udini@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "CEO of [Technomagnus](technomagnus.vercel.app)"
    +lastActive: DateTime @1729103250 {#8813
      date: 2024-10-16 20:27:30.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8807 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8805 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8803 …}
    +entries: Doctrine\ORM\PersistentCollection {#8801 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8799 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8797 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8795 …}
    +posts: Doctrine\ORM\PersistentCollection {#8793 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8791 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8789 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8787 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8785 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8783 …}
    +follows: Doctrine\ORM\PersistentCollection {#8781 …}
    +followers: Doctrine\ORM\PersistentCollection {#8779 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8777 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8775 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8773 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8771 …}
    +reports: Doctrine\ORM\PersistentCollection {#8769 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8767 …}
    +violations: Doctrine\ORM\PersistentCollection {#8765 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8763 …}
    +awards: Doctrine\ORM\PersistentCollection {#8761 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8759 …}
    +categories: Doctrine\ORM\PersistentCollection {#8757 …}
    -id: 58632
    -password: "$2y$13$ew9YhSNKrnmG4u9caKDKOO8BNtUly2iKebsccTMQUYpzscatGkV1C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8755 …}
    +apId: "Harry_h0udini@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/Harry_h0udini"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/Harry_h0udini"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "Harry_h0udini"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1709937873 {#8814
      date: 2024-03-08 23:44:33.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697269040 {#8811
      date: 2023-10-14 09:37:20.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10421
  +width: 65
  +height: 65
  +user: App\Entity\User {#8812
    +avatar: Proxies\__CG__\App\Entity\Image {#8809 …}
    +cover: Proxies\__CG__\App\Entity\Image {#8810 …}
    +email: "Harry_h0udini@lemmy.dbzer0.com"
    +username: "@Harry_h0udini@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "CEO of [Technomagnus](technomagnus.vercel.app)"
    +lastActive: DateTime @1729103250 {#8813
      date: 2024-10-16 20:27:30.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8807 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8805 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8803 …}
    +entries: Doctrine\ORM\PersistentCollection {#8801 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8799 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8797 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8795 …}
    +posts: Doctrine\ORM\PersistentCollection {#8793 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8791 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8789 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8787 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8785 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8783 …}
    +follows: Doctrine\ORM\PersistentCollection {#8781 …}
    +followers: Doctrine\ORM\PersistentCollection {#8779 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8777 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8775 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8773 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8771 …}
    +reports: Doctrine\ORM\PersistentCollection {#8769 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8767 …}
    +violations: Doctrine\ORM\PersistentCollection {#8765 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8763 …}
    +awards: Doctrine\ORM\PersistentCollection {#8761 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8759 …}
    +categories: Doctrine\ORM\PersistentCollection {#8757 …}
    -id: 58632
    -password: "$2y$13$ew9YhSNKrnmG4u9caKDKOO8BNtUly2iKebsccTMQUYpzscatGkV1C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8755 …}
    +apId: "Harry_h0udini@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/Harry_h0udini"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/Harry_h0udini"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "Harry_h0udini"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1709937873 {#8814
      date: 2024-03-08 23:44:33.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697269040 {#8811
      date: 2023-10-14 09:37:20.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.75 ms
Input props
[
  "user" => App\Entity\User {#9666
    +avatar: Proxies\__CG__\App\Entity\Image {#9667 …}
    +cover: Proxies\__CG__\App\Entity\Image {#9668 …}
    +email: "princessnorah@lemmy.blahaj.zone"
    +username: "@princessnorah@lemmy.blahaj.zone"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      👽Dropped at birth from space to earth👽\n
      \n
      👽she/they👽
      """
    +lastActive: DateTime @1727678889 {#9663
      date: 2024-09-30 08:48:09.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9669 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9671 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9673 …}
    +entries: Doctrine\ORM\PersistentCollection {#9675 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9677 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9679 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9681 …}
    +posts: Doctrine\ORM\PersistentCollection {#9683 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9685 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9687 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9689 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9691 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9693 …}
    +follows: Doctrine\ORM\PersistentCollection {#9695 …}
    +followers: Doctrine\ORM\PersistentCollection {#9697 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9699 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9701 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9703 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9705 …}
    +reports: Doctrine\ORM\PersistentCollection {#9707 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9709 …}
    +violations: Doctrine\ORM\PersistentCollection {#9711 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9713 …}
    +awards: Doctrine\ORM\PersistentCollection {#9715 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9717 …}
    +categories: Doctrine\ORM\PersistentCollection {#9719 …}
    -id: 26374
    -password: "$2y$13$UnkU4UJ1sRqcruid8dwCMuKFdl3yCNfHaN8j1fVKwNuP.65aLgGlK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9721 …}
    +apId: "princessnorah@lemmy.blahaj.zone"
    +apProfileId: "https://lemmy.blahaj.zone/u/princessnorah"
    +apPublicUrl: "https://lemmy.blahaj.zone/u/princessnorah"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.blahaj.zone/inbox"
    +apDomain: "lemmy.blahaj.zone"
    +apPreferredUsername: "princessnorah"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727462040 {#9664
      date: 2024-09-27 20:34:00.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689255128 {#9665
      date: 2023-07-13 15:32:08.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10478
  +width: 65
  +height: 65
  +user: App\Entity\User {#9666
    +avatar: Proxies\__CG__\App\Entity\Image {#9667 …}
    +cover: Proxies\__CG__\App\Entity\Image {#9668 …}
    +email: "princessnorah@lemmy.blahaj.zone"
    +username: "@princessnorah@lemmy.blahaj.zone"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      👽Dropped at birth from space to earth👽\n
      \n
      👽she/they👽
      """
    +lastActive: DateTime @1727678889 {#9663
      date: 2024-09-30 08:48:09.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#9669 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9671 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9673 …}
    +entries: Doctrine\ORM\PersistentCollection {#9675 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9677 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9679 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9681 …}
    +posts: Doctrine\ORM\PersistentCollection {#9683 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9685 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9687 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9689 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9691 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9693 …}
    +follows: Doctrine\ORM\PersistentCollection {#9695 …}
    +followers: Doctrine\ORM\PersistentCollection {#9697 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9699 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9701 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9703 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9705 …}
    +reports: Doctrine\ORM\PersistentCollection {#9707 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9709 …}
    +violations: Doctrine\ORM\PersistentCollection {#9711 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9713 …}
    +awards: Doctrine\ORM\PersistentCollection {#9715 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9717 …}
    +categories: Doctrine\ORM\PersistentCollection {#9719 …}
    -id: 26374
    -password: "$2y$13$UnkU4UJ1sRqcruid8dwCMuKFdl3yCNfHaN8j1fVKwNuP.65aLgGlK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9721 …}
    +apId: "princessnorah@lemmy.blahaj.zone"
    +apProfileId: "https://lemmy.blahaj.zone/u/princessnorah"
    +apPublicUrl: "https://lemmy.blahaj.zone/u/princessnorah"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.blahaj.zone/inbox"
    +apDomain: "lemmy.blahaj.zone"
    +apPreferredUsername: "princessnorah"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727462040 {#9664
      date: 2024-09-27 20:34:00.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689255128 {#9665
      date: 2023-07-13 15:32:08.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 2.59 ms
Input props
[
  "user" => App\Entity\User {#8717
    +avatar: Proxies\__CG__\App\Entity\Image {#8716 …}
    +cover: null
    +email: "db0@lemmy.dbzer0.com"
    +username: "@db0@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Epicurean Revolutionary Libertarian Socialist\n
      \n
      I make [FOSS](https://github.com/db0) things:\n
      \n
      - [AI Horde](https://aihorde.net)\n
      - [Fediseer](https://fediseer.com)\n
      - [Pythörhead](https://github.com/db0/pythorhead)\n
      - [Lucid Creations](https://dbzer0.itch.io/lucid-creations)\n
      \n
      wiki-user: db0
      """
    +lastActive: DateTime @1729133551 {#8720
      date: 2024-10-17 04:52:31.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8715 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8711 …}
    +entries: Doctrine\ORM\PersistentCollection {#8709 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8707 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8705 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8703 …}
    +posts: Doctrine\ORM\PersistentCollection {#8701 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8699 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8697 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8695 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8693 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8691 …}
    +follows: Doctrine\ORM\PersistentCollection {#8689 …}
    +followers: Doctrine\ORM\PersistentCollection {#8687 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8685 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8683 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8681 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8679 …}
    +reports: Doctrine\ORM\PersistentCollection {#8677 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8675 …}
    +violations: Doctrine\ORM\PersistentCollection {#8673 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8671 …}
    +awards: Doctrine\ORM\PersistentCollection {#8669 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8667 …}
    +categories: Doctrine\ORM\PersistentCollection {#8665 …}
    -id: 3194
    -password: "$2y$13$q45DmduSSvkmf5f312QK3eA4kCqt.yoS9on6oiMQZ0se4qVoiwI.a"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8663 …}
    +apId: "db0@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/db0"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/db0"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "db0"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729136030 {#8719
      date: 2024-10-17 05:33:50.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687056004 {#8718
      date: 2023-06-18 04:40:04.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10535
  +width: 65
  +height: 65
  +user: App\Entity\User {#8717
    +avatar: Proxies\__CG__\App\Entity\Image {#8716 …}
    +cover: null
    +email: "db0@lemmy.dbzer0.com"
    +username: "@db0@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Epicurean Revolutionary Libertarian Socialist\n
      \n
      I make [FOSS](https://github.com/db0) things:\n
      \n
      - [AI Horde](https://aihorde.net)\n
      - [Fediseer](https://fediseer.com)\n
      - [Pythörhead](https://github.com/db0/pythorhead)\n
      - [Lucid Creations](https://dbzer0.itch.io/lucid-creations)\n
      \n
      wiki-user: db0
      """
    +lastActive: DateTime @1729133551 {#8720
      date: 2024-10-17 04:52:31.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8715 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8711 …}
    +entries: Doctrine\ORM\PersistentCollection {#8709 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8707 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8705 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8703 …}
    +posts: Doctrine\ORM\PersistentCollection {#8701 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8699 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8697 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8695 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8693 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8691 …}
    +follows: Doctrine\ORM\PersistentCollection {#8689 …}
    +followers: Doctrine\ORM\PersistentCollection {#8687 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8685 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8683 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8681 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8679 …}
    +reports: Doctrine\ORM\PersistentCollection {#8677 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8675 …}
    +violations: Doctrine\ORM\PersistentCollection {#8673 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8671 …}
    +awards: Doctrine\ORM\PersistentCollection {#8669 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8667 …}
    +categories: Doctrine\ORM\PersistentCollection {#8665 …}
    -id: 3194
    -password: "$2y$13$q45DmduSSvkmf5f312QK3eA4kCqt.yoS9on6oiMQZ0se4qVoiwI.a"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8663 …}
    +apId: "db0@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/db0"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/db0"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "db0"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729136030 {#8719
      date: 2024-10-17 05:33:50.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687056004 {#8718
      date: 2023-06-18 04:40:04.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 4.32 ms
Input props
[
  "user" => App\Entity\User {#8930
    +avatar: Proxies\__CG__\App\Entity\Image {#8927 …}
    +cover: null
    +email: "Zuberi@lemmy.dbzer0.com"
    +username: "@Zuberi@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      DRS GME and end the ponzi. Bleed the 1%\n
      \n
      [www.drsgme.org](https://www.drsgme.org/)\n
      \n
      wiki-user: Zuberi
      """
    +lastActive: DateTime @1728560839 {#8931
      date: 2024-10-10 13:47:19.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8928 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8926 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8924 …}
    +entries: Doctrine\ORM\PersistentCollection {#8922 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8920 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8918 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8916 …}
    +posts: Doctrine\ORM\PersistentCollection {#8914 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8912 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8910 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8908 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8906 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8904 …}
    +follows: Doctrine\ORM\PersistentCollection {#8902 …}
    +followers: Doctrine\ORM\PersistentCollection {#8900 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8898 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8896 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8894 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8892 …}
    +reports: Doctrine\ORM\PersistentCollection {#8890 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8888 …}
    +violations: Doctrine\ORM\PersistentCollection {#8886 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8884 …}
    +awards: Doctrine\ORM\PersistentCollection {#8882 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8880 …}
    +categories: Doctrine\ORM\PersistentCollection {#8878 …}
    -id: 49698
    -password: "$2y$13$wP9xnxh79oDBR8B0Fco//exwMAHTrsclrhyEFP213zdupwMBnvubC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8876 …}
    +apId: "Zuberi@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/Zuberi"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/Zuberi"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "Zuberi"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727091245 {#8932
      date: 2024-09-23 13:34:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696467024 {#8929
      date: 2023-10-05 02:50:24.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10592
  +width: 65
  +height: 65
  +user: App\Entity\User {#8930
    +avatar: Proxies\__CG__\App\Entity\Image {#8927 …}
    +cover: null
    +email: "Zuberi@lemmy.dbzer0.com"
    +username: "@Zuberi@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      DRS GME and end the ponzi. Bleed the 1%\n
      \n
      [www.drsgme.org](https://www.drsgme.org/)\n
      \n
      wiki-user: Zuberi
      """
    +lastActive: DateTime @1728560839 {#8931
      date: 2024-10-10 13:47:19.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8928 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8926 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8924 …}
    +entries: Doctrine\ORM\PersistentCollection {#8922 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8920 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8918 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#8916 …}
    +posts: Doctrine\ORM\PersistentCollection {#8914 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8912 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8910 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#8908 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#8906 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#8904 …}
    +follows: Doctrine\ORM\PersistentCollection {#8902 …}
    +followers: Doctrine\ORM\PersistentCollection {#8900 …}
    +blocks: Doctrine\ORM\PersistentCollection {#8898 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8896 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#8894 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#8892 …}
    +reports: Doctrine\ORM\PersistentCollection {#8890 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8888 …}
    +violations: Doctrine\ORM\PersistentCollection {#8886 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8884 …}
    +awards: Doctrine\ORM\PersistentCollection {#8882 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8880 …}
    +categories: Doctrine\ORM\PersistentCollection {#8878 …}
    -id: 49698
    -password: "$2y$13$wP9xnxh79oDBR8B0Fco//exwMAHTrsclrhyEFP213zdupwMBnvubC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8876 …}
    +apId: "Zuberi@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/Zuberi"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/Zuberi"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "Zuberi"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727091245 {#8932
      date: 2024-09-23 13:34:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696467024 {#8929
      date: 2023-10-05 02:50:24.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.69 ms
Input props
[
  "user" => App\Entity\User {#8407
    +avatar: Proxies\__CG__\App\Entity\Image {#8409 …}
    +cover: Proxies\__CG__\App\Entity\Image {#8410 …}
    +email: "wolfshadowheart@kbin.social"
    +username: "@wolfshadowheart@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "I like to play devil's advocate and am interested in sharing knowledge about my hobbies! I like gaming and VR, AI, herbal vaporizers, media analysis and philosophy!"
    +lastActive: DateTime @1712581366 {#8398
      date: 2024-04-08 15:02:46.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8406 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8414 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8411 …}
    +entries: Doctrine\ORM\PersistentCollection {#8419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8421 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8423 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9027 …}
    +posts: Doctrine\ORM\PersistentCollection {#9021 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8736 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8725 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9029 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9028 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9025 …}
    +follows: Doctrine\ORM\PersistentCollection {#9022 …}
    +followers: Doctrine\ORM\PersistentCollection {#9019 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9018 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8734 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9011 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9009 …}
    +reports: Doctrine\ORM\PersistentCollection {#9007 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9005 …}
    +violations: Doctrine\ORM\PersistentCollection {#9003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9001 …}
    +awards: Doctrine\ORM\PersistentCollection {#8999 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8997 …}
    +categories: Doctrine\ORM\PersistentCollection {#8995 …}
    -id: 12654
    -password: "$2y$13$AJZPTkSjwafzYwGV1tpPheXwUp8aXRxSAKFA00xox/jGCLn/0EHNy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8993 …}
    +apId: "wolfshadowheart@kbin.social"
    +apProfileId: "https://kbin.social/u/wolfshadowheart"
    +apPublicUrl: "https://kbin.social/u/wolfshadowheart"
    +apFollowersUrl: "https://kbin.social/u/wolfshadowheart/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "wolfshadowheart"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708626000 {#8404
      date: 2024-02-22 19:20:00.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1688064746 {#8391
      date: 2023-06-29 20:52:26.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10649
  +width: 65
  +height: 65
  +user: App\Entity\User {#8407
    +avatar: Proxies\__CG__\App\Entity\Image {#8409 …}
    +cover: Proxies\__CG__\App\Entity\Image {#8410 …}
    +email: "wolfshadowheart@kbin.social"
    +username: "@wolfshadowheart@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "I like to play devil's advocate and am interested in sharing knowledge about my hobbies! I like gaming and VR, AI, herbal vaporizers, media analysis and philosophy!"
    +lastActive: DateTime @1712581366 {#8398
      date: 2024-04-08 15:02:46.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#8406 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#8414 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#8411 …}
    +entries: Doctrine\ORM\PersistentCollection {#8419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#8421 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#8423 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9027 …}
    +posts: Doctrine\ORM\PersistentCollection {#9021 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#8736 …}
    +postComments: Doctrine\ORM\PersistentCollection {#8725 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9029 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9028 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9025 …}
    +follows: Doctrine\ORM\PersistentCollection {#9022 …}
    +followers: Doctrine\ORM\PersistentCollection {#9019 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9018 …}
    +blockers: Doctrine\ORM\PersistentCollection {#8734 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9011 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9009 …}
    +reports: Doctrine\ORM\PersistentCollection {#9007 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9005 …}
    +violations: Doctrine\ORM\PersistentCollection {#9003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9001 …}
    +awards: Doctrine\ORM\PersistentCollection {#8999 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#8997 …}
    +categories: Doctrine\ORM\PersistentCollection {#8995 …}
    -id: 12654
    -password: "$2y$13$AJZPTkSjwafzYwGV1tpPheXwUp8aXRxSAKFA00xox/jGCLn/0EHNy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#8993 …}
    +apId: "wolfshadowheart@kbin.social"
    +apProfileId: "https://kbin.social/u/wolfshadowheart"
    +apPublicUrl: "https://kbin.social/u/wolfshadowheart"
    +apFollowersUrl: "https://kbin.social/u/wolfshadowheart/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "wolfshadowheart"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708626000 {#8404
      date: 2024-02-22 19:20:00.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1688064746 {#8391
      date: 2023-06-29 20:52:26.0 +02:00
    }
  }
  +asLink: true
}
related_categories App\Twig\Components\RelatedCategoriesComponent 12.0 MiB 4.73 ms
Input props
[
  "magazine" => "piracy@lemmy.dbzer0.com"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#10711
  +limit: 4
  +tag: null
  +magazine: "piracy@lemmy.dbzer0.com"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#10712 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 12.0 MiB 13.45 ms
Input props
[
  "magazine" => "piracy@lemmy.dbzer0.com"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#10788
  +limit: 4
  +tag: null
  +magazine: "piracy@lemmy.dbzer0.com"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#10789 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#390 …}
}
date App\Twig\Components\DateComponent 12.0 MiB 0.29 ms
Input props
[
  "date" => DateTimeImmutable @1697853994 {#10861
    date: 2023-10-21 04:06:34.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#10957
  +date: DateTimeImmutable @1697853994 {#10861
    date: 2023-10-21 04:06:34.0 +02:00
  }
}
magazine_inline App\Twig\Components\MagazineInlineComponent 12.0 MiB 0.35 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineInlineComponent {#10985
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +showTitle: true
  +fullName: false
  +stretchedLink: false
  +showAvatar: false
}
related_entries App\Twig\Components\RelatedEntriesComponent 12.0 MiB 20.88 ms
Input props
[
  "magazine" => "piracy@lemmy.dbzer0.com"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#11050
  +limit: 4
  +tag: null
  +magazine: "piracy@lemmy.dbzer0.com"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#271 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#390 …}
}
support_us_block App\Twig\Components\SupportUsBlock 12.0 MiB 0.40 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#11143
  +subject: ? App\Entity\Contracts\VotableInterface
  +url: ? string
  -twig: Twig\Environment {#1252 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -partnerBlockRepository: App\Repository\PartnerBlockRepository {#11142 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 12.0 MiB 1.20 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#11218
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#276
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#270
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#272
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#334 …}
}