

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>decompiler &#8211; Max的程式語言筆記</title>
	<atom:link href="https://stackoverflow.max-everyday.com/tag/decompiler/feed/" rel="self" type="application/rss+xml" />
	<link>https://stackoverflow.max-everyday.com</link>
	<description>我要當一個豬頭，快樂過每一天</description>
	<lastBuildDate>Sat, 10 Jun 2017 13:29:12 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://stackoverflow.max-everyday.com/wp-content/uploads/2017/02/max-stackoverflow-256.png</url>
	<title>decompiler &#8211; Max的程式語言筆記</title>
	<link>https://stackoverflow.max-everyday.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Android 逆向工程心得分享</title>
		<link>https://stackoverflow.max-everyday.com/2017/06/android-decompiler/</link>
					<comments>https://stackoverflow.max-everyday.com/2017/06/android-decompiler/#respond</comments>
		
		<dc:creator><![CDATA[max-stackoverflow]]></dc:creator>
		<pubDate>Sat, 10 Jun 2017 13:29:12 +0000</pubDate>
				<category><![CDATA[Android筆記]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[decompiler]]></category>
		<guid isPermaLink="false">http://stackoverflow.max-everyday.com/?p=909</guid>

					<description><![CDATA[這篇投影片，好像寫的滿好的，先bookmark ...]]></description>
										<content:encoded><![CDATA[<p>這篇投影片，好像寫的滿好的，先bookmark 起來，等下次要去偷別人的程式時來試看看。</p>
<p>Android 逆向工程心得分享<br />
<a href="https://www.slideshare.net/EnPingHsieh/android-76769248">https://www.slideshare.net/EnPingHsieh/android-76769248</a></p>
<p><iframe title="Android 逆向工程心得分享" src="https://www.slideshare.net/slideshow/embed_code/key/vvWqcU6zneSRuJ" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> </p>
<div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/EnPingHsieh/android-76769248" title="Android 逆向工程心得分享" target="_blank">Android 逆向工程心得分享</a> </strong> from <strong><a href="https://www.slideshare.net/EnPingHsieh" target="_blank">EnPing Eric Hsieh</a></strong> </div>
<h3 class="transcript-header">Android 逆向工程心得分享</h3>
<ol class="j-transcripts transcripts no-bullet no-style">
<li>1. Android 逆向⼯工程⼼心得 Hsieh, En-Ping shieh.npin@gmail.com</li>
<li><a title="Agenda
• 抓
• 拆
• 組
• 秀
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-2-638.jpg?cb=1496933873" target="_blank" rel="noopener">2. </a>Agenda • 抓 • 拆 • 組 • 秀</li>
<li><a title="抓
First move
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-3-638.jpg?cb=1496933873" target="_blank" rel="noopener">3. </a>抓 First move</li>
<li><a title="The Easy way.
• ⽤用APP抓APK 
https://play.google.com/store/ap..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-4-638.jpg?cb=1496933873" target="_blank" rel="noopener">4. </a>The Easy way. • ⽤用APP抓APK  https://play.google.com/store/apps/details?id=com.ext.ui&amp;hl=zh_TW • 貼網址  https://apps.evozi.com/apk-downloader/</li>
<li><a title="⾝身為宅宅的浪漫！
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-5-638.jpg?cb=1496933873" target="_blank" rel="noopener">5. </a>⾝身為宅宅的浪漫！</li>
<li><a title="The Classic way.
• #adb shell pm list package 
顯⽰示所有安裝的應⽤用程..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-6-638.jpg?cb=1496933873" target="_blank" rel="noopener">6. </a>The Classic way. • #adb shell pm list package  顯⽰示所有安裝的應⽤用程式之packageName • #adb shell pm path package.name.here  顯⽰示應⽤用程式之APK路路徑 • #adb pull /path/to/apk/location/base.apk  取出應⽤用程式之APK</li>
<li><a title="拆
Making material
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-7-638.jpg?cb=1496933873" target="_blank" rel="noopener">7. </a>拆 Making material</li>
<li><a title="可以把JAR直接放到
Android上跑嗎？
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-8-638.jpg?cb=1496933873" target="_blank" rel="noopener">8. </a>可以把JAR直接放到 Android上跑嗎？</li>
<li><a title="Java Virtual
Machine（JVM） 
⼀一種能夠執⾏行行Java bytecode的虛擬機器
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-9-638.jpg?cb=1496933873" target="_blank" rel="noopener">9. </a>Java Virtual Machine（JVM）  ⼀一種能夠執⾏行行Java bytecode的虛擬機器</li>
<li><a title="Desktop
Java VM
Java
bytecode
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-10-638.jpg?cb=1496933873" target="_blank" rel="noopener">10. </a>Desktop Java VM Java bytecode</li>
<li><a title="Dalvik VM
可以執⾏行行已轉換為「Dalvik
Executable」格式的Java應⽤用程式
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-11-638.jpg?cb=1496933873" target="_blank" rel="noopener">11. </a>Dalvik VM 可以執⾏行行已轉換為「Dalvik Executable」格式的Java應⽤用程式</li>
<li><a title="Desktop Android
Java VM Dalvik VM
Java
bytecode
Dex
bytecode
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-12-638.jpg?cb=1496933873" target="_blank" rel="noopener">12. </a>Desktop Android Java VM Dalvik VM Java bytecode Dex bytecode</li>
<li><a title="JVM ≠ Dalvik VM？
Stacked based Register based
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-13-638.jpg?cb=1496933873" target="_blank" rel="noopener">13. </a>JVM ≠ Dalvik VM？ Stacked based Register based</li>
<li><a title="Desktop Mobile
Java VM Dalvik VM
Java
bytecode
Dex code
變換
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-14-638.jpg?cb=1496933873" target="_blank" rel="noopener">14. </a>Desktop Mobile Java VM Dalvik VM Java bytecode Dex code 變換</li>
<li><a title="http://lim.univ-reunion.fr/staff/fred/Doc/Dalvik/Analysis-o..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-15-638.jpg?cb=1496933873" target="_blank" rel="noopener">15. </a>http://lim.univ-reunion.fr/staff/fred/Doc/Dalvik/Analysis-of-Dalvik-VM.pdf</li>
<li><a title="每次變換都會損失部分資訊。
和最初的原始碼差異異越來來越⼤大
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-16-638.jpg?cb=1496933873" target="_blank" rel="noopener">16. </a>每次變換都會損失部分資訊。 和最初的原始碼差異異越來來越⼤大</li>
<li><a title="那APK⼜又是如何製作？
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-17-638.jpg?cb=1496933873" target="_blank" rel="noopener">17. </a>那APK⼜又是如何製作？</li>
<li><a title="APK封裝流程
Source Code 
(*.java)
Java
Bytecode 
(*.class)
Java..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-18-638.jpg?cb=1496933873" target="_blank" rel="noopener">18. </a>APK封裝流程 Source Code  (*.java) Java Bytecode  (*.class) Java Compiler Compile</li>
<li><a title="APK封裝流程
Java
Bytecode 
(*.class)
“dx” tool
Dalvik
Executabl..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-19-638.jpg?cb=1496933873" target="_blank" rel="noopener">19. </a>APK封裝流程 Java Bytecode  (*.class) “dx” tool Dalvik Executable  (classes.dex) Convert  &amp;  Merge</li>
<li><a title="APK封裝流程
Dalvik
Bytecode 
(classes.dex)
APK Packager
w/ comp..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-20-638.jpg?cb=1496933873" target="_blank" rel="noopener">20. </a>APK封裝流程 Dalvik Bytecode  (classes.dex) APK Packager w/ compiled resourced APK  (unsigned) Assemble</li>
<li><a title="APK封裝流程
APK 
(unsigned)
APK 
(signed)
APK Packager
w/ key s..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-21-638.jpg?cb=1496933873" target="_blank" rel="noopener">21. </a>APK封裝流程 APK  (unsigned) APK  (signed) APK Packager w/ key store Sign</li>
<li><a title="https://developer.android.com/studio/build/index.html
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-22-638.jpg?cb=1496933873" target="_blank" rel="noopener">22. </a>https://developer.android.com/studio/build/index.html</li>
<li><a title="So far…
• 要修改邏輯→Dex下⼿手。
• 要對Dex下⼿手→拆開APK。
• 要拆開APK→簽章失效。
• ..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-23-638.jpg?cb=1496933873" target="_blank" rel="noopener">23. </a>So far… • 要修改邏輯→Dex下⼿手。 • 要對Dex下⼿手→拆開APK。 • 要拆開APK→簽章失效。 • 也就是說，當修改完後必須重組APK並加簽章。</li>
<li><a title="可以直接解開來來改嗎？
如果你天資過⼈人，是百年年難得⼀一⾒見見的武術奇才
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-24-638.jpg?cb=1496933873" target="_blank" rel="noopener">24. </a>可以直接解開來來改嗎？ 如果你天資過⼈人，是百年年難得⼀一⾒見見的武術奇才</li>
<li><a title="Apktool
https://ibotpeaches.github.io/Apktool/
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-25-638.jpg?cb=1496933873" target="_blank" rel="noopener">25. </a>Apktool https://ibotpeaches.github.io/Apktool/</li>
<li><a title="Apktool
• #java -jar apktool d target.apk -o target 
反組譯APK..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-26-638.jpg?cb=1496933873" target="_blank" rel="noopener">26. </a>Apktool • #java -jar apktool d target.apk -o target  反組譯APK並產⽣生smali與xml  *Smali是⼀一種很接近dex的組合語⾔言 • #java -jar apktool b target -o output.apk  將smali與xml重新組譯成APK</li>
<li><a title="如果試著安裝就會...
[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-27-638.jpg?cb=1496933873" target="_blank" rel="noopener">27. </a>如果試著安裝就會&#8230; [INSTALL_PARSE_FAILED_NO_CERTIFICATES]</li>
<li><a title="Signed
• #jarsigner -verbose -keystore ~/.android/
debug.ke..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-28-638.jpg?cb=1496933873" target="_blank" rel="noopener">28. </a>Signed • #jarsigner -verbose -keystore ~/.android/ debug.keystore -storepass android -keypass android target.apk androiddebugkey    使⽤用debug keystore 去簽重新包裝的apk</li>
<li><a title="先來來試試看！
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-29-638.jpg?cb=1496933873" target="_blank" rel="noopener">29. </a>先來來試試看！</li>
<li><a title="Smali
https://github.com/JesusFreke/smali
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-30-638.jpg?cb=1496933873" target="_blank" rel="noopener">30. </a>Smali https://github.com/JesusFreke/smali</li>
<li><a title="foo(I[[II[Ljava/lang/Object;)Z
boolean foo(int, int[][], in..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-31-638.jpg?cb=1496933873" target="_blank" rel="noopener">31. </a>foo(I[[II[Ljava/lang/Object;)Z boolean foo(int, int[][], int, Object[]) foo(I[[II[Ljava/lang/Object;)Z boolean foo(int, int[][], int, Object[])</li>
<li><a title="暫存器
.method public d(Ljava/lang/String;J)I

.locals 3
暫存器 ..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-32-638.jpg?cb=1496933873" target="_blank" rel="noopener">32. </a>暫存器 .method public d(Ljava/lang/String;J)I   .locals 3 暫存器 v0 v1 v2 型態 ? ? ? 別名 p0 p1 p2 p3 v3 this v4 v5 v6 String long v0~v2是可以⾃自由使⽤用的區域暫存器 v3是物件本⾝身，但靜態⽅方法則無。 v4~v6是傳入參參數 參參數p0~p3不受到區域暫存器的影響。</li>
<li><a title="Quick Demo
.method public static d(Ljava/lang/String;Ljava/..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-33-638.jpg?cb=1496933873" target="_blank" rel="noopener">33. </a>Quick Demo .method public static d(Ljava/lang/String;Ljava/lang/String;)V .locals 3 .param p0, &#8220;username&#8221; # Ljava/lang/String; .param p1, &#8220;password&#8221; # Ljava/lang/String; .prologue &#8230; invoke-virtual {v1, v0}, Landroid/content/Context;-&gt;startService(Landroid/content/Intent;)Land return-void .end method invoke-virtual {v0}, Landroid/content/Intent;-&gt;toString()Ljava/lang/String; move-result-object v0 const-string v3, &#8220;LOG&#8221; invoke-static {v3, v0}, Landroid/util/Log;-&gt;d(Ljava/lang/String;Ljava/lang/String;)I 調⽤用intent.toString()將輸出存到v0 增加區域暫存器 設定v3 調⽤用Log.d(String,String) .locals 4</li>
<li><a title="Smali經驗談
• 注意static⽤用invoke-static、public/protected⽤用invoke..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-34-638.jpg?cb=1496933873" target="_blank" rel="noopener">34. </a>Smali經驗談 • 注意static⽤用invoke-static、public/protected⽤用invoke- virtual、private⽤用invoke-direct、super⽤用invoke-super • 確認該區域暫存器沒有被其他指令使⽤用 • 函數簽名要多檢查，例例如Log.d有回傳值 • ⾃自⼰己做APK轉smali學最快</li>
<li><a title="Smali is good, but still
hard to analyze.
We need dex2jar a..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-35-638.jpg?cb=1496933873" target="_blank" rel="noopener">35. </a>Smali is good, but still hard to analyze. We need dex2jar and JDGui</li>
<li><a title="Dex2Jar
https://sourceforge.net/projects/dex2jar/
#sh ./dex..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-36-638.jpg?cb=1496933873" target="_blank" rel="noopener">36. </a>Dex2Jar https://sourceforge.net/projects/dex2jar/ #sh ./dex2jar/d2j-dex2jar.sh target.apk</li>
<li><a title="JDGui
http://jd.benow.ca/
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-37-638.jpg?cb=1496933873" target="_blank" rel="noopener">37. </a>JDGui http://jd.benow.ca/</li>
<li><a title="組
Develop
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-38-638.jpg?cb=1496933873" target="_blank" rel="noopener">38. </a>組 Develop</li>
<li><a title="Analysis
APK
JAR
Dex2jar
Analyze
JDGui
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-39-638.jpg?cb=1496933873" target="_blank" rel="noopener">39. </a>Analysis APK JAR Dex2jar Analyze JDGui</li>
<li><a title="Reversing
APK
Smali
Apktool
Modiﬁed
Editor(Sublime Text)
AP..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-40-638.jpg?cb=1496933873" target="_blank" rel="noopener">40. </a>Reversing APK Smali Apktool Modiﬁed Editor(Sublime Text) APK(unsign) Apktool APK(signed) Jarsigner</li>
<li><a title="秀
Show, Don’t tell!
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-41-638.jpg?cb=1496933873" target="_blank" rel="noopener">41. </a>秀 Show, Don’t tell!</li>
<li><a title="分析經驗談
• AndroidManifest.xml is a good start point. Adding
a..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-42-638.jpg?cb=1496933873" target="_blank" rel="noopener">42. </a>分析經驗談 • AndroidManifest.xml is a good start point. Adding android:debuggable=“true” helps you ALWAYS. • 耐⼼心、運氣和經驗。 • Use UIAutomator to analyze UI and xml. • Use shell to view persistence data, such as db.  #adb shell run-as package.name</li>
<li><a title="分析經驗談
• Framework相關的class/method是不會被混淆的。
• Use Activity Man..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-43-638.jpg?cb=1496933873" target="_blank" rel="noopener">43. </a>分析經驗談 • Framework相關的class/method是不會被混淆的。 • Use Activity Manager to analyze Task Stack  #adb shell dumpsys activity activities   | sed -En -e &#8216;/Running activities/,/Run #0/p&#8217; • ⽤用上任何可⽤用的Sniffer Tool，像是Charles Web Proxy, tcpdump。</li>
<li><a style="box-sizing: inherit; text-decoration: none; background-color: transparent; color: #008ed2; line-height: inherit;" title="分析經驗談
• 善⽤用全域搜尋關鍵詞（Unicode &lt;-&gt; Text/Hex &lt;-&gt; Int）
• 藉由逆向製造Ex..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-44-638.jpg?cb=1496933873" target="_blank" rel="noopener">44. </a>分析經驗談 • 善⽤用全域搜尋關鍵詞（Unicode &lt;-&gt; Text/Hex &lt;-&gt; Int） • 藉由逆向製造Exception來來追蹤執⾏行行路路徑。 • 多看多嘗試，不要太快就看得太深。</li>
<li><a title="逆向經驗談
• Static is better. NO constructor required.
• 建立同樣Pa..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-45-638.jpg?cb=1496933873" target="_blank" rel="noopener">45. </a>逆向經驗談 • Static is better. NO constructor required. • 建立同樣PackageName的Utility Project，編譯成 APK後再轉Smali並放入要改寫的⽬目錄。 • 少寫少錯，多寫多錯。 • Don’t forget use git.</li>
<li><a title="Anti-Reverse Engineering
• 逆向⼯工程是時間問題，但是可以努⼒力力讓逆向成本⼤大
於價值。
..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-46-638.jpg?cb=1496933873" target="_blank" rel="noopener">46. </a>Anti-Reverse Engineering • 逆向⼯工程是時間問題，但是可以努⼒力力讓逆向成本⼤大 於價值。 • Proguard 能提供基本的防護。 • 使⽤用JNI與C++處理理核⼼心與加密可提⾼高逆向的⾨門檻。 • 如果有後端，將核⼼心邏輯放在Server side。 • 使⽤用DexGuard、Arxan等商⽤用加密⼯工具。</li>
<li><a title="Appendix
• Smali Syntax Highlight Plugin  
https://github.c..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-47-638.jpg?cb=1496933873" target="_blank" rel="noopener">47. </a>Appendix • Smali Syntax Highlight Plugin   https://github.com/ShaneWilton/sublime-smali • Jadx  https://github.com/skylot/jadx • 如果有align問題請記得  #zipalign -f -v 4 unalign.apk align.apk</li>
<li><a title="Reference
https://liuzhichao.com/p/919.html 
http://blog.is..." href="https://image.slidesharecdn.com/slide-170608145332/95/android-48-638.jpg?cb=1496933873" target="_blank" rel="noopener">48. </a>Reference https://liuzhichao.com/p/919.html  http://blog.isming.me/2015/01/14/android-decompile-smali/  https://hitcon.org/2015/CMT/download/day2-g-r4.pdf  http://blog.csdn.net/wdaming1986/article/details/8299996  https://www.rsaconference.com/writable/presentations/ﬁle_upload/stu-w02b- beginners-guide-to-reverse-engineering-android-apps.pdf</li>
<li><a title="The End.
Q &amp; A
 " href="https://image.slidesharecdn.com/slide-170608145332/95/android-49-638.jpg?cb=1496933873" target="_blank" rel="noopener">49. </a>The End. Q &amp; A</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stackoverflow.max-everyday.com/2017/06/android-decompiler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python 滲透測試工具合集</title>
		<link>https://stackoverflow.max-everyday.com/2017/02/python-hack/</link>
					<comments>https://stackoverflow.max-everyday.com/2017/02/python-hack/#respond</comments>
		
		<dc:creator><![CDATA[max-stackoverflow]]></dc:creator>
		<pubDate>Wed, 15 Feb 2017 02:04:43 +0000</pubDate>
				<category><![CDATA[Python筆記]]></category>
		<category><![CDATA[decompiler]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">http://stackoverflow.max-everyday.com/?p=140</guid>

					<description><![CDATA[Python 真的是博大精深。 資料來源： ht...]]></description>
										<content:encoded><![CDATA[<p>Python 真的是博大精深。</p>
<p>資料來源：<br />
<a href="https://github.com/dloss/python-pentest-tools">https://github.com/dloss/python-pentest-tools</a></p>
<hr />
<p>如果你热爱漏洞研究、逆向工程或者渗透测试，我强烈推荐你使用 <a href="http://www.python.org/">Python</a> 作为编程语言。它包含大量实用的库和工具，本文会列举其中部分精华。</p>
<h3 id="">网络</h3>
<ul>
<li><a href="http://secdev.org/projects/scapy">Scapy</a>, <a href="http://github.com/phaethon/scapy">Scapy3k</a>: 发送，嗅探，分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库。</li>
<li><a href="http://code.google.com/p/pypcap/">pypcap</a>, <a href="http://oss.coresecurity.com/projects/pcapy.html">Pcapy</a>, <a href="http://pylibpcap.sourceforge.net/">pylibpcap</a>: 几个不同 libpcap 绑定的python库</li>
<li><a href="http://code.google.com/p/libdnet/">libdnet</a>: 低级网络路由，包括端口查看和以太网帧的转发</li>
<li><a href="https://github.com/kbandla/dpkt">dpkt</a>: 快速，轻量数据包创建和分析，面向基本的 TCP/IP 协议</li>
<li><a href="http://oss.coresecurity.com/projects/impacket.html">Impacket</a>: 伪造和解码网络数据包，支持高级协议如 NMB 和 SMB</li>
<li><a href="http://jon.oberheide.org/pynids/">pynids</a>: libnids 封装提供网络嗅探，IP 包碎片重组，TCP 流重组和端口扫描侦查</li>
<li><a href="http://dirtbags.net/py-pcap.html">Dirtbags py-pcap</a>: 无需 libpcap 库读取 pcap 文件</li>
<li><a href="http://monkey.org/~jose/software/flowgrep/">flowgrep</a>: 通过正则表达式查找数据包中的 Payloads</li>
<li><a href="https://github.com/guelfoweb/knock">Knock Subdomain Scan</a>: 通过字典枚举目标子域名</li>
<li><a href="https://github.com/TheRook/subbrute">SubBrute</a>: 快速的子域名枚举工具</li>
<li><a href="https://bitbucket.org/IntrepidusGroup/mallory">Mallory</a>: 可扩展的 TCP/UDP 中间人代理工具，可以实时修改非标准协议</li>
<li><a href="http://pytbull.sourceforge.net/">Pytbull</a>: 灵活的 IDS/IPS 测试框架（附带超过300个测试样例）</li>
</ul>
<h3 id="">调试和逆向工程</h3>
<ul>
<li><a href="https://github.com/OpenRCE/paimei">Paimei</a>: 逆向工程框架，包含 <a href="https://github.com/OpenRCE/pydbg">PyDBG</a>, PIDA, pGRAPH</li>
<li><a href="http://debugger.immunityinc.com/">Immunity Debugger</a>: 脚本 GUI 和命令行调试器</li>
<li><a href="https://www.corelan.be/index.php/2011/07/14/mona-py-the-manual/">mona.py</a>: Immunity Debugger 中的扩展，用于代替 pvefindaddr</li>
<li><a href="https://github.com/idapython/src">IDAPython</a>: IDA pro 中的插件，集成 Python 编程语言，允许脚本在 IDA Pro 中执行</li>
<li><a href="https://github.com/codypierce/pyemu">PyEMU</a>: 全脚本英特尔32位仿真器，用于恶意软件分析</li>
<li><a href="https://github.com/erocarrera/pefile">pefile</a>: 读取并处理 PE 文件</li>
<li><a href="https://github.com/axcheron/pydasm">pydasm</a>: Python 封装的 <a href="https://github.com/alexeevdv/libdasm">libdasm</a></li>
<li><a href="http://pydbgeng.sourceforge.net/">PyDbgEng</a>: Python 封装的微软 Windows 调试引擎</li>
<li><a href="http://oss.coresecurity.com/projects/uhooker.htm">uhooker</a>: 截获 DLL 或内存中任意地址可执行文件的 API 调用</li>
<li><a href="http://www.ragestorm.net/distorm/">diStorm</a>: AMD64 下的反汇编库</li>
<li><a href="http://python-ptrace.readthedocs.org/">python-ptrace</a>: Python 写的使用 ptrace 的调试器</li>
<li><a href="https://github.com/joonty/vdebug">vdb / vtrace</a>: vtrace 是用 Python 实现的跨平台调试 API, vdb 是使用它的调试器</li>
<li><a href="https://github.com/androguard/androguard">Androguard</a>: 安卓应用程序的逆向分析工具</li>
<li><a href="http://www.capstone-engine.org/">Capstone</a>: 一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台。</li>
<li><a href="https://github.com/Groundworkstech/pybfd/">PyBFD</a>: GNU 二进制文件描述(BFD)库的 Python 接口</li>
</ul>
<h3 id="fuzzing">Fuzzing</h3>
<ul>
<li><a href="https://github.com/OpenRCE/sulley">Sulley</a>: 一个模糊器开发和模糊测试的框架，由多个可扩展的构件组成的</li>
<li><a href="http://peachfuzz.sourceforge.net/">Peach Fuzzing Platform</a>: 可扩展的模糊测试框架(v2版本 是用 Python 语言编写的)</li>
<li><a href="http://antiparser.sourceforge.net/">antiparser</a>: 模糊测试和故障注入的 API</li>
<li><a href="http://sourceforge.net/projects/taof/">TAOF</a>, (The Art of Fuzzing, 模糊的艺术) 包含 ProxyFuzz, 一个中间人网络模糊测试工具</li>
<li><a href="http://untidy.sourceforge.net/">untidy</a>: 针对 XML 模糊测试工具</li>
<li><a href="http://www.powerfuzzer.com/">Powerfuzzer</a>: 高度自动化和可完全定制的 Web 模糊测试工具</li>
<li><a href="http://www.fuzzing.org/wp-content/SMUDGE.zip">SMUDGE</a>: 纯 Python 实现的网络协议模糊测试</li>
<li><a href="http://www.packetstormsecurity.org/fuzzer/mistress.rar">Mistress</a>: 基于预设模式，侦测实时文件格式和侦测畸形数据中的协议</li>
<li><a href="https://isecpartners.com/tools/application-security/fuzzbox.aspx">Fuzzbox</a>: 媒体多编码器的模糊测试</li>
<li><a href="https://isecpartners.com/tools/application-security/forensic-fuzzing-tools.aspx">Forensic Fuzzing Tools</a>: 通过生成模糊测试的文件，文件系统和包含模糊测试文件的文件系统，来测试取证工具的鲁棒性</li>
<li><a href="https://isecpartners.com/tools/application-security/windows-ipc-fuzzing-tools.aspx">Windows IPC Fuzzing Tools</a>: 使用 Windows 进程间通信机制进行模糊测试的工具</li>
<li><a href="https://www.isecpartners.com/tools/application-security/wsbang.aspx">WSBang</a>: 基于 Web 服务自动化测试 SOAP 安全性</li>
<li><a href="http://construct.readthedocs.org/">Construct</a>: 用于解析和构建数据格式(二进制或文本)的库</li>
<li><a href="http://sites.google.com/site/felipeandresmanzano/fuzzer.py?attredirects=0">fuzzer.py (feliam)</a>: 由 Felipe Andres Manzano 编写的简单模糊测试工具</li>
<li><a href="http://fusil.readthedocs.org/">Fusil</a>: 用于编写模糊测试程序的 Python 库</li>
</ul>
<h3 id="web">Web</h3>
<ul>
<li><a href="http://python-requests.org/">Requests</a>: 优雅，简单，人性化的 HTTP 库</li>
<li><a href="http://httpie.org/">HTTPie</a>: 人性化的类似 cURL 命令行的 HTTP 客户端</li>
<li><a href="https://www.isecpartners.com/tools/application-security/proxmon.aspx">ProxMon</a>: 处理代理日志和报告发现的问题</li>
<li><a href="https://www.isecpartners.com/tools/application-security/wsmap.aspx">WSMap</a>: 寻找 Web 服务器和发现文件</li>
<li><a href="http://twill.idyll.org/">Twill</a>: 从命令行界面浏览网页。支持自动化网络测试</li>
<li><a href="http://jeanphix.me/Ghost.py/">Ghost.py</a>: Python 写的 WebKit Web 客户端</li>
<li><a href="http://www.getwindmill.com/">Windmill</a>: Web 测试工具帮助你轻松实现自动化调试 Web 应用</li>
<li><a href="http://funkload.nuxeo.org/">FunkLoad</a>: Web 功能和负载测试</li>
<li><a href="https://github.com/makinacorpus/spynner">spynner</a>: Python 写的 Web浏览模块支持 Javascript/AJAX</li>
<li><a href="https://github.com/davisp/python-spidermonkey">python-spidermonkey</a>: 是 Mozilla JS 引擎在 Python 上的移植，允许调用 Javascript 脚本和函数</li>
<li><a href="http://mitmproxy.org/">mitmproxy</a>: 支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量</li>
<li><a href="http://pathod.net/">pathod / pathoc</a>: 变态的 HTTP/S 守护进程，用于测试和折磨 HTTP 客户端</li>
</ul>
<h3 id="">取证</h3>
<ul>
<li><a href="http://www.volatilityfoundation.org/">Volatility</a>: 从 RAM 中提取数据</li>
<li><a href="http://www.rekall-forensic.com/">Rekall</a>: Google 开发的内存分析框架</li>
<li><a href="http://code.google.com/p/libforensics/">LibForensics</a>: 数字取证应用程序库</li>
<li><a href="http://mark0.net/code-tridlib-e.html">TrIDLib</a>: Python 实现的从二进制签名中识别文件类型</li>
<li><a href="https://github.com/agnivesh/aft">aft</a>: 安卓取证工具集</li>
</ul>
<h3 id="">恶意软件分析</h3>
<ul>
<li><a href="https://github.com/joxeankoret/pyew">pyew</a>: 命令行十六进制编辑器和反汇编工具，主要用于分析恶意软件</li>
<li><a href="http://www.decalage.info/exefilter">Exefilter</a>: 过滤 E-mail，网页和文件中的特定文件格式。可以检测很多常见文件格式，也可以移除文档内容。</li>
<li><a href="http://xael.org/norman/python/pyclamav/index.html">pyClamAV</a>: 增加你 Python 软件的病毒检测能力</li>
<li><a href="https://github.com/urule99/jsunpack-n">jsunpack-n</a>: 通用 JavaScript 解释器，通过模仿浏览器功能来检测针对目标浏览器和浏览器插件的漏洞利用</li>
<li><a href="https://github.com/plusvic/yara/tree/master/yara-python">yara-python</a>: 识别和分类恶意软件样本</li>
<li><a href="https://github.com/honeynet/phoneyc">phoneyc</a>: 纯 Python 实现的蜜罐</li>
<li><a href="https://github.com/omriher/CapTipper">CapTipper</a>: 分析，研究和重放 PCAP 文件中的 HTTP 恶意流量</li>
</ul>
<h3 id="pdf">PDF</h3>
<ul>
<li><a href="http://eternal-todo.com/tools/peepdf-pdf-analysis-tool">peepdf</a>: Python 编写的PDF文件分析工具，可以帮助检测恶意的PDF文件</li>
<li><a href="http://blog.didierstevens.com/programs/pdf-tools">Didier Stevens&#8217; PDF tools</a>: 分析，识别和创建 PDF 文件(包含 <a href="http://blog.didierstevens.com/programs/pdf-tools/#pdfid">PDFiD</a>，<a href="http://blog.didierstevens.com/programs/pdf-tools/#pdf-parser">pdf-parser</a> ，<a href="http://blog.didierstevens.com/programs/pdf-tools/#make-pdf">make-pdf</a> 和 mPDF)</li>
<li><a href="http://code.google.com/p/opaf/">Opaf</a>: 开放　PDF 分析框架，可以将 PDF 转化为 XML 树从而进行分析和修改。</li>
<li><a href="http://www.decalage.info/python/origapy">Origapy</a>: Ruby 工具 <a href="http://www.security-labs.org/origami/">Origami</a> 的 Python 接口，用于审查 PDF 文件</li>
<li><a href="http://mstamy2.github.io/PyPDF2/">pyPDF2</a>: Python PDF 工具包包含：信息提取，拆分，合并，制作，加密和解密&#8230;</li>
<li><a href="http://www.unixuser.org/~euske/python/pdfminer/index.html">PDFMiner</a>: 从 PDF 文件中提取文本</li>
<li><a href="https://github.com/wbsoft/python-poppler-qt4">python-poppler-qt4</a>: Python 写的 <a href="http://poppler.freedesktop.org/">Poppler</a> PDF 库，包含支持 Qt4</li>
</ul>
<h3 id="">杂项</h3>
<ul>
<li><a href="http://oss.coresecurity.com/projects/inlineegg.html">InlineEgg</a>: 使用 Python 编写的具有一系列小功能的工具箱</li>
<li><a href="http://corelabs.coresecurity.com/index.php?module=Wiki&amp;action=view&amp;type=tool&amp;name=Exomind">Exomind</a>: 是一个利用社交网络进行钓鱼攻击的工具</li>
<li><a href="http://www.securityfocus.com/tools/3851">RevHosts</a>: 枚举指定 IP 地址包含的虚拟主句</li>
<li><a href="https://github.com/simplejson/simplejson/">simplejson</a>: JSON 编码和解码器，例如使用 <a href="http://dcortesi.com/2008/05/28/google-ajax-search-api-example-python-code/">Google&#8217;s AJAX API</a></li>
<li><a href="http://code.google.com/p/pymangle/">PyMangle</a>: 命令行工具和一个创建用于渗透测试使用字典的库</li>
<li><a href="https://bitbucket.org/haypo/hachoir/wiki/Home">Hachoir</a>: 查看和编辑二进制流</li>
</ul>
<h3 id="">其他有用的库和工具</h3>
<ul>
<li><a href="http://ipython.scipy.org/">IPython</a>: 增强的交互式 Python shell</li>
<li><a href="http://www.crummy.com/software/BeautifulSoup/">Beautiful Soup</a>: HTML 解析器</li>
<li><a href="http://matplotlib.sourceforge.net/">matplotlib</a>: 制作二维图</li>
<li><a href="http://code.enthought.com/projects/mayavi/">Mayavi</a>: 三维科学数据的可视化与绘图</li>
<li><a href="http://www.secdev.org/projects/rtgraph3d/">RTGraph3D</a>: 在三维空间中创建动态图</li>
<li><a href="http://twistedmatrix.com/">Twisted</a>: Python 语言编写的事件驱动的网络框架</li>
<li><a href="https://fedorahosted.org/suds/">Suds</a>: 一个轻量级的基于SOAP的python客户端</li>
<li><a href="http://chandlerproject.org/bin/view/Projects/MeTooCrypto">M2Crypto</a>: Python 语言对 OpenSSL 的封装</li>
<li><a href="http://networkx.lanl.gov/">NetworkX</a>: 图库(边, 节点)</li>
<li><a href="http://pandas.pydata.org/">Pandas</a>: 基于 Numpy 构建的含有更高级数据结构和工具的数据分析包</li>
<li><a href="http://pyparsing.wikispaces.com/">pyparsing</a>: 通用解析模块</li>
<li><a href="http://lxml.de/">lxml</a>: 使用 Python 编写的库，可以迅速、灵活地处理 XML</li>
<li><a href="https://bitbucket.org/mchaput/whoosh/">Whoosh</a>: 纯python实现的全文搜索组件</li>
<li><a href="https://github.com/pexpect/pexpect">Pexpect</a>: 控制和自动化程序</li>
<li><a href="http://groups.csail.mit.edu/uid/sikuli/">Sikuli</a>: 使用 <a href="http://www.jython.org/">Jython</a> 脚本自动化基于截图进行视觉搜索</li>
<li><a href="http://www.riverbankcomputing.co.uk/software/pyqt">PyQt</a> 和 <a href="http://www.pyside.org/">PySide</a>: Python 捆绑的 Qt 应用程序框架和 GUI 库</li>
</ul>
<h3 id="">书籍</h3>
<ul>
<li><a href="https://www.elsevier.com/books/violent-python/unknown/978-1-59749-957-6">Violent Python</a> TJ O&#8217;Connor著: 详细介绍黑客，取证分析，渗透测试和安全工程师的书 (注：<a href="http://zone.wooyun.org/content/23819">乌云社区</a>有中文翻译版，感谢草帽小子-DJ和crown丶prince 的翻译)</li>
<li><a href="http://item.jd.com/11121583.html">Grey Hat Python</a> Justin Seitz著: Python 编程用于黑客和逆向工程</li>
<li><a href="http://www.nostarch.com/blackhatpython">Black Hat Python</a> Justin Seitz著: Python 编程用于黑客和渗透测试</li>
<li><a href="https://www.packtpub.com/networking-and-servers/python-penetration-testing-essentials">Python Penetration Testing Essentials</a> Mohit著: 借助 Python 的力量做到最好的渗透测试</li>
<li><a href="https://www.packtpub.com/hardware-and-creative/python-secret-agents">Python for Secret Agents</a> Steven F. Lott著: 使用 Python 分析，加密和分析数据</li>
</ul>
<h3 id="">其他更多</h3>
<ul>
<li><a href="http://www.securitytube-training.com/online-courses/securitytube-python-scripting-expert/">SecurityTube Python Scripting Expert (SPSE)</a> 由 Vivek Ramachandran 提供的在线课程和认证</li>
<li>SANS 提供的相关课程 <a href="http://www.sans.org/course/python-for-pen-testers">SEC573: Python for Penetration Testers</a></li>
<li><a href="http://pythonarsenal.erpscan.com/">Python Arsenal for Reverse Engineering</a> 收集有大量逆向工程相关的工具</li>
<li>这是 SANS 关于用于取证分析的 Python 库的论文 <a href="http://www.sans.org/reading_room/whitepapers/incident/grow-forensic-tools-taxonomy-python-libraries-helpful-forensic-analysis_33453">(PDF)</a></li>
<li>更多 Python 的库可以在 <a href="http://pypi.python.org/pypi">PyPI</a> 中查找</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://stackoverflow.max-everyday.com/2017/02/python-hack/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>九陽智能豆漿機破解細節分析</title>
		<link>https://stackoverflow.max-everyday.com/2016/09/hack-joyoung/</link>
					<comments>https://stackoverflow.max-everyday.com/2016/09/hack-joyoung/#respond</comments>
		
		<dc:creator><![CDATA[max-stackoverflow]]></dc:creator>
		<pubDate>Mon, 19 Sep 2016 16:54:58 +0000</pubDate>
				<category><![CDATA[Android筆記]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[decompiler]]></category>
		<guid isPermaLink="false">http://stackoverflow.max-everyday.com/?p=66</guid>

					<description><![CDATA[首先，九陽應該使用https 會好一點點, ht...]]></description>
										<content:encoded><![CDATA[<p>首先，九陽應該使用https 會好一點點,</p>
<blockquote><p>http://xxx.joyoung.com/ia/appapi/userdev?param={&#8220;sessionkey&#8221;:&#8221;bcaaef7a1b554039b741391946xxxxxx&#8221;,&#8221;op_action&#8221;:&#8221;query&#8221;}</p></blockquote>
<p>第2個是由於android 的app source code 基本上是會被看光光，所以黑箱要放在server side 上面，client side 和 server side 溝通時，應該使用token 而不是該設備id, 只要token 夠長夠而且夠複雜，就比較難被猜到。</p>
<p><a href="http://max-everyday.com/wp-content/uploads/2016/09/14422208814287.png"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-1363" src="http://max-everyday.com/wp-content/uploads/2016/09/14422208814287.png" alt="14422208814287" width="487" height="348" /></a></p>
<h4>資料來源：</h4>
<p>HackPwn：九阳智能豆浆机破解细节分析<br />
<a href="http://www.freebuf.com/articles/terminal/78196.html">http://www.freebuf.com/articles/terminal/78196.html</a></p>
<h4>相關文章：</h4>
<p>從原始碼了解 Pokémon Go</p>
<p><a href="http://www.inside.com.tw/2016/08/24/source-code-of-pokemon-go">http://www.inside.com.tw/2016/08/24/source-code-of-pokemon-go</a></p>
<p>Unbundling Pokémon Go<br />
<a href="https://applidium.com/en/news/unbundling_pokemon_go/">https://applidium.com/en/news/unbundling_pokemon_go/</a></p>
<p>A tool for reverse engineering Android apk files (deapk)<br />
<a href="https://ibotpeaches.github.io/Apktool/documentation/">https://ibotpeaches.github.io/Apktool/documentation/</a></p>
<p>Dex to Java decompiler<br />
<a href="https://github.com/skylot/jadx">https://github.com/skylot/jadx</a></p>
<p>APK decompiler &#8211; decompile Android .apk ONLINE<br />
<a href="http://www.javadecompilers.com/apk">http://www.javadecompilers.com/apk</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://stackoverflow.max-everyday.com/2016/09/hack-joyoung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
