HNHacker News
TopNewBestAskShowJobs

ololoev

95 karma · joined June 19, 2014

submissionscomments
ololoev··on Transmission BitTorrent app contained malware
It did actually, but only for in-app updates [0].

[0]: https://forum.transmissionbt.com/viewtopic.php?f=4&t=17835

ololoev··on Ask HN: Who wants to be hired? (October 2014)
Location: Tomsk, Russia

Remote: Yes;

Willing to relocate: Yes, definitely;

Technologies: plain C, Objective-C, x86[_64] assembly, Swift; OS X internals (Mach kernel API, Mach-O, dyld API, Sandbox); reverse-engineering, code-injection, function hooking, Objective-c runtime;

Resume: https://gist.github.com/rodionovd/5d0c4bb32ccdb5efeffd

Email: i.am.rodionovd@gmail.com

I'm looking for an OS X developer or security researcher job (iOS internals would be nice too). My GitHub: https://github.com/rodionovd

ololoev··on Function hooking in Swift
Well, there isn't any C-style function pointer (means you can not get it's raw address in memory to do something with it), but yeah — you can pass functions as arguments.
ololoev··on Function hooking in Swift
It's all about reverse-engineering stuff; my usual workflow looks like: (1) Complile some Swift program & look at the disasembler listing of it (I use IDA and — for Objective-C — Hopper Disassembler); (2) Do some changes in source code in the program, compile it again, and see diffs in disassembler listing; that way I can see what is changed and how.

About the @asmname thing: you can easily dump every default Swift module using a REPL command:

repl> :print_module Swift

There you can find a lot of interesting language lexems and more, so all you have to do is to try using them in your code until you don't figure it out ;)