compiling libpng as universal binary for Mac OSX
Човек дори и добре да живее все някога опира до компилации на проекти с отворен код с цел последващо вграждане. Преди няколко дена ми се наложи да компилирам и libpng за да го вградя като статична библиотека в проект. Понеже проекта е universal binary (i386 и x86_64) ми трябва обаче и библиотеката да поддържа и двете архитектури. Компилация само за x86_64 или i386 не ми вършеше работа.
Затова се разтърсих и намерих следния скрипт:
./configure CFLAGS="-arch i386 -arch ppc" CXXFLAGS="-arch i386 -arch ppc" --disable-dependency-tracking
Понеже на мен ppc не ми трябваше просто го замених с x86_64 и скрипта изглеждаше така:
./configure CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" --disable-dependency-tracking
$lipo -info .libs/libpng.a
Architectures in the fat file: .libs/libpng.a are: i386 x86_64
Мизерията
Да напоследък виждам некви страшни неща по телевизиите от различни точки на България. Покрай наводненото село Бисер видях хора който живеят ама много, много зле. Също умственото ниво на тия хора ме уплаши доста. Говореха и изглеждаха на много примитивно ниво. Облечени едни такива в каквото намерили.(не говоря само за пострадалите в село Бисер). Странни погледи имаха. Едни изцъклени такива. Военните които бяха там изглеждаха също някак окаяно и дрипаво. Представителите на властта като президент, министри също изглеждаха наугледно и бедно. Видях да раздават пликове с пари в една грозна, порутена стаичка в някаква грохнала постройка, която би трябвало да изглежда представително. Пликовете бяха наредени на една маса и в тази мрачна стаичка дори парите изглеждаха бедно. На друго подобно място бяха струпали стари чували от ония найлоновите най-грубите, дето едно време на село дядо ми събираше царевица, пълни с дрехи за пострадалите. Две отрудени лелки с торби под очите стояха сред тия камари чували и даваха отчет. Видях две жени в една болница които бяха родили в деня на трагедията и това трябваше да е хепи репортаж. Само дето едната беше на 15 години, а другата имаше някакви умствени отклонения. Обстановката вътре също беше подтискаща. Две акушерки стояха и едната седържеше някак странно. Един мъж от друго село (ненаводнено) изродил сам детето си и говореше как има опит понеже израждал телетата на кравите. Жена му ми се стори умствено изостанала, също и той. Тя лежеше на кушетка от ония дето са по казармите, старите съветските ако се сещате и в стаята нямаше почти нищо. Много плачещи хора видях по телевизията. Всеки плачеше за нещо. Една жена плачеше, че килимите и дрехите и са мокри. Възрастен мъж плачеше че е стоял на покрива на къщата си и е чакал водата да спадне. Друг плачеше, че е видял двама човека да викат за помощ и водата ги е отнесла. Една баба плачеше, че дрехите които носи са чужди. Разни хора висят по влакове часове наред и чакат да тръгне oбаче той не тръгва. Прибират се късно вечер след мръзнене и чакане по гарите от работа в родния си град и тихо плачат в стаите си. Други стоят без ток и чакат да дойде. Някои хора все още ходят с коли из гората да събират дърва за огрев и закъсват в снега и не могат да продължат. Едни астрономи в база спели в най-големия студ без отопление и разправяха как се издържа ама на сутринта като се събудели вече им било наистина зле. Деца умират в държавна болница докато чакат за трансплантации. Рушат се здания и само чист късмет е че не взимат жертви. Умират хора докато чакат Бърза помощ. Зачестяват случаите на самоубииства. Най-ме потресе случай с една баба която се самоубила. Винаги съм си представял, че стар човек не би се самоубил. Някак ми се струваше неестествено. Доколкото изобщо е естествено да се самоубие човек. Отвсякъде лъха на мизерия. Това не е заради тежката зима и студ които връхлетяха България. Не само при нас температурите са минусови и има много сняг. Нещо друго е. Някаква мъка се е настанила в нашата държава. Нещо тягостно и подтискащо. Един призрак броди из България, ама не е на комунизма както пише в Комунистическия манифест, а на мизерията. Истинска, всепоглъщаща, задушаваща мизерия.
Текста не е мой! Но всичко което описват е реално и мен ме плаши също.
Kindle Fire root 6.2.2
След като в предния пост ви показах как се премахва защитата на самите книги сега ще ви покажа и как можете да придобиете пълен контрол върху Kindle посредством техника известна като rooting.
Понеже Amazon са "лоши" обновленията към самото устройство са OTA (Over The Air т.е. безжично) и не подлежат на спиране. Няма вариант в който устройството ще остане на по-стара версия без ръчни корекции.
И така сега ще ви покажа как можете да си root-нете Kindle който вече е вдигнат към 6.2.2. Техниката е успешно изпробвана от мен и работи. За съжаление пиша това на OSX и нямам идея как би могло да стане под Windows или Linux.
Ето и конкретните стъпки за целта:
- Активирайте в менюто Menu->Settings->Applications->Development секцията USB Debugging. Отделно в Menu->Settings->Applicaitons активирайте Unknown Sources.
- Това е най-важната стъпка, но се изпълнява само един път. Тъй като Kindle Fire е създаден с Android всички помошни средства трябва да го виждат. Но за съжаление не е така. Затова ние трябва да добавим един ред в следния файл: ~/.android/adb_usb.ini
Отваряме този файл и добавяме следния ред:
0x1949
Този ред ще укаже на adb (Android Debug Bridge) ако види устройство с подобен идентификатор да го третира като Android. В противен случай връзката на Fire с OSX няма да го покаже като устройство което може да бъде контролирано. - Отваряме терминал и пишем следното:
adb push BurritoRoot2.bin /data/local/
adb shell chmod 777 /data/local/BurritoRoot2.bin
adb shell /data/local/BurritoRoot2.bin
adb root
adb shell id - Сега е критичния момент ако shell id не върне че uid=0 то трябва да изпълним стъпка 3 наново. Понякога се получава от първия път, друг път се налага няколко пъти да се изпълни стъпката.
- Изпълняваме следните команди:
adb remount
adb push su /system/xbin/su
adb shell chown 0.0 /system/xbin/su
adb shell chmod 06755 /system/xbin/su
adb remount
adb install Superuser.apk - Ако всичко е готово то тогава в секцията Apps трябва да се появи приложението Superuser след което го изпълняваме него и сме готови!
Всички файлове се намират на следните места:
- adb е част от Android SDK и може да бъде изтеглено от самия сайт. Ако файла от точка едно ви липсва то може да се наложи да го инсталирате ИЛИ да го смъкнете от тук: KindleFireRootMacLinux
- BurritoRoot2 може да се смъкне оттук: BurritoRoot2.bin
- Superuser.apk може да бъде смъкнат оттук: superuser
- su е част от пакета KindleFireRootMacLinux
Горната гимнастика от-до отнема около 5 минути след което може да се наслаждавате на отключен и работещ на 100% KindleFire. В интернет може да се намерят и обяснения как да подкарате Android 4.0 на съответното устройство, но моята цел не е това.
Kindle DRM Removal
Ще напиша малко по-дълъг пост тук. Ако някой е отегчен моля да го игнорира. Ако администраторите сметнат, че е нецелесъобразно да стои да го премахнат.
И така - имаме си вече Kindle, Kindle за Mac, PC и други такива. Обаче еволюцията достига до следващото ниво - share. Приятел ни моли да му дадем книга която я имаме, или се опитваме да изкопираме част от книгата във Facebook, дипломна работа или просто да разпечатаме нещо от нея…
За съжаление удряме една голяма греда която се казва DRM (или по-известна като управление на цифровите права). Понеже Amazon се отнасят много критично към това DRM-a e интегриран в самия файлов формат и е почти невъзможно да пуснем самата книга на друго устройство.
Но вече сме 21 век и традициите отдавна не са това което бяха - затова ние започваме да търсим умни глави (хакери) които да са направили нещо за нас. И естественно има няколко скрипта с които се смъква самата DRM защита на коя-да-е kindle книга.
Първото което намерих беше комбинация от модули за всеизвестния Calibre. Обаче се натъкнах на нова греда - не можах да ги подкарам правилно и те просто не работеха. Затова потърсих нещо много по-лесно и просто като за новак и го намерих:
http://www.ebook-converter.com/kindle-drm-removal.htm
Това малко чудо на хартия ми позволява да смъкна защитата, но имах нов проблем при подкарването му. Аз се опитвах да смъкна защитата на книга доставена директно от Amazon и все даваше проблем (т.е. смъкната като файл така че ръчно да я кача на самия Kindle). Докато ми хрумна гениалната идея, че може би ако си кача Kidnle for Mac смъкна книгата и подам на програмата вече качената там книга би имал по-голям успех. Така и направих и до минута вече имах първата книга като .mobi файл успешно импортирана в Calibre.
След като разбрах каква ми е била грешката се върнах към първия вариант с модулите и до 5 минути имах сглобен и напълно работоспособен Calibre въоръжен да смъква всякакви защити.
И малко забележки:
1. Продукта е ПЛАТЕН, но използва python скриптове които вършат основната работа.
2. Библиотеките за Calibre са достъпни онлайн. Даже след преглеждане се оказва че библиотеките и продукта използват общи python скриптове.
3. Продукта е платен, но изхождайки от моралната страна на нещата (използване на open source скриптове и вграждането им в комерсиално приложение) действах малко безскрупулно и го направих полу-безплатен под Mac (повече детайли само на лични, искам да се убедя че метода работи).
4. Нарушаването на интелектуалните права е наказуемо и с това се занимават всякакви закони - DMCA/SOPA/PIPA и т.н. Така че умната.
Ново начало
След 8 години скитане блога вече ще се намира тук.
Предстои ми да импортирам много постове...