Post AwcTwsU4q7mKZ2ei3M by ozzelot@mstdn.social
 (DIR) More posts by ozzelot@mstdn.social
 (DIR) Post #AwSH1gESIxSrfpz768 by foone@digipres.club
       2025-07-24T10:06:48Z
       
       0 likes, 0 repeats
       
       the problem with working with any non-trivial dataset of any kind, is that you can almost always write code to process 95% of the entries in a short period. then it takes 10 times as long to handle the remaining 5% of weird outliers
       
 (DIR) Post #AwSL4sDuZspNY7VaSm by foone@digipres.club
       2025-07-24T10:52:12Z
       
       0 likes, 0 repeats
       
       pass one resulted in 12313 errors. that's not TOO many!
       
 (DIR) Post #AwSL8SyMOxtIOSwogS by foone@digipres.club
       2025-07-24T10:52:31Z
       
       0 likes, 0 repeats
       
       that's only like 1 error per 3 lines of source
       
 (DIR) Post #AwSMOo2tv4T2L3QWa8 by foone@digipres.club
       2025-07-24T11:06:59Z
       
       0 likes, 0 repeats
       
       my current Stupid Project is a pipeline to (semi-) automate extracting a ghidra project into source it can run through NASM.
       
 (DIR) Post #AwSMbzI3QN2Gydnf84 by foone@digipres.club
       2025-07-24T11:09:28Z
       
       0 likes, 0 repeats
       
       you'd think a disassembler that can export x86 assembly and an assembler that can accept x86 assembly would be trivial to combine! and they both use intel syntax x86 assembly, not at&t!
       
 (DIR) Post #AwSMeUXKDqLiSt8Xx2 by foone@digipres.club
       2025-07-24T11:09:48Z
       
       0 likes, 0 repeats
       
       but no, x86 assembly is not compatible between assemblers usually because they're all different.
       
 (DIR) Post #AwSNusJXgX3EnW4ACm by foone@digipres.club
       2025-07-24T11:24:05Z
       
       0 likes, 0 repeats
       
       I'm down to 120 errors now
       
 (DIR) Post #AwSOo0pdiZdr8rN3lw by jenesuispasgoth@pouet.chapril.org
       2025-07-24T11:34:00Z
       
       0 likes, 0 repeats
       
       @foone that was quick !
       
 (DIR) Post #AwSPMS5ksA71X6KZns by foone@digipres.club
       2025-07-24T11:40:10Z
       
       0 likes, 0 repeats
       
       @jenesuispasgoth well that's the fun thing about having 12,000 errors: 11,000 of them might be the same error
       
 (DIR) Post #AwSPXIYMg2Hv8Qsuh6 by jenesuispasgoth@pouet.chapril.org
       2025-07-24T11:42:07Z
       
       0 likes, 0 repeats
       
       @foone I assumed as much, but still. :)
       
 (DIR) Post #AwSQL76rUwia7em4Bc by foone@digipres.club
       2025-07-24T11:51:15Z
       
       0 likes, 0 repeats
       
       I got it down to 6, fixed one of those, and now it's down to 629apparently I've now made it to a later pass of the assembler so it's reporting more new errors
       
 (DIR) Post #AwSQwsfBeq9kK1q2CW by drsbaitso@infosec.exchange
       2025-07-24T11:58:01Z
       
       0 likes, 0 repeats
       
       @foone It's like that song from "The Little Mermaid", except it's a whole new world where everything is on fire and wants to kill you....did your assembler reach Australia?
       
 (DIR) Post #AwSRH8rL9QAeLRBTWK by foone@digipres.club
       2025-07-24T12:01:45Z
       
       0 likes, 0 repeats
       
       @drsbaitso well, I'm assembling Where in the World is Carmen Sandiego, so it could be anywhere!
       
 (DIR) Post #AwSROyE8Z7aJgaa1tA by foone@digipres.club
       2025-07-24T12:03:07Z
       
       0 likes, 0 repeats
       
       an example of the dialect differences.Ghidra produces "LODSW SI", but nasm only takes "LODSW", because it turns out on x86, SI is implied. you have to do SI with LODSW. Ghidra is explicit, NASM is implicit
       
 (DIR) Post #AwSRoP9NbPnyQVTzuq by drsbaitso@infosec.exchange
       2025-07-24T12:07:45Z
       
       0 likes, 0 repeats
       
       @foone "Carmen Sandiego has stole YOUR SANITY and is hiding IN A FAMOUS OPERA HOUSE!"
       
 (DIR) Post #AwSS33pz7pP2faOqO0 by foone@digipres.club
       2025-07-24T12:10:25Z
       
       0 likes, 0 repeats
       
       BRØDERBUND YOU MADE A MISTAKEthe specs on the box don't say this game requires a 286, but there's exactly ONE instruction in the whole Where in the World is Carmen Sandiego? (Enhanced, DOS,1990) EXE that requires a 186 or above
       
 (DIR) Post #AwSS82GYOZfDFBCPYm by foone@digipres.club
       2025-07-24T12:11:15Z
       
       0 likes, 0 repeats
       
       now I'm gonna have to dig out my over-speced IBM 5150 PC and figure out how to hit the Invalid Opcode error
       
 (DIR) Post #AwSSETeRUSqpuoRcgq by foone@digipres.club
       2025-07-24T12:12:27Z
       
       0 likes, 0 repeats
       
       (it's possible the opcode is in a function that's never called: the flow of this program is Highly Nonsense so figuring out if a given function is called is trick)
       
 (DIR) Post #AwSTVPHz3uodGNZn8q by foone@digipres.club
       2025-07-24T12:26:40Z
       
       0 likes, 0 repeats
       
       77 errors now. that's a lot of progress.
       
 (DIR) Post #AwSWVd6rycM9zRAwnw by PizzaDemon@mastodon.online
       2025-07-24T13:00:08Z
       
       0 likes, 0 repeats
       
       @foone Attention DOGE script kiddies
       
 (DIR) Post #AwSWcloQ1Hov0Uwy36 by foone@digipres.club
       2025-07-24T13:01:29Z
       
       0 likes, 0 repeats
       
       down to 23 symbol not defined, and 1 short jump is out of range.
       
 (DIR) Post #AwSX721OJospxzRoiu by foone@digipres.club
       2025-07-24T13:07:08Z
       
       0 likes, 0 repeats
       
       this better not come down to memory mapping bugs. I don't want to have to fix Ghidra's disassembler to make this shit work
       
 (DIR) Post #AwSXVDnmAfGZS8c7km by foone@digipres.club
       2025-07-24T13:11:25Z
       
       0 likes, 0 repeats
       
       at 1fb7:0d5b we've got e8  c8  f6e8 is a CALL rel16. f6c8 is added to the address of the next instruction, 1fb7:0d5e.so that's a jmp to 1fb7:426, right? CALL 1FB7:0426except ghidra decodes it as                              CALL 2000:ff96
       
 (DIR) Post #AwSXchWo31OPfsF7iq by foone@digipres.club
       2025-07-24T13:12:38Z
       
       0 likes, 0 repeats
       
       I think they're incorrectly disassembling this code: the segment offset on a relative CALL in 16-bit mode WRAPS
       
 (DIR) Post #AwSXozmlzavpm3ZdOy by foone@digipres.club
       2025-07-24T13:14:52Z
       
       0 likes, 0 repeats
       
       except the math still doesn't work out there!
       
 (DIR) Post #AwSXtMiueVrq4YqsVc by shdon@mastodon.gamedev.place
       2025-07-24T13:15:11Z
       
       0 likes, 0 repeats
       
       @foone Urks. That seems like a very basic yet very crucial thing to get wrong...
       
 (DIR) Post #AwSXw0fj5ylSYAceJM by foone@digipres.club
       2025-07-24T13:15:02Z
       
       0 likes, 0 repeats
       
       WHAT IS GHIDRA DOING
       
 (DIR) Post #AwSXywTz7zVuQSWqHI by foone@digipres.club
       2025-07-24T13:16:32Z
       
       0 likes, 0 repeats
       
       DOSBox-X doesn't agree:17DA:0D5B E8 C8 F6 call 0426 ($-938)
       
 (DIR) Post #AwSYWz7douxaSTJJ20 by foone@digipres.club
       2025-07-24T13:23:00Z
       
       0 likes, 0 repeats
       
       https://github.com/NationalSecurityAgency/ghidra/issues/981ugh it's this bug
       
 (DIR) Post #AwSYcw8nok8swvgwZU by foone@digipres.club
       2025-07-24T13:24:05Z
       
       0 likes, 0 repeats
       
       it's been broken for 6 years now
       
 (DIR) Post #AwSYqEYqdwaBqKDNZI by foone@digipres.club
       2025-07-24T13:26:20Z
       
       0 likes, 0 repeats
       
       @astraleureka I think I did. probably with this same fucking program
       
 (DIR) Post #AwSYuoSz5cdkMNehrE by foone@digipres.club
       2025-07-24T13:27:15Z
       
       0 likes, 0 repeats
       
       @gloriouscow I know, but I'm officially burnt out on ida. and this is 99% working
       
 (DIR) Post #AwSZiERVIe1z74WmwK by gsuberland@chaos.social
       2025-07-24T13:36:12Z
       
       0 likes, 0 repeats
       
       @foone ugh, addressing mode stuff is such a headache in RE.
       
 (DIR) Post #AwSa5efByfjX606Drc by pjokse@social.restless.systems
       2025-07-24T13:40:26Z
       
       0 likes, 0 repeats
       
       @foone16bit x86 in ghidra really needs some TLC, sadly... I have a bunch of stuff for win16 api but it doesn't like segment:offset pointers pushed in two stages and no pascal calling convention, so all api calls are visually reversed
       
 (DIR) Post #AwSadpwUY5dzvHUSWG by MegaMichelle@a2mi.social
       2025-07-24T13:46:36Z
       
       0 likes, 0 repeats
       
       @foone Just fix it. You know it would improve your life so much! Just imagine it: you've fixed the bug and there you are on the beach sipping martinis, reversing DOS code on your grid compass.
       
 (DIR) Post #AwTpKDgyEPaoGBIIwC by foone@digipres.club
       2025-07-25T04:05:52Z
       
       1 likes, 0 repeats
       
       okay I'm looking at other stuff and got it down to 11 errors, and then it shows some code with an inserted-by-foone comment of:; WRONG
       
 (DIR) Post #AwTpckFjuTWgSSOHVw by foone@digipres.club
       2025-07-25T04:09:14Z
       
       0 likes, 0 repeats
       
       I'm down to 11 errors and they're all GHIDRA BUG #981
       
 (DIR) Post #AwTqCSLHyhU9Ko0yXo by foone@digipres.club
       2025-07-25T04:15:45Z
       
       0 likes, 0 repeats
       
       I'm trying a workaround where I fuck the memory space into having each segment start on 0x1000 boundaries. it seems to have fix this specific issue... but who knows if it caused 9000 more
       
 (DIR) Post #AwTrPUOJlu2rPLD57o by JoshJers@mastodon.gamedev.place
       2025-07-25T04:29:12Z
       
       0 likes, 0 repeats
       
       @foone 9000 well-aligned issues
       
 (DIR) Post #AwTrhs24c3cTwTZPiy by foone@digipres.club
       2025-07-25T04:32:37Z
       
       0 likes, 0 repeats
       
       no luck. time for the next option: patch the bytes in ghidra so they are decoded properly
       
 (DIR) Post #AwTrtX5yHZKcTvxEg4 by foone@digipres.club
       2025-07-25T04:34:44Z
       
       0 likes, 0 repeats
       
       in all... 40 places. fuck
       
 (DIR) Post #AwTunlAbL8QkG63iEa by drwho@masto.hackers.town
       2025-07-25T05:07:06Z
       
       0 likes, 0 repeats
       
       @foone Maybe give goodasm a run on it and see how it responds?
       
 (DIR) Post #AwTwBHap3flDQn6WCu by foone@digipres.club
       2025-07-25T05:22:41Z
       
       0 likes, 0 repeats
       
       nothing more annoying than a task that requires you to copy-paste two separate things into places
       
 (DIR) Post #AwTwL1tqGBrPegeEi0 by cinebox@masto.hackers.town
       2025-07-25T05:24:25Z
       
       0 likes, 0 repeats
       
       @foone imagining this summoning the worst kind of linux reply guy who actually takes advantage of the fucked up clipboard situation
       
 (DIR) Post #AwTww3VRFaaDLstAR6 by foone@digipres.club
       2025-07-25T05:31:12Z
       
       0 likes, 0 repeats
       
       @cinebox I've got a knife! they'll never take me alive!
       
 (DIR) Post #AwU2kQn1SLT5oZxCKW by foone@digipres.club
       2025-07-25T06:36:17Z
       
       0 likes, 0 repeats
       
       ZERO ERRORS
       
 (DIR) Post #AwU2nEj8lFkbGvTYR6 by foone@digipres.club
       2025-07-25T06:36:36Z
       
       0 likes, 0 repeats
       
       now to try and link it and watch it explode forever
       
 (DIR) Post #AwU3WkVZRjgAs2pZ4q by foone@digipres.club
       2025-07-25T06:45:04Z
       
       0 likes, 0 repeats
       
       yep. I produced an EXE that, when ran, tried to overwrite the VGA BIOS and corrupted the DOSBox debugger
       
 (DIR) Post #AwU3lsUG3zyLxbQlG4 by benetherington@spacey.space
       2025-07-25T06:47:40Z
       
       0 likes, 0 repeats
       
       @foone That’s how Zachtronics makes their money.
       
 (DIR) Post #AwU4Bbg7BGB5MGFFgG by foone@digipres.club
       2025-07-25T06:52:25Z
       
       0 likes, 0 repeats
       
       I fixed some minor problems and now it's at least just hanging.so next step is to build a comparison system to see how far off my EXE is
       
 (DIR) Post #AwU4EwEdCwBnyxyj56 by foone@digipres.club
       2025-07-25T06:53:01Z
       
       0 likes, 0 repeats
       
       I did neglect to put all the static data in, so... that's gonna break approximately everything
       
 (DIR) Post #AwU4asvuAItO70gULY by akent@aus.social
       2025-07-25T06:56:54Z
       
       0 likes, 0 repeats
       
       @foone Zarro Boogs
       
 (DIR) Post #AwWHSRrId8apXvl1Lk by rhialto@mathstodon.xyz
       2025-07-26T08:30:25Z
       
       0 likes, 0 repeats
       
       @foone I hate x86 asm for reasons like this... I would expect that if you are in a segmented mode, with 16 bit segment values and 16 bit segment offsets, and you use some relative addressing with a 16 bit displacement, that the displacement is added to the next pc (seg offset) value and the segment register remains unchanged. This is the only way that makes sense. But that ghidra bug seems to suggest that the segment register gets adjusted somehow?
       
 (DIR) Post #AwWPuKexmxMoxcnJ7A by foone@digipres.club
       2025-07-26T10:05:06Z
       
       0 likes, 0 repeats
       
       it's probably not a good idea to ask carmen_symbols.asm to try to include carmen_symbols.asm
       
 (DIR) Post #AwWRcb5KBIvab9nNqa by foone@digipres.club
       2025-07-26T10:24:21Z
       
       0 likes, 0 repeats
       
       I modified my ASM generator to split up the multiple code segments of Carmen, so now instead of a monolithic carmen.asm, it generates:* carmen_CODE_0.asm* carmen_CODE_1.asm* carmen_ThunkFuck.asmone of these segments was named by me. See if you can figure out which one it is, at home!
       
 (DIR) Post #AwWVN6oQqp9OBOlRxY by foone@digipres.club
       2025-07-26T11:06:26Z
       
       0 likes, 0 repeats
       
       I started implementing the data and now I'm up to a mere 7266 lines of errors
       
 (DIR) Post #AwWaLDvhuwddRs5Uxc by foone@digipres.club
       2025-07-26T12:02:06Z
       
       0 likes, 0 repeats
       
       ugh. the Data/DataType api of Ghidra doesn't seem to make a distinction between these strings:"hello""hello\0""hello\0\0" it always turns into "hello\0".
       
 (DIR) Post #AwWd646aSivEUsdkSO by foone@digipres.club
       2025-07-26T12:32:59Z
       
       0 likes, 0 repeats
       
       s_Lady_Agatha_Wayland_d000_08ac: db 'Lady Agatha Wayland',0 ;DATATYPE=string,path=/stringokay fixed it. my code tries to make it look "pretty", which means trying to use as many printables as possible. so, like, for multiline strings you get:db 'R6003',0x0D,0x0A,'- integer divide by 0',0x0D,0x0A,0
       
 (DIR) Post #AwWdreKlaB6QT7xj7Y by foone@digipres.club
       2025-07-26T12:41:30Z
       
       0 likes, 0 repeats
       
       I've also got it including data in the assembly.but only data that's:1. defined2. named 3. not a struct or an array.still, progress
       
 (DIR) Post #AwWxRXYq8k8516NAP2 by RueNahcMohr@infosec.exchange
       2025-07-26T16:20:54Z
       
       0 likes, 0 repeats
       
       @foone OH NO ITS WAYLAND!(gui joke)
       
 (DIR) Post #AwXB6CNV6KTsb1mp5E by ThatHumanBeing@social.vivaldi.net
       2025-07-26T18:53:56Z
       
       0 likes, 0 repeats
       
       @foone carmen_CODE_1.asm, NO. WAIT. carmen_CODE_0.asm
       
 (DIR) Post #AwbnjfUXdcwEQftKyG by Canageek@wandering.shop
       2025-07-29T00:25:40Z
       
       0 likes, 0 repeats
       
       @foone No kidding; I see why emacs and so many other early text editors had a way to hold 2-3 things for copy and pasting, and can't understand why we lost that ability over time :(
       
 (DIR) Post #AwbokerbYgfYj1iOZM by autolycos@med-mastodon.com
       2025-07-29T00:37:07Z
       
       0 likes, 0 repeats
       
       @foone oh my god. In college I got a job in a small database shop at the University ID office/bookstore back office. We then built a system to take every billing entity in the U and make a "consolidated bill"1% of the if not FAR less was the problem data. However it took about .25 FTE of our main developers to clean that data
       
 (DIR) Post #AwcDlhN8DOqzeI3QcS by foone@digipres.club
       2025-07-29T05:17:22Z
       
       0 likes, 0 repeats
       
       structs are going to be complicated unless I add another parsing pass. this is feeling more like a compiler every day
       
 (DIR) Post #AwcE8LMeCohO3Mcrmy by static@aus.social
       2025-07-29T05:21:32Z
       
       0 likes, 0 repeats
       
       @foone I feel like the NSA should hire you to fix Ghidra.
       
 (DIR) Post #AwcMcACF5iJrjnUODw by foone@digipres.club
       2025-07-29T06:56:35Z
       
       0 likes, 0 repeats
       
       shit I forgot enums
       
 (DIR) Post #AwcPwSSnBV9U2tbCiW by foone@digipres.club
       2025-07-29T07:33:46Z
       
       0 likes, 0 repeats
       
       okay structs and enums are defined now. used? correct? lets not get ahead of ourselves
       
 (DIR) Post #AwcQPPi6V0xPuBZHI8 by foone@digipres.club
       2025-07-29T07:39:07Z
       
       0 likes, 0 repeats
       
       it's working now for everything except for arrays of structswhich isn't really something NASM supports I don't think so this is gonna be tricky
       
 (DIR) Post #AwcQS51zq9uSdf8zho by foone@digipres.club
       2025-07-29T07:39:29Z
       
       0 likes, 0 repeats
       
       "everything" being "my structure work today". I still haven't done undefined/unnnamed stuff.
       
 (DIR) Post #AwcRNC1OWUQcpD60si by foone@digipres.club
       2025-07-29T07:49:56Z
       
       0 likes, 0 repeats
       
       arg. it all compiles except for a byte[4]stupid XORTBLs
       
 (DIR) Post #AwcSl6dUIXW11fsdgu by eniko@mastodon.gamedev.place
       2025-07-29T08:05:22Z
       
       0 likes, 0 repeats
       
       @foone one of us. One of us
       
 (DIR) Post #AwcTADAb8qY4WxL3KK by foone@digipres.club
       2025-07-29T08:09:58Z
       
       0 likes, 0 repeats
       
       I hardcoded around that and now I have an EXE again!it's a 305 byte exe because I've turned off function inclusion for now, but it's a start
       
 (DIR) Post #AwcTpXZKCichfYbyYy by foone@digipres.club
       2025-07-29T08:17:25Z
       
       0 likes, 0 repeats
       
       lets put the functions back in
       
 (DIR) Post #AwcTsKr1vsZz6ZE3g8 by foone@digipres.club
       2025-07-29T08:17:33Z
       
       0 likes, 0 repeats
       
       OH GOD MY HOUSE IS ON FIRE
       
 (DIR) Post #AwcTwsU4q7mKZ2ei3M by ozzelot@mstdn.social
       2025-07-29T08:19:13Z
       
       0 likes, 0 repeats
       
       @foone No, mother, it's just the northern lights
       
 (DIR) Post #AwcTzRRPqD7nYpdKTo by foone@digipres.club
       2025-07-29T08:18:35Z
       
       0 likes, 0 repeats
       
       okay only 7264 errors. that's not as bad
       
 (DIR) Post #AwcU6ahLp25uIXUoK0 by sabik@rants.au
       2025-07-29T08:19:37Z
       
       0 likes, 0 repeats
       
       @foone Don't panic!• git commit • git push• walk calmly to the assembly area
       
 (DIR) Post #AwcUOYQB1iHARs1pDM by foone@digipres.club
       2025-07-29T08:23:47Z
       
       0 likes, 0 repeats
       
       for some reason function parameter references are turning into functionname__param_name1
       
 (DIR) Post #AwcV2k7Ywk5aJmU9B2 by foone@digipres.club
       2025-07-29T08:31:02Z
       
       0 likes, 0 repeats
       
       foone, why did you name a function parameter ptr? That's a (kinda) reserved word!
       
 (DIR) Post #AwcVYaYQ3EUJuiET68 by foone@digipres.club
       2025-07-29T08:36:47Z
       
       0 likes, 0 repeats
       
       I'm back up to about 9000 errors. namespace issues. but I think that's enough for today
       
 (DIR) Post #AwcgCocKBRsWecsaFU by 1casie@mas.to
       2025-07-29T10:36:02Z
       
       0 likes, 0 repeats
       
       @foone there's always room for more, never give up