#objectivec

2025-05-07

Crazy thought… what if your decompiled Objective-C code looked like Objective-C code?

Today's journey: implementing an Objective-C “pseudo-language” view for Binary Ninja.

#binaryninja #reverseengineering #objectivec

Before: Decompilation of Objective-C code with minimal language-specific analysisAfter: Decompiled Objective-C code with language-specific analysis and transformations applied, displayed as pseudo-Objective-C
2025-05-05

My plug-in providing this additional analysis is available at github.com/bdash/bn-objc-extra

#binaryninja #objectivec #reverseengineering

2025-05-05

I've been experimenting with improving Binary Ninja's analysis of Objective-C code recently. Having the ability to hide Obj-C runtime reference counting calls, and apply type information based on [super init] and objc_alloc_init calls can dramatically improve the readability (and in some cases even accuracy!) of the decompiled code.

github.com/bdash/bn-objc-extra

#binaryninja #objectivec #reverseengineering

Before: decompilation of an Objective-C class initializer showing the results given by Binary Ninja out of the box. Retain / release calls clutter the function and the lifted code that initializes instance variables does not make any sense due to missing type information.After: Decompilation of the same function, but with retain / release calls removed and the type of [super init] propagated to the local variable. As a result, access to instance variables are correctly recognized and field names are displayed.Before: decompilation of an Objective-C function showing the results given by Binary Ninja out of the box. Reference counting function calls clutter the code so much that it’s hard to see the actual structure of the code.After: The same Objective-C function but with reference counting function calls hidden. The structure of the function is clear!
Cihat GündüzJeehut@iosdev.space
2025-04-27

In #Swift, it's easy to get error messages wrong. It's due to a design flaw in the "Error" protocol itself, introduced for #ObjectiveC compatibility. I've seen people write below code all the time. I fixed this flaw in #ErrorKit: Just conform your errors to "Throwable" instead! 💯

Learn more: 👇 #iOSDev #ErrorHandling #DevTips
fline.dev/swift-error-handling

N-gated Hacker Newsngate
2025-04-18

Wow, a love letter to a language that makes a turtle crossing the road look like a speedster. 🚗💨 Apparently, Objective-C was the Esperanto of code until the world realized it'd rather speak Klingon. 🖖
wired.com/story/objective-c-pr

obrhoffobrhoff
2025-04-05

DarwinKit looks interesting. It’s a Golang Framework to build macOS apps and lets you call Objective-C APIs.

github.com/progrium/darwinkit

2025-04-04

@kkolakowski it works really well for #ObjectiveC codebases.

David Chisnall (*Now with 50% more sarcasm!*)david_chisnall@infosec.exchange
2025-03-30

Sometimes being an open-source maintainer is nice. I haven't done paid consulting for the GNUstep Objective-C Runtime for ages (I wasn't doing enough for it to be worth the tax effort and I'm not always able to commit to doing things in a sufficiently timely fashion to set up the expectations that being paid creates), so I added a note a while ago telling people to donate to Murray Edwards if they find the project useful.

Last week, I got the following email from the nice folks at Algoriddim saying (abridged):

I just wanted to drop you a note to let you know that we appreciate your continued work on the GNUstep runtime, and that we’ve made another donation to Murray Edwards to support women in computer science.

Always nice to see things being paid forwards.

#GNUstep #ObjectiveC #WomenInTech

Uli Kusterer (Not a kitteh)uliwitness@chaos.social
2025-03-29

Hmmm… setting

set_source_files_properties(Sourcefile.mm PROPERTIES COMPILE_FLAGS "-fobjc-arc")

for each file seems to fix the issue, though now I’m getting a link error on Swift. Anyway, on to the next error, I guess.

#CMake #swift #CPlusPlus #ObjectiveCPlusPlus #ObjectiveC #arc

Uli Kusterer (Not a kitteh)uliwitness@chaos.social
2025-03-29

OK, I'm trying to build some mixed C++, ObjC and Swift code with CMake (CLion).

Since the Xcode generator doesn’t seem to work with Swift anymore, I switched over to Ninja, and now all ObjC files are built without ARC.

How do I tell CMake with Ninja to build ObjC(++) files with ARC, but not Swift files??

#CMake #swift #CPlusPlus #ObjectiveCPlusPlus #ObjectiveC #arc

CMakeLists.txt file contents:

cmake_minimum_required(VERSION 3.5)
project(mazungumzo C CXX Swift)

set(CMAKE_CXX_STANDARD 23)

add_library(mazungumzo_guitoolkit STATIC
        GUIToolkit.mm
        GUIToolkit.hpp
        WILDPreferences.h
        WILDPreferences.swift
        WILDString.h
        WILDString.swift
        ../GUIToolkit.hpp
        ../../Defer.hpp)

set_target_properties(mazungumzo_guitoolkit PROPERTIES
        Swift_LANGUAGE_VERSION 5.8.1)
#set_target_properties(mazungumzo_guitoolkit PROPERTIES
#        XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES) # Doesn't work with Ninja generator.

set_property (TARGET mazungumzo_guitoolkit APPEND_STRING PROPERTY
                COMPILE_FLAGS "-fobjc-arc") # Set for all compilers, Swiftc gives "error: unknown argument: '-fobjc-arc'"

target_link_libraries (mazungumzo_guitoolkit
        "-framework Cocoa"
        "-framework QuartzCore"
        )
obrhoffobrhoff
2025-03-20

After working with Objective-C again after a very long time, I have to say, it's actually quite nice.
In hindsight, I have to agree. An improved Objective-C with some Swift elements might have been nicer compared to what Swift has become.

I also got the feeling that the problem wasn't Objective-C, but rather the terrible APIs Apple forced developers to use, such as Storyboards and Interface Builder.

~/phranck :antifa:phranck@nerdculture.de
2025-03-19

Auch wenn es mich selbst schon nervt, ich muss euch nochmal belaestigen...

Ich suche ab sofort einen neuen Job als #iOS und/oder #macOS Software-Entwickler. Ich hab viele Jahre Erfahrung auf dem Gebiet, kenne #ObjectiveC, #Swift, #SwiftUI, #Git, #Xcode und... naja, die ganze Toolchain drumherum eben.

Ich suche eine Remote-Only Festanstellung, keinen Freelance-Job (Vorzugsweise in Österreich, Deutschland geht aber auch). Wenn es in der Naehe von #Bregenz oder #Dornbirn ist, dann auch gerne Onsite.

Wenn ihr jemanden kennt, der jemanden kennt... ihr wisst schon.

Ich danke euch fuers rege Teilen/Boosten. 🙏🏻
:boost_ok:

#FediHire #JobSuche

Ladder Logic 🇨🇦GuitarSith@fosstodon.org
2025-03-02

@woolie
Guessing it’s a 3D array? Never worked with #swift but have worked with #objectivec and I got really confused with the array syntax there. I’m guessing the C was obfuscated by the #smalltalk. If #swift is based around C (and I’m going to guess it isn’t), then an array would be nothing more than a pointer. And a 3D array would be declared as foo[][][]. The tricky part was the memory allocation if you didn’t know the size ahead of time and had to allocate dynamically.

N-gated Hacker Newsngate
2025-03-01

🚨 Breaking News: uses the internet! 🚨 Apparently, Apple’s dev tool has a secret side gig as a 📞. Who knew? Maybe Xcode is just trying to its Objective-C prison and find some Swift friends. 😂
lapcatsoftware.com/articles/20

2025-03-01

Is there something like SwiftFormat for Objective-C? I think I've used Uncrustify but maybe there is something better out there?
#iosdev #macosdev #objectivec

Sebastián Benítezsbenitezb@fosstodon.org
2025-02-26

@isaiah Swift concurrency feels like a lot of problems that we never had are now possible thanks to pervasive use of async. I miss #objectivec . After some deliberations, I turned to #ada for more sanity for future non-Apple platform projects.

N-gated Hacker Newsngate
2025-02-25

🚨 BREAKING: is a Snoopy McSnoopface, constantly phoning home like a clingy ex. 🤳 Apparently, Objective-C and are faster than , who knew? 🙄 But wait, turn off the internet and magically, Xcode stops dragging its feet. So, disconnect from WiFi to speed up builds—because living in the 90s is practical, right? 💾
lapcatsoftware.com/articles/20

Pavly A. Hannappaules9
2025-02-20

🚀 Calling all iOS developers! Are you still incorporating Objective-C into your projects? Share your thoughts and experiences below!

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst