Привет! С ассемблером знаком весьма смутно, в пределах университетской программы.Сейчас программирую на С/С++ под UNIX (Mac OS). Так получилось, что надо дизассемблировать одну динамическую библиотеку (dylib) найти одну функцию и узнать какие она параметры принимает (тип, количество) и какие возвращает. Либу открывал через IDA. Функцию нашел, но по коду только смутные представления: Код (Text): __text:30A59EB0 BL _SBGetApplicationBadge __text:30A59EB4 CMP R0, #0 __text:30A59EB8 BNE loc_30A59EE4 __text:30A59EBC LDRSB R3, [SP] __text:30A59EC0 CMP R3, #0 __text:30A59EC4 BEQ loc_30A59EE4 __text:30A59EC8 LDR R0, =(unk_38A85224 - 0x30A59EE0) __text:30A59ECC LDR R1, =(unk_38A8718C - 0x30A59EDC) __text:30A59ED0 MOV R2, SP __text:30A59ED4 LDR R1, [PC,R1] ; "stringWithUTF8String:" __text:30A59ED8 LDR R0, [PC,R0] __text:30A59EDC BL _objc_msgSend __text:30A59EE0 B loc_30A59EE8 __text:30A59EE4 ; --------------------------------------------------------------------------- __text:30A59EE4 __text:30A59EE4 loc_30A59EE4 ; CODE XREF: __text:30A59EB8j __text:30A59EE4 ; __text:30A59EC4j __text:30A59EE4 MOV R0, #0 __text:30A59EE8 __text:30A59EE8 loc_30A59EE8 ; CODE XREF: __text:30A59EE0j __text:30A59EE8 SUB SP, R7, #8 __text:30A59EEC LDMFD SP!, {R4,R5,R7,PC} __text:30A59EEC ; --------------------------------------------------------------------------- __text:30A59EF0 off_30A59EF0 DCD unk_38A871EC - 0x30A59E88 ; DATA XREF: __text:30A59E78r __text:30A59EF4 off_30A59EF4 DCD unk_38A872DC - 0x30A59E9C ; DATA XREF: __text:30A59E90r __text:30A59EF8 off_30A59EF8 DCD unk_38A85224 - 0x30A59EE0 ; DATA XREF: __text:30A59EC8r __text:30A59EFC off_30A59EFC DCD unk_38A8718C - 0x30A59EDC ; DATA XREF: __text:30A59ECCr Как я понял CMP R0, #0 делает сравнение 0 параметра функции с #0. #0 - это скорее всего строка? А R0, R1 ... Rx - это параметры функции? Что значит строка LDRSB R3, [SP] - по гуглу понял, что это загрузка из памяти? Далее следует вообще что то не понятное: LDR R0, =(unk_38A85224 - 0x30A59EE0) при наведении мышки на unk_38A85224 всплывает подсказка, в ней присутствует слово NSString - в Ojective C это строка. Т.е. как я понял идет объявление строки? Заранее спасибо!
EvilsInterrupt А почему нет? Вполне в тему. И я бы поучаствовал (если вопросы будут задавать по людски)