iOS逆向工程之iPhone工具集, 安裝配置及使用

iOS逆向工程需要用到越獄手機(jī), 需要注意的是9.2以下(不含9.2)的系統(tǒng)均可通過(guò)pp越獄助手進(jìn)行越獄, 而9.2-9.3.3的系統(tǒng)需要設(shè)備是64位才可以進(jìn)行越獄, 32位的系統(tǒng)暫不支持越獄,安裝9.3.3以上系統(tǒng)的設(shè)備暫不支持完美越獄.10以上的系統(tǒng)可以通過(guò)yalu進(jìn)行不完美越獄, 所以建議10以下的完美越獄

致敬盤古團(tuán)隊(duì)

第一步: 越獄

使用pp越獄助手進(jìn)行越獄,官方地址,一鍵式越獄,方便快捷,按步驟提示就可以完成越獄.需要提醒的兩點(diǎn)是, 從安全的角度考慮不推薦普通用戶越獄, 還有一點(diǎn)是, 越獄記得備份重要數(shù)據(jù), 越獄不成功有可能丟失數(shù)據(jù), 當(dāng)然如果您用的是測(cè)試機(jī)就無(wú)所謂啦, 任意折騰, 盡情發(fā)揮~!

第二步: 安裝OpenSSH及配置

越獄成功后, 就會(huì)多出個(gè)Cydia, 這個(gè)可是越獄后的神器. Cydia可以安裝各種越獄插件, 當(dāng)然也可以安裝各種越獄軟件, 當(dāng)然最主要的就是用來(lái)逆向開發(fā).
接著, 打開Cydia, 系統(tǒng)會(huì)自動(dòng)進(jìn)行一些更新升級(jí), 需要等待一段時(shí)間, 加載完畢之后, 點(diǎn)擊搜索, 輸入openssh, 選擇安裝. 安裝完這個(gè)工具后可以讓你從mac登錄進(jìn)越獄設(shè)備, 然后進(jìn)行一些基本操作. 想一下是不是很激動(dòng), 可以通過(guò)電腦來(lái)控制手機(jī)啦~! 既然可以實(shí)現(xiàn)自己電腦控制手機(jī), 那么從其他電腦也可以登入您的手機(jī)(默認(rèn)密碼都是alpine), 也就導(dǎo)致了手機(jī)的不安全, 所以強(qiáng)烈建議您更改ssh的密碼.

Ikee, iOS上的一種蠕蟲病毒, 通過(guò)使用默認(rèn)密碼alpine入侵安裝了openssh的越獄設(shè)備, 然后所有數(shù)據(jù), 包括電話本, 短信, 甚至Apple ID都有可能被竊取.所以強(qiáng)烈建議您修改ssh密碼

(1)修改ssh密碼

首先打開ssh通道, 終端輸入一下命令,

ssh root@您的手機(jī)IP地址

進(jìn)入ssh后, iOS上的用戶有2個(gè), 分別是root和mobile, 修改密碼的命令:

passwd root

修改root的密碼, 按提示輸入新的密碼然后回車即可

passwd mobile

修改mobile的密碼,按提示輸入新的密碼然后回車即可

(2)保存ssh密碼到本機(jī), 不用每次都輸入ssh密碼

每次通過(guò)ssh連接手機(jī), 都要輸入密碼, 那應(yīng)該有方法保存密碼到本地里, 就不用每次輸密碼了吧? 思路很好, 方法馬上呈現(xiàn):
1.打開Finder, 快捷鍵執(zhí)行

cmd+shift+g

即快速前往文件夾, 輸入 ~, 然后回車

前往文件夾

找到.ssh文件夾里面的known_hosts文件, 打開. 如果看不到.ssh文件可能是你系統(tǒng)隱藏了系統(tǒng)文件, Terminal執(zhí)行下面命令, 后面是注釋不用加, 顯示系統(tǒng)隱藏文件:

$:defaults write com.apple.finder AppleShowAllFiles -bool true    //Finder顯示系統(tǒng)文件
$:defaults write com.apple.finder AppleShowAllFiles -bool false  //Finder隱藏系統(tǒng)文件

1 ) 打開known_hosts, 找到iOS設(shè)備所在的那一行. 如下所示:

192.168.0.117 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdeksdfXpX9uvzGU25bQ2Rbyx571Hv40K3tar3QFNLa2cOgFTkAriUn2Nx6+j9PV8OtvxbagY4/+syR41TMUFuSTgbZX64zfDBRgStmPVaVbG2y0PoGT+e/scpJ8Ep0sKIqTctZbsdfFyUk8qva+5zvtJDRlYBS+vaC3MsSO6UeGaonTEx6SAY7FOkVe3/KkEWlM1Env/mFSEOzIa6eefluJB+OIK8WmcxLQJY66QCqp5HYUMneXTcuBK/3obWcsdfQKlLZ87k8KuYT21sv88wh+uf9oUTao206rhMBrJEKtG7i26W8EMdh4O4H8Cu2oligQ+pRxupi22OlT6f/BJ

完整刪除上面這些, 關(guān)閉.
2 )生成authorized_keys
在Terminal中執(zhí)行如下命令:

willys-MBP% ssh-keygen -t rsa     //這是第一條命令
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/mac/.ssh/id_rsa): /Users/mac/.ssh/id_rsa   //換成自己的目錄
/Users/mac/.ssh/id_rsa already exists.
Overwrite (y/n)? y     //選y
Enter passphrase (empty for no passphrase):    //直接回車
Enter same passphrase again:    //回車
Your identification has been saved in /Users/mac/.ssh/id_rsa.
Your public key has been saved in /Users/mac/.ssh/id_rsa.pub.

/Users/mac/.ssh/id_rsa換成自己的.ssh文件下的id_rsa目錄, 提示密碼時(shí), 直接回車不設(shè)置密碼即可.
然后生成authosrized_keys

willys-MBP% cp /Users/mac/.ssh/id_rsa.pub ~/authorized_keys   //這是第二條命令

3 )配置iOS

willys-MBP% ssh root@192.168.1.114   //先ssh連接iPhone
root@192.168.1.114's password:    //這里需要ssh密碼
lizhifengdemacde-iPhone:~ root# ssh-keygen   //第一條命令
Generating public/private rsa key pair.
Enter file in which to save the key (/var/root/.ssh/id_rsa): /var/root/.ssh/id_rsa
/var/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y    //選y
Enter passphrase (empty for no passphrase):    //直接回車
Enter same passphrase again:    //再回車
Your identification has been saved in /var/root/.ssh/id_rsa.
Your public key has been saved in /var/root/.ssh/id_rsa.pub.

macde-iPhone:~ root# logout   //退出ssh
Connection to 192.168.1.114 closed.
willys-MBP% scp ~/authorized_keys root@192.168.1.114:/var/root/.ssh   //把mac上的authorized_keys拷貝到手機(jī)的.ssh下
root@192.168.1.114's password:    //再次需要ssh密碼
authorized_keys                               100%  402     0.4KB/s   00:00    
willys-MBP% ssh root@192.168.1.114   //配置完成, 以后ssh都不需要手動(dòng)輸入密碼了
lizhifengdemacde-iPhone:~ root#    //直接進(jìn)入ssh

至此, 完成ssh的配置.

(2)ssh常用命令

1 )連接ios設(shè)備:

ssh root@192.168.1.102

后面換成iOS設(shè)備的IP地址
2 )把文件從本地拷貝到iOS上, 中間為mac文件地址, 后面為iOS地址

scp ~/1.png root@192.168.1.102:/var/tmp/

3 )把文件從iOS拷貝到電腦, 原理類似

scp root@192.168.1.102:/var/log/syslog ~/ioslog

第三步: usbmuxd配置及使用

先來(lái)看看usbmuxd的官方介紹:

A socket daemon to multiplex connections from and to iOS devices.

即用來(lái)連接iOS設(shè)備的傳輸, 在逆向工程里面我們主要拿來(lái)連接iOS設(shè)備, 上面我們用到的ssh是通過(guò)wifi進(jìn)行傳輸, 而usbmuxd就是可以讓我們通過(guò)USB連接設(shè)備, ssh調(diào)試我們的設(shè)備. 加快設(shè)備的連接速度, 在后面說(shuō)到的lldb以及debugserver就會(huì)用到usbmuxd用來(lái)加快連接速度.

下載usbmuxd, 下載地址下載完成之后, 解壓后得到幾個(gè)文件, 我們需要用到的是tcprelay.py這個(gè)文件, usbmuxd的用法也比較簡(jiǎn)單, 先介紹加快ssh的速度:

1 ) 新建第一個(gè)Terminal窗口, 把tcprelay.py拖入Terminal, 在Terminal中輸入
/Users/mac/Downloads/USBSSH/tcprelay.py -t 遠(yuǎn)程iOS上的端口:本地OSX/Windows上的端口

即可把本地OSX/Windows上的端口轉(zhuǎn)發(fā)到遠(yuǎn)程iOS上的端口灵莲,如

/Users/mac/Downloads/USBSSH/tcprelay.py -t 22:2222

出現(xiàn)如下,就說(shuō)明是在等待轉(zhuǎn)發(fā)狀態(tài)了

willys-MBP% /Users/mac/Downloads/USBSSH/tcprelay.py -t 22:2222
Forwarding local port 2222 to remote port 22
...
2 )再新建一個(gè)Terminal窗口, Terminal輸入如下命令:
ssh root@localhost -p 2222

就可以通過(guò)USB連接設(shè)備了,如下

willys-MBP% ssh root@localhost -p 2222
macde-iPhone:~ root# 

當(dāng)然了, 也可以直接通過(guò)pp助手一鍵傻瓜式打開, 然后Terminal按提示輸入即可如圖:

pp助手,打開ssh通道

后續(xù)再補(bǔ)充在LLDB與debugserver下, usbmuxd的使用.

第四步: 安裝Cycript

Cydia搜索Cycript, 下載安裝既可.

Cycript

具體使用, 可參考這篇教程

第五步: 配置LLDB與debugserver

只要做過(guò)iOS開發(fā)的, xcode默認(rèn)安裝了LLDB, iOS設(shè)備被調(diào)試過(guò)后也會(huì)默認(rèn)安裝了debugserver, 無(wú)需安裝. 在此說(shuō)了一下LLDB(電腦端)及debugserver(手機(jī)端)以及兩者結(jié)合usbmuxd的使用.

一. debugserver的用法

1 ) 用debugserver啟動(dòng)或附加進(jìn)程
ssh連接設(shè)備, 然后輸入以下命令:

lizhifengdemacde-iPhone:~ root# debugserver *:1234 -a "SpringBoard"

*代表接收任何IP地址的連接, 1234代表端口, -a表示附加的意思, 后面雙引號(hào)內(nèi)代表要附加的進(jìn)程名字.

二. LLDB的用法

1 )啟動(dòng)LLDB, Terminal輸入以下命令, 回車就可以啟動(dòng)LLDB調(diào)試器了.

/Applications/Xcode.app/Contents/Developer/usr/bin/lldb 

具體LLDB目錄根據(jù)xcode所在目錄決定.本人為了方便, 給lldb制作了"替身"(相當(dāng)于windows的快捷方式), 然把"替身"放在桌面, 用到lldb的時(shí)候, 右鍵顯示原身, 然后拖入Terminal即可. 當(dāng)然也可以直接把上面這行代碼保存到文檔, 直接復(fù)制粘貼也可以. 各位大神各顯神通.
2 ) 連接iOS設(shè)備, Terminal輸入以下命令:

(lldb) process connect connect://192.168.1.114:1234

至此, 就完成了lldb跟debugserver的連接. 接下來(lái)介紹lldb的常用命令:
3 )lldb常用的命令
A. 顯示當(dāng)前所有進(jìn)程信息

(lldb) image list -o -f

回車后, 即可看到以下信息

[  0] 0x00035000 /System/Library/CoreServices/SpringBoard.app/SpringBoard(0x0000000000036000)
[  1] 0x00019000 /Users/mac/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/usr/lib/dyld
[  2] 0x00453000 /Library/MobileSubstrate/MobileSubstrate.dylib(0x0000000000453000)
[  3] 0x0182f000 /Users/mac/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/System/Library/PrivateFrameworks/StoreServices.framework/StoreServices
...

上面的信息中, 左邊方括號(hào)的數(shù)字代表模塊的序號(hào), 第二列如0x00035000代表ASLR偏移, 簡(jiǎn)單理解為位移即可, 第三列代表模塊的全路徑, 括號(hào)后代表位移之后的起始地址. 我們關(guān)注的主要是第二列的位移.
B. 斷點(diǎn)設(shè)置

(lldb) br s -a address

如在某個(gè)地址前面打一個(gè)斷點(diǎn), address代表十六進(jìn)制的地址, 如下:

(lldb) br s -a 0x00234a

我們可以通過(guò)IDA反編譯二進(jìn)制文件, 然后定位目標(biāo)函數(shù)的位置, 找到偏移前的基地址, 然后通過(guò)LLDB查看ASLR偏移, 兩者相加, 即可找到目標(biāo)函數(shù)的在運(yùn)行時(shí)的真實(shí)地址, 通過(guò)上面的斷點(diǎn)設(shè)置, 直接在該目標(biāo)函數(shù)下斷點(diǎn). 來(lái)驗(yàn)證我們的一些推理, 用以進(jìn)一步的查找以及逆向.
C.斷點(diǎn)相關(guān)設(shè)置
當(dāng)進(jìn)程停止, 可輸入"c"讓進(jìn)程繼續(xù):

(lldb) c

"c"即continue.
禁用所有斷點(diǎn):

(lldb) br dis

"dis"即disable, "br"即breakpoint.
禁用某個(gè)斷點(diǎn):

(lldb) br dis 6

6代表第幾個(gè)斷點(diǎn).
啟動(dòng)所有斷點(diǎn):

(lldb) br en

啟動(dòng)某個(gè)斷點(diǎn):

(lldb) br en 5

刪除所有斷點(diǎn):

(lldb) br del

刪除某個(gè)斷點(diǎn):

(lldb) br del 5

在執(zhí)行某個(gè)指令之前, 預(yù)先設(shè)置一些指令:

(lldb) br del 8

打印寄存器的值:

(lldb) p $r6

執(zhí)行下一條指令, 并且進(jìn)入函數(shù)體:

(lldb) ni

執(zhí)行下一條指令, 并且不進(jìn)入函數(shù)體:

(lldb) si

給指定的寄存器賦值, 用以驗(yàn)證分支:

(lldb) register write r5 0

上述命令作用為修改r5寄存器的值為0.

三. 首先使用usbmuxd通過(guò)USB數(shù)據(jù)線連接調(diào)試設(shè)備:

1 )新建Terminal,把本地2222端口轉(zhuǎn)發(fā)到iOS的22端口

/Users/mac/Downloads/USBSSH/tcprelay.py -t 22:2222

2 )再新建一個(gè)Terminal, ssh過(guò)去并用debugserver 連接到SpringBoard

ssh root@localhost -p 2222
debugserver *:1234 -a "SpringBoard"

3 )再新建一個(gè)Terminal, 把本地1234端口轉(zhuǎn)發(fā)到iOS的1234端口

/Users/mac/Downloads/USBSSH/tcprelay.py -t 1234:1234

4 )再新建一個(gè)Terminal, 用lldb開始調(diào)試

/Applications/Xcode.app/Contents/Developer/usr/bin/lldb 

lldb連接1234端口

process connect connect://localhost:1234

整體效果圖, 如下:

usbmuxd連接iOS設(shè)備調(diào)試

第六步: 安裝dumpdecrypted,進(jìn)行砸殼

從AppStore下載的APP被蘋果加密過(guò)的, 可執(zhí)行文件被套上了一層保護(hù)殼, 而class-dump無(wú)法作用于加密過(guò)的APP. 所以要解密APP的可執(zhí)行文件, 想要進(jìn)行"砸殼". dumpdecrypted是由越獄社區(qū)的知名人士Stefen Esser出品的一款砸殼工具, 被越獄社區(qū)廣泛應(yīng)用在iOS逆向工程研究中. 接下來(lái)介紹dumpdecrypted的使用:

1 )下載dumpdecrypted的源碼, 如下:

willys-MBP% cd /Users/mac/Desktop/fry 
willys-MBP% git clone git://github.com/stefenesser/dumpdecrypted/
Cloning into 'dumpdecrypted'...
remote: Counting objects: 31, done.
remote: Total 31 (delta 0), reused 0 (delta 0), pack-reused 31
Receiving objects: 100% (31/31), 7.10 KiB | 0 bytes/s, done.
Resolving deltas: 100% (15/15), done.
Checking connectivity... done.
willys-MBP% ls
dumpdecrypted   

如果下載不了, 到GitHub上, 鏈接
接著編譯dumpdecrypted.dylib, 如下:

willys-MBP% cd dumpdecrypted 
willys-MBP% make

編譯完成后, 會(huì)在當(dāng)前目錄生成一個(gè)dumpdecrypted.dylib文件. 這個(gè)是接下來(lái)砸殼用到的工具(編譯一次即可, 后續(xù)砸殼都用同這個(gè)dylib).
2 )ssh進(jìn)iOS設(shè)備.

willys-MBP% ssh root@localhost -p 2222
lizhifengdemacde-iPhone:~ root# ps -e

上面用到usbmuxd, 可以加快ssh速度.ps -e回車后可看到下面這些信息, 在此需要保證我們?cè)覛さ腁PP在運(yùn)行的狀態(tài),

PID TTY           TIME CMD
    1 ??         0:02.27 /sbin/launchd
   16 ??         0:01.09 /usr/sbin/notifyd
   20 ??         0:04.91 /usr/libexec/UserEventAgent (System)
   22 ??         0:01.39 /usr/libexec/pphelper/PPHelperLaunchd
...
  400 ??         0:08.11 /var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/WeChat.app/WeChat
  401 ??         0:00.11 /System/Library/Frameworks/UIKit.framework/Support/pasteboardd

這里看到的WeChat的pid為400, 并且可執(zhí)行文件的全路徑為:/var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/WeChat.app/WeChat. 接下來(lái)我們要找到WeChat的ducuments路徑.
3 )通過(guò)cycript查找documents路徑, 同時(shí)保證WeChat處于運(yùn)行狀態(tài).

lizhifengdemacde-iPhone:~ root# cycript -p 400   //這里的400就是上面我們找到WeChat的pid值
cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
#"file:///var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/Documents/"
cy# 

于是, 我們得到了WeChat的documents目錄, 即:/var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/Documents/
4 )將步驟1得到的dumpdecrypted.dylib拷貝到documents目錄下.Terminal執(zhí)行:

willys-MBP% scp /Users/mac/Desktop/fry/dumpdecrypted/dumpdecrypted.dylib root@192.168.1.114:/var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/Documents/
dumpdecrypted.dylib                           100%  193KB 192.9KB/s   00:00    
willys-MBP% 

iFunBox直接復(fù)制進(jìn)入也可以.

  1. 開始砸殼
    dumpdecrypted.dylib的用法是:
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可執(zhí)行文件路徑

具體操作是這樣的, 先切到documents的路徑下, 然后用dumpdecrypted進(jìn)行砸殼:

root# cd /var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/Documents/   //切到步驟3的document路徑下
lizhifengdemacde-iPhone:/var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/Documents root# ls   //ls可以看到我們的dumpdecrypted.dylib在當(dāng)前的目錄下, 這個(gè)可是砸殼關(guān)鍵
00000000000000000000000000000000/  CrashReport/  LocalInfo.lst   MMappedKV/    WeChat.decrypted                   bfc6237ab526bc81dd2bd2b7cf050210/  mmupdateinfo.archive
108ebb8e2ff6e023e75d5a518e7ac49d/  Ksid          MMResourceMgr/  SafeMode.dat  b06f23ff87ff45d5df8d9029111a8ed4/  dumpdecrypted.dylib
lizhifengdemacde-iPhone:/var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/Documents root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/WeChat.app/WeChat   //后面的路徑是步驟1獲得的可執(zhí)行文件路徑, 復(fù)制粘貼在這里即可

砸殼如無(wú)意外, 就可以在當(dāng)前目錄下生成WeChat.decrypted, 切回到電腦端的Terminal, 復(fù)制這個(gè)WeChat.decrypted文件到電腦上. 執(zhí)行下面的命令:

willys-MBP%  scp root@192.168.1.114:/var/mobile/Applications/54502D76-89A2-4828-A6F5-4323C7C4A80C/Documents/WeChat.decrypted /Users/mac/Desktop/fry  //把WeChat.decrypted放在了電腦目錄上
WeChat.decrypted                                                                                                                                      100%  105MB   2.6MB/s   00:41    
willys-MBP% 

砸出來(lái)的文件有點(diǎn)大, 不過(guò)沒(méi)關(guān)系, 我們關(guān)心的只是他的頭文件, 接下來(lái)通過(guò)這個(gè)WeChat.decrypted 文件class-dump出頭文件.
6 )class-dump生成頭文件
先切到放置WeChat.decrypted文件的目錄下,

willys-MBP% cd /Users/mac/Desktop/fry 

然后用class-dump生成頭文件, 如下:

willys-MBP% class-dump --arch armv7 -H WeChat.decrypted -o /Users/mac/Desktop/fry     
willys-MBP% 

class-dump --arch 這里是固定寫法, armv7是iOS設(shè)備的對(duì)應(yīng)arm型號(hào), -H 固定寫法, WeChat.decrypted代表可執(zhí)行文件的名稱 -o表示輸出到文件中, /Users/mac/Desktop/fry代表輸出的文件目錄, 砸殼出來(lái)的頭文件都將放置在這個(gè)目錄下. 至此, 砸殼完成.

第七步: 安裝iFile

Cydia搜索安裝即可, 相當(dāng)于手機(jī)端的Finder.

第八步: 安裝Terminal

Cydia搜索Terminal, 選擇可用的進(jìn)行安裝, 具體使用方法跟電腦端的Terminal一樣.

第九步,安裝socat, 查看手機(jī)Log輸出

1.iOS設(shè)備安裝socat
cydia搜索socat, 安裝.

2.Terminal連接到手機(jī)root, 查看手機(jī)系統(tǒng)日志

Weide-iPad:~ root# socat - UNIX-CONNECT:/var/run/lockdown/syslog.sock

========================
ASL is here to serve you
> watch

進(jìn)入到命令行交互界面炫七,這時(shí)可以輸入help查看幫助

輸入watch開始監(jiān)聽手機(jī)log.

監(jiān)聽后的效果:

socat.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末朽们,一起剝皮案震驚了整個(gè)濱河市断盛,隨后出現(xiàn)的幾起案子逼泣,更是在濱河造成了極大的恐慌坡脐,老刑警劉巖哪亿,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桨醋,死亡現(xiàn)場(chǎng)離奇詭異檩电,居然都是意外死亡拄丰,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門俐末,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)料按,“玉大人,你說(shuō)我怎么就攤上這事鹅搪≌拘鳎” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵丽柿,是天一觀的道長(zhǎng)恢准。 經(jīng)常有香客問(wèn)我魂挂,道長(zhǎng),這世上最難降的妖魔是什么馁筐? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任涂召,我火速辦了婚禮,結(jié)果婚禮上敏沉,老公的妹妹穿的比我還像新娘果正。我一直安慰自己,他們只是感情好盟迟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布秋泳。 她就那樣靜靜地躺著,像睡著了一般攒菠。 火紅的嫁衣襯著肌膚如雪迫皱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天辖众,我揣著相機(jī)與錄音卓起,去河邊找鬼。 笑死凹炸,一個(gè)胖子當(dāng)著我的面吹牛戏阅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啤它,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奕筐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了变骡?” 一聲冷哼從身側(cè)響起救欧,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锣光,沒(méi)想到半個(gè)月后笆怠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡誊爹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年蹬刷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片频丘。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡办成,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出搂漠,到底是詐尸還是另有隱情迂卢,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站而克,受9級(jí)特大地震影響靶壮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜员萍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一腾降、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碎绎,春花似錦螃壤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至日麸,卻和暖如春蚁滋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赘淮。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留睦霎,地道東北人梢卸。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像副女,于是被迫代替她去往敵國(guó)和親蛤高。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容