導航:首頁 > 源碼編譯 > 手機閱讀app源碼

手機閱讀app源碼

發布時間:2023-06-09 15:02:35

『壹』 如何看到一個APP應用的源代碼

一、安卓APP

android-killer可以反編譯apk,比較方便,不過只能看到smail文件,學習一點smail,你可以看明白他的源代碼的意思,如果有殼的話,先改apk後綴後為zip,找到加殼的so文件,一般如名字中帶xxxprotect.so 用網路,360,騰訊廠商加固的話,也都有對應特點,然後把這個so文件用IDA pro打開,找到它的關鍵加密演算法。找到後,一版是不讓進加密演算法,直接return。就可去殼,去了殼之後,再進行重打包簽名,測試下。
二、ios上的app一般走如下流程
1、 拿個越獄機-下好工具
2、 去越獄平台下個想分析的應用(或者去app store下,用解密工具解密一下)
3、 導入reveal分析頁面,得到想要的知道的具體視圖類或者大致范圍
4、 分析class-mp中,找到想要的類和函數
5、 在IDA或者Hopper中找到具體函數,查看匯編邏輯
6、 修改相應的邏輯,達到篡改目的,重新打包

『貳』 怎樣查看 Android APP源代碼

將apk文件拷貝至sdcard上。
命令順序如下:

進入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時就可以看到你安裝的所有的apk文件。輸入cp 空格 對應的apk 空格 /sdcard/
這樣就將apk文件拷貝出來了。
將apk文件後綴直接變成rar格式,可以看到熟悉的目錄結構了,

其中xml文件打開後都是二進制的,無法查看。
這時就用到了一個android4me的AXMLPrinter2工具。(請自行網路搜索)
輸入以下命令,將xml文件解析出來
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml > h.xml
目前進行到這一步,只能看到xml文件的內容,其工程中的java源文件還是看不到,看目錄結構下有一個classes.dex文件,我們需要將dex文件變為jar文件。
這里用到了另一個工具dex2jar。(自行搜索下載)
在Windows下解壓之後的目錄如下圖所示:

在命令行中,進入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:classes.dex
運行完之後,在C盤會多一個classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請自行搜索下載)
它分為Windows、Linux、和max三個版本,這里我下載的是Windows版本的。
解壓之後,雙擊運行exe文件,選擇classes.dex.dex2jar.jar文件,相應的jar文件中的Java文件就被反向工程顯示出來了!

『叄』 怎麼找一些軟體app的源碼,或者買到app的源碼

你要弄什麼樣子的,前台ui有啥想法,還是隨便就可以了,還有功能,等大概說一下,手裡有程序,不滿足情況可以修改,或者再開發,不在線可以直接找額

『肆』 怎麼查看安卓APP的源碼

如果只有apk的安裝包的話,你是看不到源碼的,除非使用反編譯。作為新手,還是從基礎一步一步來吧。

『伍』 如何看到一個APP應用的源代碼

一、安卓APP

用android-killer可以反編譯apk,比較方便,不過只能看到smail文件,學習一點smail,你可以看明白他的源代碼的意思,如果有殼的話,先改apk後綴後為zip,找到加殼的so文件,一般如名字中帶xxxprotect.so 用網路,360,騰訊廠商加固的話,也都有對應特點,然後把這個so文件用IDA pro打開,找到它的關鍵加密演算法。找到後,一版是不讓進加密演算法,直接return。就可去殼,去了殼之後,再進行重打包簽名,測試下。
二、ios上的app一般走如下流程
1、 拿個越獄機-下好工具
2、 去越獄平台下個想分析的應用(或者去app store下,用解密工具解密一下)
3、 導入reveal分析頁面,得到想要的知道的具體視圖類或者大致范圍
4、 分析class-mp中,找到想要的類和函數
5、 在IDA或者Hopper中找到具體函數,查看匯編邏輯
6、 修改相應的邏輯,達到篡改目的,重新打包

『陸』 大牛們是怎麼閱讀 Android 系統源碼的

由於工作需要大量修改framework代碼, 在AOSP(Android Open Source Project)源碼上花費了不少功夫, Application端和Services端都看和改了不少.
如果只是想看看一些常用類的實現, 在Android包管理器里把源碼下載下來, 隨便一個IDE配好Source Code的path看就行.
但如果想深入的了解Android系統, 那麼可以看下我的一些簡單的總結.

知識
Java
Java是AOSP的主要語言之一. 沒得說, 必需熟練掌握.
熟練的Android App開發
Linux
Android基於Linux的, 並且AOSP的推薦編譯環境是Ubuntu 12.04. 所以熟練的使用並了解Linux這個系統是必不可少的. 如果你想了解偏底層的代碼, 那麼必需了解基本的Linux環境下的程序開發. 如果再深入到驅動層, 那麼Kernel相關的知識也要具備.
Make
AOSP使用Make系統進行編譯. 了解基本的Makefile編寫會讓你更清晰了解AOSP這個龐大的項目是如何構建起來的.
Git
AOSP使用git+repo進行源碼管理. 這應該是程序員必備技能吧.
C++
Android系統的一些性能敏感模塊及第三方庫是用C++實現的, 比如: Input系統, Chromium項目(WebView的底層實現).

硬體
流暢的國際網路
AOSP代碼下載需要你擁有一個流暢的國際網路. 如果在下載代碼這一步就失去耐心的話, 那你肯定沒有耐心去看那亂糟糟的AOSP代碼. 另外, 好程序員應該都會需要一個流暢的Google.
一台運行Ubuntu 12.04的PC.
如果只是閱讀源碼而不做太多修改的話, 其實不需要太高的配置.
一台Nexus設備
AOSP項目默認只支持Nexus系列設備. 沒有也沒關系, 你依然可以讀代碼. 但如果你想在大牛之路走的更遠, 還是改改代碼, 然後刷機調試看看吧.
高品質USB線
要刷機時線壞了, 沒有更窩心的事兒了.
軟體
Ubuntu 12.04
官方推薦, 沒得選.
Oracle Java 1.6
注意不要用OpenJDK. 這是個坑, 官方文檔雖然有寫, 但還是單獨提一下.
安裝:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
sudo apt-get install oracle-java6-set-default

Eclipse
估計會有不少人吐槽, 為什麼要用這個老古董. 其實原因很簡單, 合適. 剛開始搞AOSP時, 為了找到效率最優的工具, 我嘗試過Eclipse, IntelliJ IDEA, Vim+Ctags, Sublime Text+Ctags. 最終結果還是Eclipse. 主要優點有:
有語法分析 (快速准確的類, 方法跳轉).
支持C++ (IntelliJ的C++支持做的太慢了).
嵌入了DDMS, View Hierarchy等調試工具.
為了提高效率, 花5分鍾背下常用快捷鍵非常非常值得.
調整好你的classpath, 不要導入無用的代碼. 因為AOSP項目代碼實在是太多了. 當你還不需要看C++代碼時, 不要為項目添加C++支持, 建索引過程會讓你崩潰.
Intellij IDEA
開發App必備. 當你要調試系統的某個功能是, 常常需要迅速寫出一個調試用App, 這個時候老舊的Eclipse就不好用了. Itellij IDEA的xml自動補全非常給力.
巨人的肩膀

這個一定要先讀. 項目介紹, 代碼下載, 環境搭建, 刷機方法, Eclipse配置都在這里. 這是一切的基礎.

這個其實是給App開發者看的. 但是裡面也有不少關於系統機制的介紹, 值得細讀.

此老羅非彼老羅. 羅升陽老師的博客非常有營養, 基本可以作為指引你開始閱讀AOSP源碼的教程. 你可以按照博客的時間順序一篇篇挑需要的看.但這個系列的博客有些問題:
早期的博客是基於舊版本的Android;
大量的代碼流程追蹤. 讀文章時你一定要清楚你在看的東西在整個系統處於什麼樣的位置.

鄧凡平老師也是為Android大牛, 博客同樣很有營養. 但是不像羅升陽老師的那麼系統. 更多的是一些技術點的深入探討.

Android官方Issue列表. 我在開發過程中發現過一些奇怪的bug, 最後發現這里基本都有記錄. 當然你可以提一些新的, 有沒有人改就是另外一回事了.

一定要能流暢的使用這個工具. 大量的相關知識是沒有人系統的總結的, 你需要自己搞定.
其它
代碼組織
AOSP的編譯單元不是和git項目一一對應的, 而是和Android.mk文件一一對應的. 善用mmm命令進行模塊編譯將節省你大量的時間.
Binder
這是Android最基礎的進程間通訊. 在Application和System services之間大量使用. 你不僅要知道AIDL如何使用, 也要知道如何手寫Binder介面. 這對你理解Android的Application和System services如何交互有非常重要的作用. Binder如何實現的倒不必著急看.
HAL
除非你對硬體特別感興趣或者想去方案公司上班, 否則別花太多時間在這一層.
CyanogenMod
這是一個基於AOSP的第三方Rom. 從這個項目的wiki里你能學到很多AOSP官方沒有告訴你的東西. 比如如何支持Nexus以外的設備.
DIA
這是一個Linux下畫UML的工具, 能夠幫你梳理看過的代碼.
XDA

這里有最新資訊和最有趣的論壇.
想到了再補充.

『柒』 怎樣查看 Android APP 源代碼

需要把反編譯的apk存放到apktools同級文件夾目錄下,然後運行要查看的安裝包,具體操作如下:

1、首先把反編譯的apk存放到apktools同級文件夾目錄下,如下圖所示。

『捌』 怎樣查看 Android APP 源代碼

壓縮軟體打開apk文件,解壓出根目錄中的classes.dex文件

使用cmd ,dex2jar.bat classes.dex命令將classes.dex轉換為jar

再用jd-gui打開該jar就可以查看源碼了,如果apk安全性好的話,有些代碼是看不到的

閱讀全文

與手機閱讀app源碼相關的資料

熱點內容
php循環匹配 瀏覽:321
技巧pdf 瀏覽:477
單片機斷程序怎麼解決 瀏覽:158
如何製作APP的圖片 瀏覽:504
php大小排序 瀏覽:546
linuxkerberos 瀏覽:124
暗黑破壞神3如何下載亞洲伺服器 瀏覽:951
linux中ftp伺服器地址怎麼看 瀏覽:436
ansys命令流do 瀏覽:122
單片機6502 瀏覽:765
自助洗車有什麼app 瀏覽:937
程序員離職率多少 瀏覽:322
程序員那麼可愛電視劇今天沒更新 瀏覽:337
我的世界地形演算法 瀏覽:344
台灣dns的伺服器地址雲空間 瀏覽:288
音樂噴泉軟體要什麼加密狗 瀏覽:501
androidhttpmime 瀏覽:774
威科夫操盤法pdf 瀏覽:982
演算法可以用圖表表示 瀏覽:949
山西太原php 瀏覽:276