iOS Engineer with Reverse Engineering Experience for Mobile Security SDK | Talse | Fajn-práce.cz

iOS Engineer with Reverse Engineering Experience for Mobile Security SDK | Talse

Informace o pracovním místě

    We are Talsec! A rapidly growing company at the forefront of innovative mobile security. We are part of the Google for Startups community and award winners from Ernst & Young and the Mobile World Congress. Our technology protects hundreds of millions of mobile devices worldwide. We are looking for a talented iOS Engineer with strong experience in reverse engineering, low-level iOS internals and hands-on knowledge of building non-visual SDKs. If you enjoy exploring how things work under the hood, analyzing app/runtime behavior, and building robust security components, you’ll feel at home here. What You Will Do: * Develop and enhance our security-focused iOS SDK used in thousands of applications. * Work closely with low-level iOS internals, hooking, binary inspection, obfuscation and anti-tampering techniques. * Apply reverse engineering and runtime analysis to enhance detection mechanisms. * Implement new features improving mobile security for global customers. * Design architecture that is modular, reliable, and hard to bypass. * Collaborate with a small team of experienced security and SDK engineers. What We Expect from You: * Solid experience with iOS development (Swift/Objective-C). * Proven hands-on experience with reverse engineering, runtime inspection, or understanding of iOS internals. * Experience building frameworks/SDKs (non-UI, system-level components). * Ability to use AI tools (e.g., Cursor) to accelerate development and debugging * Security mindset — ability to think like an attacker. * Proactive problem-solving attitude and independence. What Is a Plus: * Experience with cryptography. * Knowledge of obfuscation techniques and anti-debugging. * Understanding of low-level concepts like memory layout, linking, Mach-O, code signing. * Familiarity with tools like Frida, Hopper, IDA, LLDB, instrumentation or similar. * Experience with cross-platform security concepts (Android/Windows/Linux). * CI/CD with building frameworks, XCFrameworks, signing, packaging. What We Offer in Return: * Meaningful Work with Global Impact: Your code will protect applications used by millions every day. * Strong Team: You’ll work with senior engineers experienced in mobile security, RE, and SDK design. * Flexibility & Trust: After an initial onboarding period in our Brno office, you can work in a hybrid model. * Great Gear & Benefits: High-quality hardware, Multisport, educational support, and more. * Space to Innovate: We love experimentation; if you find a smarter solution, we’ll follow it. If you want to work on real mobile security challenges, understand iOS behavior deeply, and build an SDK that attackers actually try to break, we’d love to meet you. Send us your CV — we’ll be happy to talk!
Datum nástupu: Ihned
Mzda: Dle domluvy
Počet míst: 1
Úvazek: Plný
Min. vzdělání: Středoškolské
Firma: StartupJobs.com s.r.o.
Zadavatel: StartupJobs Jobot
Lokalita: Brno

Máte zájem o práci?

Získej Fajn práci s naší Fajn apkou

fajn-prace

🐛 Debug Panel

📄 STRÁNKA
Nginx: 0.209s
PHP: 0.059s
Rozdíl: 0.041s
s.id
199
s.kontroler
inzeraty/polozka/hlavni/k.i.polozka.hlavni.php
s.uri_cs
/prace/*/+-*/
s.nazev_cz
Detail inzerátu
s.titulek_cs
Detail inzerátu
s.popis_cz
Detail inzerátu
s.popis_cs
Detail inzerátu
s.autorizovany_uchazec
vse
titulek
popis
Detail inzerátu
s.titulek
iOS Engineer with Reverse Engineering Experience for Mobile Security SDK | Talse | Fajn-práce.cz
🔍 SELECT DOTAZY 10
Celkem: 0.018s
Max: 0.007s
#1 → 0.01s
select presm.id `presm.id`, presm.cil `presm.cil`, presm.status `presm.status` from presmerovani presm where (presm.zdroj = "https://www.fajn-prace.cz/prace/brno/6151474-ios-engineer-with-reverse-engineering-experience-for-mobile-security-sdk-talse/" and presm.shoda = "presna" ) or (locate(presm.zdroj, "https://www.fajn-prace.cz/prace/brno/6151474-ios-engineer-with-reverse-engineering-experience-for-mobile-security-sdk-talse/%") > 0 and presm.shoda = "volna" )
#2 → 0s
select i.id `i.id`, i.titulek_cz `i.titulek_cz`, i.titulek_sk `i.titulek_sk`, i.adresa_pracoviste_adresa `i.adresa_pracoviste_adresa`, i.adresa_pracoviste_id_mesta `i.adresa_pracoviste_obcecz_obec_casti_id`, i.termin_od `i.termin_od`, i.termin_do `i.termin_do`, i.mzda_od `i.mzda_od`, i.mzda_do `i.mzda_do`, i.mzda_mena `i.mzda_mena`, i.mzda_typ `i.mzda_typ`, i.pocet_mist `i.pocet_mist`, i.uvazek `i.uvazek`, i.vhodne_pro `i.vhodne_pro`, i.id_min_vzdelani `i.id_min_vzdelani`, i.id_kraje `i.kr.id`, i.id_okresu `i.okr.id`, i.id_mesta `i.ob.id`, i.id_statu `i.st.id`, i.zobraz_telefon `i.zobraz_telefon`, i.zobraz_videohovor `i.zobraz_videohovor`, i.telefon `i.telefon`, i.adresa_pracoviste `i.adresa_pracoviste`, i.id_sekce `i.se_i.id`, trim(BOTH "," from i.hledane_obory) `i.obory_id`, trim(BOTH "," from i.hledane_pozice) `i.pozice_id`, i.datum `i.datum`, i.datum_schvaleni `i.datum_schvaleni`, i.datum_expirace `i.datum_expirace`, i.url_videohovor `i.url_videohovor`, i.zobraz `i.zobraz`, i.id_statu_zahranici `i.id_statu_zahranici`, i.id_kategorie_brigad `i.id_kategorie_brigad`, i.vek `i.vek`, i.pohlavi `i.pohlavi`, i.doplneni `i.doplneni`, i.id_inzerenta `i.id_inzerenta`, i.id_jazyku1_uroven `i.id_jazyku1_uroven`, i.id_jazyku1 `i.id_jazyku1`, i.lat `i.lat`, i.lon `i.lon`, i.sancemetr_individualni `i.sancemetr_individualni`, i.sancemetr `i.sancemetr`, i.uroven_smazani `i.uroven_smazani`, i.`adr.id` `i.adr.id`, i.termin_slovy `i.termin_slovy`, i.placeny `i.placeny`, u.firma_nazev `u.firma_nazev`, fi.ident `fi.ident`, fi.nazev `fi.nazev`, fi.popis `fi.popis`, fi.id `fi.id`, fi.koncovka1 `fi.koncovka1`, fi.oddil_inzeraty_zobrazeni `fi.oddil_inzeraty_zobrazeni`, fi.sancemetr_individualni `fi.sancemetr_individualni`, u.jmeno `u.jmeno`, u.prijmeni `u.prijmeni`, u.id `u.id`, u.telefon `u.telefon`, u.predvolba_telefon `u.predvolba_telefon`, u.zobraz_telefon `u.zobraz_telefon`, i_text.popis_cz `i_text.popis_cz`, i_text.popis_sk `i_text.popis_sk`, i_text.pozadujeme_cz `i_text.pozadujeme_cz`, i_text.pozadujeme_sk `i_text.pozadujeme_sk`, i_text.nabizime_cz `i_text.nabizime_cz`, i_text.nabizime_sk `i_text.nabizime_sk`, i_text.emaily `i_text.emaily`, adr.nazev `adr.nazev`, adr.nazev_ulice `adr.nazev_ulice`, adr.cislo_domovni `adr.cislo_domovni`, adr.cislo_orientacni `adr.cislo_orientacni` from inzeraty i join firmy fi on i.id_firmy = fi.id join uzivatele u on u.id = i.id_uzivatele join inzeraty_text i_text on i_text.id_inzeratu = i.id left join adresycz adr on adr.id=`adr.id` where i.id = "6151474"
#3 → 0s
select s.id `s.id`, s.uri_cs `s.uri_cs`, s.nazev_cz `s.nazev_cz` from stranky s where id in("100","102","103","104","105","106") order by FIELD(s.id, "100","102","103","104","105","106")
#4 → 0s
select s.id `s.id`, s.uri_cs `s.uri_cs` from stranky s where 1 and s.archiv = "0" and s.`pr.id` = "99" and s.stara_url_fb = "0" and s.id not in (10)
#5 → 0s
select ob.ident `ob.ident`, ob.nazev `ob.nazev` from krajecz kr join obcecz ob on kr.`ob.id-hlavni` = ob.id where kr.id not in (0, 19) and kr.id = "116"
#6 → 0s
select s.id `s.id`, s.uri_cs `s.uri_cs`, s.`pr.id` `s.pr.id` from stranky s where s.id = "120"
#7 → 0s
select pr.id `pr.id`, pr.zkratka `pr.zkratka` from projekty pr where pr.`st.id`="1" and pr.`pr_jaz.id`="80"
#8 → 0s
select s.id `s.id`, s.kontroler `s.kontroler`, s.uri_cs `s.uri_cs`, s.nazev_cz `s.nazev_cz`, s.titulek_cz `s.titulek_cs`, s.popis_cz `s.popis_cz`, s.popis_cz `s.popis_cs`, s.autorizovany_uchazec `s.autorizovany_uchazec` from stranky s where s.archiv = "0" and s.id="199" and s.`pr.id` = "99"
#9 → 0s
select adr.gps_x `adr.gps_x`, adr.gps_y `adr.gps_y` from adresycz adr where adr.id = "582786"
#10 → 0s
select ip `ip` from ip_blokace where ip = "216.73.216.167" and archiv = "0"
➕ INSERT DOTAZY 1
Celkem: 0.001s
#1 → 0s
insert `pozadavky` (`id`) values (null)
🔗 $_GET 1
Array
(
    [uri] => /prace/brno/6151474-ios-engineer-with-reverse-engineering-experience-for-mobile-security-sdk-talse/
)
📮 $_POST 0
Array
(
)
🔐 $_SESSION 1
Array
(
    [csrf] => 6933f20710ab35.78734406
)
🍪 $_COOKIE 1
Array
(
    [PHPSESSID] => fd96bbffd8ceceeaaaa4c210f43af485
)
🖥️ $_SERVER 43
Array
(
    [magick_temporary_path] => /www/hosting/test-fp.cz/tmp
    [magick_tmp_path] => /www/hosting/test-fp.cz/tmp
    [magick_tmpdir] => /www/hosting/test-fp.cz/tmp
    [sys_temp_dir] => /www/hosting/test-fp.cz/tmp
    [sys_tmp_dir] => /www/hosting/test-fp.cz/tmp
    [HOME] => /www/hosting/test-fp.cz
    [USER] => www-data
    [HTTP_COOKIE] => PHPSESSID=fd96bbffd8ceceeaaaa4c210f43af485
    [HTTP_REFERER] => https://stage.cz.www.test-fp.cz/prace/brno/6151474-ios-engineer-with-reverse-engineering-experience-for-mobile-security-sdk-talse
    [HTTP_ACCEPT_ENCODING] => gzip, br, zstd, deflate
    [HTTP_USER_AGENT] => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
    [HTTP_ACCEPT] => */*
    [HTTP_HOST] => stage.cz.www.test-fp.cz
    [KOREN] => /www/hosting/verzovani/stage/
    [STAT] => cz
    [PROJEKT] => fp
    [PATH_INFO] => /index.php
    [SCRIPT_FILENAME] => /www/hosting/verzovani/stage/index.php
    [REDIRECT_STATUS] => 200
    [SERVER_NAME] => ~^(?<sub>(mara|risa|kuba|master|hotfix|stage)).cz.www.test-fp.cz
    [SERVER_PORT] => 443
    [SERVER_ADDR] => 95.168.198.11
    [REMOTE_USER] => 
    [REMOTE_PORT] => 26607
    [REMOTE_ADDR] => 216.73.216.167
    [SERVER_SOFTWARE] => nginx/1.22.1
    [GATEWAY_INTERFACE] => CGI/1.1
    [HTTPS] => on
    [REQUEST_SCHEME] => https
    [SERVER_PROTOCOL] => HTTP/2.0
    [DOCUMENT_ROOT] => /www/hosting/verzovani/stage
    [DOCUMENT_URI] => /index.php
    [REQUEST_URI] => /prace/brno/6151474-ios-engineer-with-reverse-engineering-experience-for-mobile-security-sdk-talse/
    [SCRIPT_NAME] => /index.php
    [CONTENT_LENGTH] => 
    [CONTENT_TYPE] => 
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => uri=/prace/brno/6151474-ios-engineer-with-reverse-engineering-experience-for-mobile-security-sdk-talse/
    [FCGI_ROLE] => RESPONDER
    [PHP_SELF] => /index.php/index.php
    [REQUEST_TIME_FLOAT] => 1765011979.9791
    [REQUEST_TIME] => 1765011979
    [cr.id] => 
)