Skip to content

Commit

Permalink
Site updated: 2017-05-19 10:01:09
Browse files Browse the repository at this point in the history
  • Loading branch information
yuntai01 authored and yuntai01 committed May 19, 2017
1 parent 1910c78 commit 525338b
Show file tree
Hide file tree
Showing 58 changed files with 1,797 additions and 370 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ <h1 class="post-title" itemprop="name headline">



<script src="/assets/js/DPlayer.min.js"> </script><script src="/assets/js/APlayer.min.js"> </script><p>UITextField切换中文输入,选中键盘中被mark的中文字符时,iOS7中UITextField不会调用如下协议方法:</p>
<script src="/assets/js/APlayer.min.js"> </script><script src="/assets/js/DPlayer.min.js"> </script><p>UITextField切换中文输入,选中键盘中被mark的中文字符时,iOS7中UITextField不会调用如下协议方法:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;</div></pre></td></tr></table></figure>
<p>解决方法:</p>
<p>1、利用通知中心监听UITextFieldTextDidChangeNotification。</p>
Expand Down Expand Up @@ -469,7 +469,7 @@ <h1 class="post-title" itemprop="name headline">
<nav class="site-state motion-element">
<div class="site-state-item site-state-posts">
<a href="/archives">
<span class="site-state-item-count">15</span>
<span class="site-state-item-count">16</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
Expand All @@ -486,7 +486,7 @@ <h1 class="post-title" itemprop="name headline">

<div class="site-state-item site-state-tags">
<a href="/tags">
<span class="site-state-item-count">13</span>
<span class="site-state-item-count">14</span>
<span class="site-state-item-name">标签</span>
</a>
</div>
Expand Down
6 changes: 3 additions & 3 deletions 2016/11/30/objc_msgSend 的正确使用姿势/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ <h1 class="post-title" itemprop="name headline">



<script src="/assets/js/DPlayer.min.js"> </script><script src="/assets/js/APlayer.min.js"> </script><p>首先需要import objc_msgSend 所在的头文件<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">#import &lt;objc/message.h&gt;</div></pre></td></tr></table></figure></p>
<script src="/assets/js/APlayer.min.js"> </script><script src="/assets/js/DPlayer.min.js"> </script><p>首先需要import objc_msgSend 所在的头文件<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">#import &lt;objc/message.h&gt;</div></pre></td></tr></table></figure></p>
<p>‘objc_msgSend’ 同时在 <objc message.h=""><objc runtime.h="">都有定义,需要进一步了解其异同。</objc></objc></p>
<p>在64位机器上运行‘objc_msgSend’,如果姿势不对,编译器不会提示警告,而是直接crash。</p>
<p>解决办法:</p>
Expand Down Expand Up @@ -470,7 +470,7 @@ <h1 class="post-title" itemprop="name headline">
<nav class="site-state motion-element">
<div class="site-state-item site-state-posts">
<a href="/archives">
<span class="site-state-item-count">15</span>
<span class="site-state-item-count">16</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
Expand All @@ -487,7 +487,7 @@ <h1 class="post-title" itemprop="name headline">

<div class="site-state-item site-state-tags">
<a href="/tags">
<span class="site-state-item-count">13</span>
<span class="site-state-item-count">14</span>
<span class="site-state-item-name">标签</span>
</a>
</div>
Expand Down
6 changes: 3 additions & 3 deletions 2016/11/30/搭建GitHub个人博客/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ <h1 class="post-title" itemprop="name headline">



<script src="/assets/js/DPlayer.min.js"> </script><script src="/assets/js/APlayer.min.js"> </script><p>工具<br>markdown语法:(<a href="http://www.appinn.com/markdown/#header" target="_blank" rel="external">http://www.appinn.com/markdown/#header</a>)<br>Atom:(<a href="https://atom.io" target="_blank" rel="external">https://atom.io</a>)</p>
<script src="/assets/js/APlayer.min.js"> </script><script src="/assets/js/DPlayer.min.js"> </script><p>工具<br>markdown语法:(<a href="http://www.appinn.com/markdown/#header" target="_blank" rel="external">http://www.appinn.com/markdown/#header</a>)<br>Atom:(<a href="https://atom.io" target="_blank" rel="external">https://atom.io</a>)</p>
<h2 id="1-创建Github-域名和空间"><a href="#1-创建Github-域名和空间" class="headerlink" title="1. 创建Github 域名和空间"></a>1. 创建Github 域名和空间</h2><p>1.1注册</p>
<p>注册<a href="https://github.com/join?source=header-home" target="_blank" rel="external">Github</a>账号。</p>
<p>#注意:博客域名将会为username.github.io,所以username会影响到博客的域名。</p>
Expand Down Expand Up @@ -483,7 +483,7 @@ <h2 id="5-更多有趣的插件"><a href="#5-更多有趣的插件" class="heade
<nav class="site-state motion-element">
<div class="site-state-item site-state-posts">
<a href="/archives">
<span class="site-state-item-count">15</span>
<span class="site-state-item-count">16</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
Expand All @@ -500,7 +500,7 @@ <h2 id="5-更多有趣的插件"><a href="#5-更多有趣的插件" class="heade

<div class="site-state-item site-state-tags">
<a href="/tags">
<span class="site-state-item-count">13</span>
<span class="site-state-item-count">14</span>
<span class="site-state-item-name">标签</span>
</a>
</div>
Expand Down
6 changes: 3 additions & 3 deletions 2017/03/29/Android反编译初探/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ <h1 class="post-title" itemprop="name headline">



<script src="/assets/js/DPlayer.min.js"> </script><script src="/assets/js/APlayer.min.js"> </script><h1 id="Apk反编译"><a href="#Apk反编译" class="headerlink" title="Apk反编译"></a>Apk反编译</h1><p>Apk反编译使用到的工具:<br>1、apktool (<a href="https://bitbucket.org/iBotPeaches/apktool/downloads/" target="_blank" rel="external">https://bitbucket.org/iBotPeaches/apktool/downloads/</a>)<br>2、enjarify (<a href="https://github.com/google/enjarify" target="_blank" rel="external">https://github.com/google/enjarify</a>)<br>3、Java Decompiler (<a href="http://jd.benow.ca" target="_blank" rel="external">http://jd.benow.ca</a>)</p>
<script src="/assets/js/APlayer.min.js"> </script><script src="/assets/js/DPlayer.min.js"> </script><h1 id="Apk反编译"><a href="#Apk反编译" class="headerlink" title="Apk反编译"></a>Apk反编译</h1><p>Apk反编译使用到的工具:<br>1、apktool (<a href="https://bitbucket.org/iBotPeaches/apktool/downloads/" target="_blank" rel="external">https://bitbucket.org/iBotPeaches/apktool/downloads/</a>)<br>2、enjarify (<a href="https://github.com/google/enjarify" target="_blank" rel="external">https://github.com/google/enjarify</a>)<br>3、Java Decompiler (<a href="http://jd.benow.ca" target="_blank" rel="external">http://jd.benow.ca</a>)</p>
<h2 id="1、apktool"><a href="#1、apktool" class="headerlink" title="1、apktool"></a>1、apktool</h2><p>功能:用于拆解安装包、重新打包。<br>下载地址: (<a href="https://bitbucket.org/iBotPeaches/apktool/downloads/" target="_blank" rel="external">https://bitbucket.org/iBotPeaches/apktool/downloads/</a>)<br>安装方法: (<a href="https://ibotpeaches.github.io/Apktool/install/" target="_blank" rel="external">https://ibotpeaches.github.io/Apktool/install/</a>)<br>使用方法: (<a href="https://ibotpeaches.github.io/Apktool/documentation/" target="_blank" rel="external">https://ibotpeaches.github.io/Apktool/documentation/</a>)<br>apktool安装时注意几点:<br>1、检查是否安装java环境,如果没有,请先安装java环境<br><img src="/images/Android反编译初探/apktool_java_install.png" alt=""><br>2、将apktool脚本变成可执行文件<br>图1:<br><img src="/images/Android反编译初探/apktool_install.png" alt=""><br>图2:<br><img src="/images/Android反编译初探/apktool_shell.png" alt=""><br>图1红框内的脚本当右键保存的如果是apktool.txt格式的文件,本人保存的时候就是txt格式,见图2。当我使用Sublime Text编辑器将其保存为apktool.sh时,无法通过’chmod +x’将其变为可执行文件。最终使用Atom编辑器将其保存为apktool,此时这可使用’chmod +x’将其变为可执行文件。<br>Sublime Text2编辑器<br><img src="/images/Android反编译初探/apktool_shell_sublime_1.png" alt=""><br><img src="/images/Android反编译初探/apktool_shell_sublime_2.png" alt=""><br>Atom编辑器<br><img src="/images/Android反编译初探/apktool_shell_atom_1.png" alt=""><br><img src="/images/Android反编译初探/apktool_shell_atom_2.png" alt=""><br>最终得到如下结果<br><img src="/images/Android反编译初探/apktool_chmod.png" alt=""><br>其实apktool脚本并不是必须的,作用就是在执行apktool.jar时,不必每次都要不厌其烦的输入:java -jar apktool.jar<br>关于这一点网站上也Note出来了:<br><em>Note - Wrapper scripts are not needed, but helpful so you don’t have to type java -jar apktool.jar over and over.</em><br>未使用apktool.sh wrapper shell script时的格式<br><code>java -jar apktool.jar yourapp.apk -o yourapp</code><br>使用enjarify.sh wrapper shell script时的格式<br><code>apktool yourapp.apk -o yourapp</code></p>
<h2 id="2、enjarify"><a href="#2、enjarify" class="headerlink" title="2、enjarify"></a>2、enjarify</h2><p>功能:用于反编译dex文件,得到java源代码,与<a href="https://sourceforge.net/projects/dex2jar/" target="_blank" rel="external">dex2jar</a>类似。<br>下载地址:(<a href="https://github.com/google/enjarify" target="_blank" rel="external">https://github.com/google/enjarify</a>)<br>这个工具是谷歌官方开源的用于反编译dex文件的。<br>enjarify安装注意几点:<br>1、检查是否安装python3<br>因为enjarify是一个纯的python3应用,所以必须确保已经安装了python3,如果没有,则需要安装。<br>此时又要祭出大杀器 <em>Homebrew</em><br>安装Python 2.7的话,请输入:<br><code>$ brew install python</code><br>如果你选择使用Python3,只需要将python替换成python3即可。<br><code>$ brew install python3</code><br>想查看可以安装哪些Python版本的话,可以通过下面的命令在Homebrew上搜索。<br><code>$ brew search python</code><br>这个命令会列出可以安装的全部Python版本。<br><img src="/images/Android反编译初探/enjarify_python_install_versions.png" alt=""><br>2、为了方便原则,方便使用enjarify.sh脚本窍门<br>在终端里执行以下语句<br><code>ln -s &quot;$PWD/enjarify.sh&quot; usr/local/bin/enjarify</code><br>$PWD指enjarify所在的物理位置,我的电脑位置如下:<br><code>/Users/yuntai01/Desktop/下载/enjarify-1.0.3</code><br>执行完,则可在对应的文件夹中找到:<br><img src="/images/Android反编译初探/enjarify_shell_install.png" alt=""><br>未使用enjarify.sh wrapper shell script时的格式<br><code>python3 -O -m enjarify.main yourapp.apk -o yourapp.jar</code><br>使用enjarify.sh wrapper shell script时的格式<br><code>enjarify yourapp.apk -o yourapp.jar</code></p>
<h2 id="3、Java-Decompiler"><a href="#3、Java-Decompiler" class="headerlink" title="3、Java Decompiler"></a>3、Java Decompiler</h2><p>功能:查看java源代码<br>下载地址:(<a href="http://jd.benow.ca)选择jd-gui即可。" target="_blank" rel="external">http://jd.benow.ca)选择jd-gui即可。</a><br>用法:启动jd-gui,直接将enjarify反编译出来得到jar包拖进jd-gui中即可。<br><img src="/images/Android反编译初探/jd_gui_pkg.png" alt=""><br><img src="/images/Android反编译初探/jd_gui_show.png" alt=""></p>
Expand Down Expand Up @@ -493,7 +493,7 @@ <h1 id="Mac上安装apk到Android设备"><a href="#Mac上安装apk到Android设
<nav class="site-state motion-element">
<div class="site-state-item site-state-posts">
<a href="/archives">
<span class="site-state-item-count">15</span>
<span class="site-state-item-count">16</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
Expand All @@ -510,7 +510,7 @@ <h1 id="Mac上安装apk到Android设备"><a href="#Mac上安装apk到Android设

<div class="site-state-item site-state-tags">
<a href="/tags">
<span class="site-state-item-count">13</span>
<span class="site-state-item-count">14</span>
<span class="site-state-item-name">标签</span>
</a>
</div>
Expand Down
6 changes: 3 additions & 3 deletions 2017/03/31/iOS逆向实践/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ <h1 class="post-title" itemprop="name headline">



<script src="/assets/js/DPlayer.min.js"> </script><script src="/assets/js/APlayer.min.js"> </script><h2 id="iOS设备越狱"><a href="#iOS设备越狱" class="headerlink" title="iOS设备越狱"></a>iOS设备越狱</h2><p>工具:PP助手、TaiG、evasi0n (<a href="http://evasi0n.com" target="_blank" rel="external">http://evasi0n.com</a>)<br>设备:iPhone6,iOS8.3<br>由于我使用了PP助手对手机设备进行越狱操作的,没有什么技术性,这里就暂时略过,以后再研究下使用TaiG、evasi0n等工具进行越狱再补上。</p>
<script src="/assets/js/APlayer.min.js"> </script><script src="/assets/js/DPlayer.min.js"> </script><h2 id="iOS设备越狱"><a href="#iOS设备越狱" class="headerlink" title="iOS设备越狱"></a>iOS设备越狱</h2><p>工具:PP助手、TaiG、evasi0n (<a href="http://evasi0n.com" target="_blank" rel="external">http://evasi0n.com</a>)<br>设备:iPhone6,iOS8.3<br>由于我使用了PP助手对手机设备进行越狱操作的,没有什么技术性,这里就暂时略过,以后再研究下使用TaiG、evasi0n等工具进行越狱再补上。</p>
<h2 id="查看越狱iOS设备APP文件夹"><a href="#查看越狱iOS设备APP文件夹" class="headerlink" title="查看越狱iOS设备APP文件夹"></a>查看越狱iOS设备APP文件夹</h2><p>工具:PP助手、iTools、iFunBox<br>iOS8.3之后由于苹果加强了沙盒的安全性,导致工具无法直接查看到APP的沙盒文件夹结构,所以要查看iOS设备沙盒文件就需要进行越狱之后使用文件管理工具查看。<br>文件查看工具查看越狱后的iOS设备文件夹结构如下:<br><img src="/images/iOS逆向实践/iOS_reverse_watch_divice_dir.png" alt=""><br>如果想要查看APP沙盒文件夹结构,需要将iPhone越狱后再安装AFC2。<br>步骤如下:<br>1、打开Cydia<br>2、打开“搜索”Tab项<br>3、输入“Apple File Conduit ‘2’”<br>4、安装“Apple File Conduit ‘2’”<br>此时可通过文件查看工具查看APP沙盒文件夹结构如下:<br><img src="/images/iOS逆向实践/iOS_reverse_watch_app_dir.png" alt=""></p>
<h2 id="远程连接iOS设备"><a href="#远程连接iOS设备" class="headerlink" title="远程连接iOS设备"></a>远程连接iOS设备</h2><p>工具:Terminal.app<br>1、手机中打开Cydia,打开“搜索”Tab项,输入“OpenSSH’”,安装“OpenSSH”<br>2、确保手机已经连接了WIFI并且你的手机的WIFI<br>和你的电脑要在同一个局域网内,打开终端输入:<br>ssh root@xx.xx.xx.xx,(xx.xx.xx.xx)为你的手机的IP地址—&gt;Enter<br>3、接着会提示你输入password:<br>这里的密码一般情况下是alpine,但是如果你更改过的话就用你更改的[这里的密码是手机openssh的密码,不是电脑密码也不是手机解锁密码]<br>4、然后来输入吧,通过cd可以进入到制定的文件夹目录<br>iPhone6:~ root# cd /usr/bin<br><img src="/images/iOS逆向实践/iOS_reverse_connect_remote.png" alt=""></p>
<h2 id="APP砸壳"><a href="#APP砸壳" class="headerlink" title="APP砸壳"></a>APP砸壳</h2><p>工具:Clutch、Terminal.app、iFunBox<br>Clutch源码:(<a href="https://github.com/KJCracks/Clutch/releases" target="_blank" rel="external">https://github.com/KJCracks/Clutch/releases</a>)</p>
Expand Down Expand Up @@ -486,7 +486,7 @@ <h2 id="APP砸壳"><a href="#APP砸壳" class="headerlink" title="APP砸壳"></a
<nav class="site-state motion-element">
<div class="site-state-item site-state-posts">
<a href="/archives">
<span class="site-state-item-count">15</span>
<span class="site-state-item-count">16</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
Expand All @@ -503,7 +503,7 @@ <h2 id="APP砸壳"><a href="#APP砸壳" class="headerlink" title="APP砸壳"></a

<div class="site-state-item site-state-tags">
<a href="/tags">
<span class="site-state-item-count">13</span>
<span class="site-state-item-count">14</span>
<span class="site-state-item-name">标签</span>
</a>
</div>
Expand Down
Loading

0 comments on commit 525338b

Please sign in to comment.