[TOC]
# 思維導圖軟件
## 1、iMindMap
>很好用

## 2、MindManager
>據說很漂亮,還沒有用
## 3、XMind
> 挺不錯的

###破解方法
標 題: 【原創】mockplus軟件的非主流破解方法
作 者: darksied
時 間: 2016-08-03,11:11:28
鏈 接: http://bbs.pediy.com/showthread.php?t=211997
mockplus,導出圖片的時候提示需要專業版,免費版不支持導出,嘗試能否突破。
聲明:只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!
1、在導出圖片,有升級為專業版選項,點擊后有正在更新數據,更新結果是升級失敗,是免費用戶。
憑感覺應該是從網絡獲取信息,使用smartSniff抓包。
有記錄:
TCP 192.168.1.12 121.40.151.193 36067 80 api.mockplus.cn
查看這個記錄的詳細信息
```
GET /user/userinfo?Token=4ae91cfa-0ccc-4465-bf22-65e0a5bc6338
api.mockplus.cn返回的是JSON字符串
{
"code": 0,
"message": "成功",
"user": {
"id": 261184,
"email": "test@163.com",//用戶名,密碼隨便
"name": "test",
"avatar": "https://cdns-mockplus-cn.alikunlun.com/avatar/13.jpg",
"addTime": "2016-08-02T01:41:41.000Z",
"expireTime": null,
"license": {
"version": "free"
},
"referralCode": "rucvox",
"maxProjectCount": 0,
"emailVerified": 0,
"from": "self",
"color": "#4270f6"
},
"count": {
"receivedReview": 0,
"sentReview": 0,
"contacts": 0
}
}
```
在瀏覽器地址里直接輸入 `api.mockplus.cn/user/userinfo?Token=4ae91cfa-0ccc-4465-bf22-65e0a5bc6338`
也能獲取到這個字符串。注意: `Token` 后的字符串不一樣,需要在 `mockplus` 中登錄成功后,才能返回這個 `JSON`,否則返回未登錄。
2、既然是從網上獲取注冊信息,那么想辦法偽造這個網絡api。
用vs2015中的mvc模板新建了個網站,部署在自己的iis上,同時在系統的 `host` 文件(`C:\Windows\System32\drivers\etc` 中)添加
`127.0.0.1 api.mockplus.cn`;通過這種方式把 `api.mockplus.cn` 的 `ip` 轉為自己的新建的 `web` 的地址。
3、重新點擊升級為專業版選項,程序表現和未做映射前一致。但是還是免費版。
4、分析 `JSON`,重要的是 `license` 這一節,`version` 值是 `free`,修改為版本號試試,點擊升級為專業版選項,提示匹配失敗。可以肯定這里是關鍵位置了。
5、用 `od` 加載 `mockplus.exe` 。嘗試使用添加按鈕斷點的方式,發現這個程序中中使用gdi自己繪制的,水平不夠,不會追。
查找字符串,搜索 `license`。找到 `push Unicode “license”` 這樣的內容,查看上下文的代碼。
發現規律性的。
```
move edx "user"
……
move edx "id"
move edx "user"
……
move edx "email"
move edx "user"
……
move edx "avatar"
```
可以看出這是在解析 `JSON`。
一步步跟蹤。看出 `version` 字段的值是 `pro` ,就是專業版。
同時專業版的 `license` 節中添加新的字段 `expired,remainDay,expireTime`
經過多次測試。字段值為:
expired:null//過期時間?
remainDay:300//專業版激活剩余時間,可以改大點
expireTime:"2017-08-02T01:41:41.000Z"//貌似不檢測這個
6、讓自己的iis中的網站返回修改后的 `json`
```
{
"code": 0,
"message": "成功",
"user": {
"id": 261184,
"email": "test@163.com",//用戶名,密碼隨便
"name": "test",
"avatar": "https://cdns-mockplus-cn.alikunlun.com/avatar/13.jpg",
"addTime": "2016-08-02T01:41:41.000Z",
"expireTime": null,
"license": {
"version": "pro",
"expired": null,
"remainDay": 300,//剩余的天數
"expireTime": "2017-08-02T01:41:41.000Z"
},
"referralCode": "rucvox",
"maxProjectCount": 0,
"emailVerified": 0,
"from": "self",
"color": "#4270f6"
},
"count": {
"receivedReview": 0,
"sentReview": 0,
"contacts": 0
}
}
```
在軟件中點擊升級為專業版選項,提示升級成功,剩余天數301天。
7、這個時候,如果關閉軟件,在打開,會要求重新登錄,用隨便一個用戶名密碼肯定不成功,因為這個也是到網絡驗證的。
同樣抓包(抓包的時候把host里的映射注釋掉),調用的 `/user/login` 網絡接口。
在自己的網站里添加并模擬。
具體的json為:
```
{
"code": 0,
"message": "成功",
"user": {
"id": 261184,
"email": "test@163.com",//用戶名,密碼隨便
"name": "test",
"avatar": "https://cdns-mockplus-cn.alikunlun.com/avatar/13.jpg",
"addTime": "2016-08-02T01:41:41.000Z",
"expireTime": null,
"license": {
"version": "pro",
"expired": null,
"remainDay": 300,//剩余的天數
"expireTime": "2017-08-02T01:41:41.000Z"
},
"referralCode": "rucvox",
"maxProjectCount": 0,
"emailVerified": 0,
"from": "self",
"color": "#4270f6"
},
"sid":"4ae91cfa-0ccc-4465-bf22-65e0a5bc6338"
}
```
8、打開 `host` 里的映射。可以用隨便的用戶名密碼登錄了,而且也是專業版了。
9、具體的關鍵點沒有追,就暫時用這種方式吧。