自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(327)
  • 资源 (105)
  • 收藏
  • 关注

原创 Android逆向安全-无侵入找关键call之trace日志分析大法

标题找关键call是逆向的基本技能和分析目标,找到关键call后便可以进一步利用。在安卓App的逆向分析中,人肉逆向分析虽说不难,但是繁琐,特别是现在App体积动辄几十MB甚至几百MB,反编译出的jar或者smali文件相当多,找关键call无疑是大海捞针。那么有什么方法可以快速找关键call呢?之前介绍过两个方法:一个是插桩日志分析法,一个是借助加固的方法。插桩日志分析法,理解起来比较...

2020-01-07 11:23:40 1398 1

原创 xposed插件加固保护方案以及对华为方舟编译器的思考

目前市面上各家加固厂商在对普通App的加固上已经做得比较成熟稳定,而且强度也很高了。但是似乎没有一个针对xposed插件加固的方案,笔者在试用了几家加固后,均会导致xposed插件的崩溃,要么就是插件功能失效,又或者运行性能大大影响导致App拦截的时候巨卡。迫于无奈,对于本身就是安全从业者的笔者来说,只能自己动手想办法来解决了,以下提供两种思路,简单的demo笔者也已跑通了,但是可能稳定性上还需...

2019-10-25 11:29:56 1835 1

原创 高效工作节省时间的一些小技巧

Content {:toc}有效的工作弄清高效之前要先清楚什么是有效,毕竟花时间做无用功算不上效率,更谈不上高效。所以,在做事情之前务必要清楚做这件事是否值得,是否有必要投入时间和精力,即使做应该分配多少资源。要对时间贪得无厌时间是非常宝贵的,君不见每个互联网产品都在抢夺用户的时间吗,因为时间就是金钱。而对于个体而言时间即生命,我们应对时间贪婪。我平时在工作和生活中会...

2018-09-01 10:54:21 5298

原创 Windows下LLVM6.0集成并编译OLLVM中的Obfuscator的各个pass

参考OLLVMArmariris参考上一节《LLVM在Windows下使用VisualStudio2017编译pass - 朱皮特个人博客》,上次是创建的很简单的pass,但是有了这个基础,再集成和创建复杂点的pass就轻松一点,这次集成开源的OLLVM和Armariris的各个pass。据说Armariris是在OLLVM基础上修改的,想必代码会有改进吧,所以我们优先使用Arm...

2018-04-27 11:11:36 2324

原创 LLVM在Windows下使用VisualStudio2017添加编译自定义pass

参考:uu kk: LLVM pass on Windows: integrating with opt该方法仍然有效,只不过还需要一些修改,遇到的错误需要解决。错误1CMake Error at CMakeLists.txt:658 (message): Unexpected failure executing llvm-build: llvm-build: fatal ...

2018-04-27 11:09:59 3298 2

原创 Fiddler拦截Chrome谷歌浏览器HTTPS协议网络数据的配置方法

Fiddler版本: v5.0.20173.50948 for .NET 4.6.1 Built: 2017年12月14日Chrome版本:63.0.3239.132(正式版本)选择fiddler菜单Tools - Options - HTTPS,勾选“Capture HTTPS CONNECTS”和“Decrypt HTTPS traffic”,选择“from all proces

2018-01-18 17:51:24 5704 1

原创 Lua类函数的几种构造方法

一、使用module函数在Lua的开头文件中声明:module("ClassA", package.seeall)后面声明函数:function test()end则在其他Lua文件中只要require进本文件,即可ClassA.test()使用。二、利用表在Lua的开头文件中声明:ClassA = {}后面声明函数:function ClassA.test() --注意是点end或者:funct

2017-06-02 18:12:26 3637

原创 Lua的类Class实现

原始代码:local _class={}function class(super) local class_type={} class_type.ctor=false class_type.super=super class_type.new=function(...) local obj={} do

2017-06-02 18:09:56 3245

原创 基于Xposed的通用破解签名的方法

@Overridepublic void initZygote(IXposedHookZygoteInit.StartupParam startupParam) throws Throwable { XposedBridge.log("initZygote: " + startupParam.toString()); XposedHelpers.findAndHookMethod(

2017-05-22 11:33:34 3985

原创 [源码]Android安卓应用手势锁图案解锁的实现

交互细节用户首先使用账号/密码进行登录。登录成功后,判断是否是第一次登录使用,如果是第一次则显示创建手势密码的界面,要求用户创建手势锁。创建的过程中要求用户连接至少四个点,并且绘制两次以确认绘制正确并记住绘制的路径。确认成功后进入APP首页。用户在APP页面使用功能后,把APP退出到后台一定时间(超时),则下次再打开APP时弹出解锁页面,要求用户解锁,解锁成功进入APP页面。APP完全退出

2017-02-24 15:57:38 9955 5

原创 如何快速定位Android APP中的关键函数?

需求来源在逆向分析中,肯定是越快地定位到目标函数越好,那么有没有这样的一种工具可以快速地辅助分析人员定位到目标函数呢?最早的一个想法是这样的: - 通过某种机制让APP输出函数调用时候的日志记录。 - APP在运行的时候可能会输出很多条记录,而目标函数的调用也会被淹没在日志的大海里,如何定位出来? - 打开APP,但是不执行目标功能,得到日志记录A。 - 执行目标功能,这时候得到日志记录B。

2017-01-13 09:55:13 2651

原创 unity3d引擎的游戏的脚本DUMP及HOOK方案优化

对unity3d引擎的游戏,重要的资源就是C#脚本,脚本是被打包到APK的assets目录下的一些dll文件,有的APP可能会对其加密,运行的时候再动态解密。可以通过HOOK libmono.so中的函数mono_image_open_from_data_with_name就可以DUMP出原始内容,如果加入的有其他加解密代码,可以进一步地对解密函数进行HOOK,也是可以DUMP出内容的。下面这个是以

2017-01-10 10:26:49 11061 2

原创 基于Xposed和Substrate的通用性SO注入

需求来源如果需要注入SO且HOOK一些功能做研究分析,必然需要注入、HOOK,而对于不同的分析目标除了HOOK的函数不同之外,注入部分是相同的,可以把相同部分的代码提出来,做成一个功能,那么以后注入部分就不用再次编写了,分析的时候只需要编写HOOK代码即可。设计我们把整体分成三个部分:java层、SO loader层、SO HOOK层。java层和SO loader层我们抽象为框架层(负责注入流程)

2017-01-10 10:22:34 10443 7

原创 Android NDK常见SO加载错误UnsatisfiedLinkError解决方案

想必很多开发者和我们一样,遇到过许多UnsatisfiedLinkError的困难,着实令人头疼,现在总结一下,希望能帮助更多的人。常见错误lib库不同目录下的SO文件参差不齐。lib库目录下的SO不符合相应的CPU架构。64-bit下使用System.load加载SO:”lib_xyz.so” is 32-bit instead of 64-bitjava代码混淆导致。注册方式不对,或已

2016-11-22 15:18:47 11749 2

原创 Android安卓开发知识库汇总

初级Android 面试知识库Android 面试题总结之Android 进阶(二) - fuchenxuan blog - 博客频道 - CSDN.NET如何成为一名优秀的程序员 | Mystra2016Android某公司面试题 | yuweiguo’s blog我面试到底问什么? - AndroidDeveloper - 知乎专栏扫清Android面试障碍[Android基础]A

2016-07-15 09:50:08 5810 3

原创 GitHub Desktop(GitHub桌面版)推荐,鼠标点点真方便!

GIT提交每次要输入密码很痛苦,虽然有其他工具可以配置,但是真的好麻烦。有朋友提起GitHub Desktop,于是试用了一下,感觉很棒,推荐出来。一次登录,后面提交什么的都不需要输入账号密码了,而且鼠标点点就能提交代码,同步代码仓库,真的很方便,特别适合Windows下的开发者。GitHub Desktop下载地址:https://desktop.github.com/

2016-07-06 10:54:33 3974

原创 安卓右键工具1.2 - 安卓开发与分析者的利器

下载地址:安卓右键工具。安装:解压缩后,运行APKmenuTOOL.exe,点击按钮“添加到系统右键菜单”安卓右键工具v1.2版本使用说明安卓右键工具是一款集合复制路径,Dex转Jar,Manifest和AXML查看,APK相关信息提取、优化、签名、反编译、回编译,手机信息查看、屏幕截图等功能的综合型工具,同时本工具拥有自定义插件功能,方便使用者对本工具...

2016-04-07 11:55:27 6992 2

原创 【原创工具】自定义系统右键菜单工具CustomContextMenu使用说明

自定义系统右键菜单工具-使用说明

2022-09-06 13:40:56 685

原创 【原创工具】ADBGUI - GUI版ADB操作工具

adb常用命令集成shell常用命令集成运行自动连接设备frida自动安装配置frida常用脚本管理远程文件操作管理App安装列表管理实时预览设备画面。

2022-09-06 11:55:58 455

转载 【转】“检测到试用版运行”问题终级解决方案,更新安全联盟OAID SDK

转载:https://blog.csdn.net/runing4life/article/details/122968062之前发布的一款应用,有部分用户反馈启动后弹窗,经过排查发现是安全联盟SDK(oaid sdk)特定版本导致的,在部分场景下集成OAID 1.0.23版本的Android app可能产生toast弹窗,弹窗的内容是“检测到试用版运行,请联系易盾客服转为正式版”。这里是安全联盟SDK官网链接的更新记录, 移动安全工作委员会解决方案:安全联盟OAID 1.0.23版本已经过时了并且

2022-02-17 14:29:51 211

原创 个人收款解决方案之三方聚合收款方案

关键词:签约支付,签约收款,支付宝收款,个人签约收款背景​ 有做网赚或者在网上售卖个人小产品小服务的,需要进行收款,如果零星个别的收款可能直接走个人转账然后手动发货即可,但是一旦流程标准下来,量走起来之后,付款发货就需要自动化了,以提高人效。例如在网站上挂一个购买链接,用户点击后自动展示收款码,用户扫码付款后网站自动完成发货,是不是感觉很好?或者在APP里提供了付费功能,用户需要购买的时候,能够直接弹出支付宝(或微信)付款,完成付款后自动提供付费功能,是不是感觉很好?​ 本方案场景是针对「个人开发者」

2021-07-18 14:19:17 534 1

原创 微信支付宝个人收款解决方案之免签约支付解决方案之APP监控通知方案

关键词:免签约支付,免签约收款,支付宝收款,微信收款,个人免签约收款背景​ 有做网赚或者在网上售卖个人小产品小服务的,需要进行收款,如果零星个别的收款可能直接走个人转账然后手动发货即可,但是一旦流程标准下来,量走起来之后,付款发货就需要自动化了,以提高人效。例如在网站上挂一个购买链接,用户点击后自动展示收款码,用户扫码付款后网站自动完成发货,是不是感觉很好?或者在APP里提供了付费功能,用户需要购买的时候,能够直接弹出支付宝(或微信)付款,完成付款后自动提供付费功能,是不是感觉很好?​ 本方案场景是针

2021-07-18 14:18:41 1369

原创 支付宝个人收款解决方案之支付宝签约方案

关键词:签约支付,签约收款,支付宝收款,个人签约收款背景​ 有做网赚或者在网上售卖个人小产品小服务的,需要进行收款,如果零星个别的收款可能直接走个人转账然后手动发货即可,但是一旦流程标准下来,量走起来之后,付款发货就需要自动化了,以提高人效。例如在网站上挂一个购买链接,用户点击后自动展示收款码,用户扫码付款后网站自动完成发货,是不是感觉很好?或者在APP里提供了付费功能,用户需要购买的时候,能够直接弹出支付宝(或微信)付款,完成付款后自动提供付费功能,是不是感觉很好?​ 本方案场景是针对「个人开发者」

2021-07-18 14:17:36 946 1

原创 编写一个会讲绘本的安卓电视应用APP

背景家里有孩子的基本上都逃脱不掉要给孩子看绘本讲绘本,无奈为父时间较少、普通话不标准、讲的效果也不好、嗓子经常性干哑、以及懒等各种理由。但是又想让孩子多听多看一些,就想着利用工具给孩子自动播放。手机和PAD自然可行,但是这两种东西交互性太强了,小孩子容易拿来玩乱七八糟的东西,不容易专注,离得太近容易伤到眼睛。后来想到电视应用,电视的交互性差一些,比较适合,于是决定自己动手写个简单的TV应用。总体目标是以最简单快捷的方式实现这个想法。设想创建一个简单的电视应用,全屏在电视上播放。可以参考「Andr

2021-07-15 23:55:02 370 1

原创 安卓逆向入门练习之电影天堂APP逆向分析

准备抓包环境及工具准备,参考:使用Fiddler对安卓App抓包APP:电影天堂APP,版本:3.5.0抓包使用fiddler在模拟器里对App进行抓包,拦截到四种类型的数据:http://m.dydytt.net:8080/adminapi/api/version.json?vs=0http://m.dydytt.net:8080/adminapi/api/movieCategory.jsonhttp://m.dydytt.net:8080/adminapi/api/movieList

2021-07-15 23:53:45 1980

原创 资源下载的终极利器-资源轻松简单下载-资源万能下载法

缘起​ 经常会有朋友问起:某FM的音频文件怎么下载?某网站音效素材mp3怎么下载?等等之类。​ 于是便介绍了一下如何使用谷歌浏览器配合猫爪插件快速下载音频的方法,但是无奈电脑小白太多,很多操作配置并不会,有这功夫倒不如直接帮忙下载好了文件发与TA便是。后来想了想,何不写个足够傻瓜的工具?实现一键点击下载。设想编写一个工具软件,要足够傻瓜便捷,一键下载。该软件内置一个chrome内核的浏览器。在浏览器层面拦截资源访问,判断一下,如果是需要的多媒体资源,进行自动下载。不从网站的协议、接口、加解

2021-07-13 23:36:13 290 3

原创 Android TV H5 电视应用

创建一个简单的安卓TV应用,通过webview加载网页展示内容。1.创建空白TV工程AndroidStudio创建工程的时候尽量不要选择模板,模板太复杂,创建一个基础的空的工程即可。默认创建的工程的minSdkVersion是21,因为家中电视年数有点久远,系统版本为4.3(Android SDK 18),需要手动把minSdkVersion调低一点,所幸的是AndroidStudio允许调到最低的数值为 17 。调整后确实可以编译,且编译后的apk包确实可以在家里的老电视上运行。plugins {

2021-06-25 19:35:15 565 3

转载 【转载】RPG或SLG游戏在线地图编辑器

原文:https://forum.cocos.org/t/topic/90542我凭借多年的游戏开发经验,用cocoscreator2.13开发了一款web在线地图编辑器,暂且命名为EasyMapEditor,用Google浏览器打开,提供了从在线地图编辑到正式项目运行起来的完整流程,可用于RPG和SLG游戏开发。在线地图编辑地址https://easymapeditor-1258223435.cos.ap-guangzhou.myqcloud.com/v1.0.0/web-mobile/index.

2021-06-21 20:02:29 501

原创 VisualStudio为C++项目创建单元测试

主要介绍两种为VisualStudio的C++项目创建单元测试的方法:微软的本机单元测试、Google Test。一、VisualStudio自带的本机单元测试VisualStudio自带的有一个C++本机单元测试,其框架主要原理是生成一个动态库文件,测试的函数作为DLL的导出函数由框架进行调用测试。然而实际使用下来体验并不是很好,不过还是简单说下怎么使用。在解决方案下右键菜单-添加-新建项目,搜索C++项目里的“本机单元测试项目”具体可以参考微软官方介绍:编写适用于 C/C++ 的单元测试 -

2020-05-26 16:25:22 1170

原创 相由心生-注意你的言行

layout: postcategory: “other”title: “相由心生-注意你的言行”tags: []Content{:toc}一直以来把“相由心生”这句成语都理解偏颇了,一直以为这个相是面相长相的意思,理解为一个人长相如果丑陋或者面露恶相那么心地也是丑陋邪恶的,反之如果一个人长相面善那么心地也是善良的。虽然有这么一层意思,但是如果完全这么理解就太片面了。直到前几天才恍然大悟,此相应该是表现出的现象,应该和佛家说的色即是空的色意思想通。于是翻看百科的解释:一说此处的.

2020-05-13 23:12:39 234

原创 cocos编写农场偷菜小游戏的总结

源码及效果图见GitHub:https://github.com/bigsinger/Farm起因是要做游戏保护,需要了解游戏引擎并创建demo进行自测使用。于是先从比较简单的cocos了解,由于本人对Lua脚本比较熟悉,而且手头有一些从其他游戏里扒出来的资源和Lua脚本,想着可以复用,所以打算从cocos2dx-lua开始着手。慢慢地发现Lua写起来也很费劲,倒不是对设计模式和脚本的不了解,...

2020-04-20 18:40:54 1970 1

原创 duilib创建IE浏览器的方式

方式一:<ActiveX name="web" clsid="{8856F961-340A-11D0-A96B-00C04FD705A2}" delaycreate="false" />这个方法更通用,也可以创建其他ActiveX控件,但是如果指定要创建浏览器的话不建议这么做,被坑了N多年。方式二:<WebBrowserEx name="web" clsid="{88

2019-03-15 18:57:14 387

原创 Duilib中list控件支持ctrl和shif多行选中的实现

一、 由于diulib不支持list控件的多选修改。下面是修改的原理。Ctrl+左键多选,按下Ctrl键点击,主要有三种情况:选中一个再点击,又选中一个再点击前一个,前一个选中状态消失总结分析:ctrl按下的情况,点击,不会使前一个(一部分)选中项失去选中状态,而只是让当前点击的项改变选中状态,并将焦点移到当前项。shift+左键,主要有4中情况点击选中一个(ID为2),向下...

2019-03-15 18:56:51 924

原创 duilb常用xml

参考:Duilib总结与心得 简书Edit的边框两种设置方法设置背景图bkimage="res='search_bg.png' corner='6,6,6,6'"设置边框颜色bordersize="1" bkcolor="#FFFFFFFF" bordercolor="#FF4EA0D1"Button背景图:hotimage="res='button_hover.png'...

2019-03-15 18:56:25 301

原创 DuiDesigner修改:增加对控件CheckBox属性的保存

这次修改主要是DuiDesigner工程,duilib工程无须任何修改。stdafx.h中enum UIClass枚举增加:classCheckBox,并引用命名空间:using DuiLib::CCheckBoxUI;stdafx.cpp中gGetUIClass增加:if( _tcscmp(pstrClass, _T("CheckBoxUI")) == 0 ) nCla...

2019-03-15 18:55:57 341

原创 DuiDesigner修改:增加对控件vscrollbar,hscrollbar属性的显示和保存

1、显示:CUIProperties::ShowContainerProperty修改为://hscrollbarpPropContainer->GetSubItem(tagHScrollBar-tagContainer)->SetValue((_variant_t)(pContainer->GetHorizontalScrollBar()==NULL?false:true...

2019-03-15 18:55:32 517

原创 修复duilib使用的tinyxml的一个BUG

以RichListRes为例,用修改后的DuiDesigner重新载入xml皮肤配置文件,稍作修改并撤销然后保存,为的是重新保存xml文件,运行RichListRes工程会崩溃。然后发现DuiDesigner用的是tinyxml保存的xml,而加载的时候用的是CMarkup,以至于以为是两者操作xml的不同导致的问题,当时差点就要把这两者的操作改为同一个库了。实际上这是不可取的,毕竟工作量太大了...

2019-03-15 18:55:07 251 1

原创 duilib对CListUI的改造:支持checkbox

参考:http://blog.csdn.net/tragicguy/article/details/21893065注意:此处需要将内嵌控件的ListHeaderItem 添加一个inset属性,控制内嵌的控件不要铺满整个ListHeaderItem ,否则表头拖动不了,如:ListHeaderItem text="" inset="1,0,1,0"这个注意其实很容易被遗忘,而且duid...

2019-03-15 18:54:38 1707

原创 DuiDesigner修复编辑器不保存CComboUI的textpadding属性的bug

实际使用发现CComboUI的textpadding为 5 较好,在CComboUI::CComboUI中添加:m_rcTextPadding.left = 5;DuiDesigner中的CLayoutManager::SaveComboProperty增加:RECT rcTextPadding = pComboUI->GetTextPadding();_stprintf_s(sz...

2019-03-15 18:54:09 212

原创 duilib-CComboUI执行SelectItem无效果排查

动态跟进CComboUI::SelectItem:bool CComboUI::SelectItem(int iIndex, bool bTakeFocus){ if( m_pWindow != NULL ) m_pWindow->Close(); if( iIndex == m_iCurSel ) return true; int iOldSel = m_iCu...

2019-03-15 18:53:29 1128

手机安全卫士android源码(mobilesafe_source_code)

手机安全卫士源码(mobilesafe_source_code) 主要包括:手机防盗、通信卫士、软件管理、进程管理、流量统计、手机杀毒、系统优化、高级工具、设置中心九大板块。 工程最好是用android studio打开。

2014-01-26

驱动开发源码模板驱动开发源码模板

驱动开发源码模板

2013-10-25

解包打包android内核system.img文件所需工具

使用方法:http://blog.csdn.net/asmcvc/article/details/11770851 工具: unyaffs,mkyaffs2image 其中unyaffs有windows版本和linux版本,mkyaffs2image只有linux版本。 windows版本的unyaffs用法: 把system.img复制到unyaffs的相同目录下,cmd命令下cd到unyaffs的目录下,然后执行命令:unyaffs system.img unyaffs会把system.img解压到其目录下。 linux版本的unyaffs用法: 把unyaffs复制到/usr/bin目录下,并修改权限为可执行。 然后cd到system.img目录下(假定目录为system目录),执行命令:unyaffs system.img 然后对system目录下的文件进行修改。 注意:修改完后的文件要修改一下权限,尽量和其他文件的权限保持一致。例如:chmod 644 framework-res.apk mkyaffs2image用法: 复制到/usr/bin目录下,并修改权限为可执行。 这里以打包system目录为system.img为例,执行命令: mkyaffs2image system system.img 然后把新生成的system.img复制替换掉原:adt-bundle-windows-x86\sdk\system-images\android-17\armeabi-v7a\system.img 执行bat批处理命令启动模拟器: D:\adt-bundle-windows-x86\sdk\tools\emulator-arm.exe -avd AndroidVM -partition-size 128 这里以修改android系统启动画面为例: 打开解包目录下的\framework\framework-res.apk 替换图片:framework-res.apk\assets\images\android-logo-mask.png为下图: 然后对\framework\framework-res.apk文件重新签名,复制到linux下后修改文件权限和原来一致。 然后mkyaffs2image system system.img打包生成新的system.img,替换原来的system.img,并启动模拟器,效果图如下: 修改代码: 工具:odextools(参考:《一键odex批量合并工具odextools的重新整理与使用》)、dexopt-wrapper 其中odextools.bat的代码: 批处理有一处bug:每打包一次会把odex文件删除掉,导致在后面的打包过程中会出现找不到:system/framework/core.odex类似的错误,因此只需要在打包完后不删除odex文件即可,找到del /f !apkx!.odex 1>nul 2>nul改为:::del /f !apkx!.odex 1>nul 2>nul,也就是注释掉这一行代码。 具体使用方法(操作在windows下): 在odextools\romdir目录下创建文件夹:system 利用unyaffs解包system.img后,把所有文件复制到system目录下。 然后运行odextools.bat,如图: 选择一个需要整合odex的目录选项即可。odextools.bat会自动设置环境变量,使用baksmali.jar来反编译odex为smali,然后再调用smali.jar打包为classes.dex, 然后再打包到相应的apk包(framework目录下对应的是jar后缀的,实际上也是个apk包),最后再重新签名。 如果要修改代码,则需要把上面重新打包生成的apk文件,利用常规方法反编译后修改smali代码,例如插桩输入log信息。然后再回编译并重新签名。 最后一步:因为system.img中的apk是优化过的,apk主目录下是没有classes.dex文件的,而是一个被优化过的odex文件,用于优化启动速度。 因此需要将修改后的apk包再用dexopt-wrapper优化apk包后生成出odex文件,然后删除apk包里的classes.dex,并在相同目录下放置与apk包同名的odex文件。 按照原system目录的文件结构组织好后,目录复制到linux环境下使用mkyaffs2image重新打包成system.img。

2013-09-17

一键odex批量合并工具odextools修改增强版

网上下载回来的“一键odex批量合并工具odextools”年代已久,使用起来会有问题,现修改如下: 1.odextools.bat为unicode模式,直接记事本打开为乱码。解决办法:用windex打开odextools.bat,将前两个字节cut掉保存即可。 2.Major文件夹诡异,双击打不开,但是进入cmd使用dir命令可以看到其目录下有一些工具。其中导致不能使用的原因就是里面的baksmali.jar和smali.jar版本太老导致。解决办法:新建一个临时目录Major2,执行cmd命令:copy Major\*.* Major2\*.*,然后删除原Major目录,再重命名Major2为Major。然后复制最新版的baksmali.jar和smali.jar替换掉Major目录下的文件。 3.在romdir目录下新建system目录,将之前解包的所有文件全部拷贝至system目录下。 4.以整合system\app目录下odex为例:运行odextools.bat,选择项目1,即整合app目录下的odex文件。自动反编译odex并回编译生成dex并打包到apk中。

2013-09-12

使用adb命令批处理安装卸载apk

使用adb命令批处理安装卸载apk 安装: 安装比较简单,批处理获取拖放的文件参数直接调用adb命令即可,需要设置下adb的路径 卸载: 卸载稍微复杂一点,因为需要提供包名给adb,所以要获取apk的包名。这里使用的方法是:先用winrar从apk文件中提取出AndroidManifest.xml文件,然后用AXMLPrinter2.jar 把AndroidManifest.xml文件转换成标准的xml文本,然后从这个xml文本中读取出包名。

2013-07-30

gdb-7.5_android_ubuntu10.04_python26

gdb-7.5_android_ubuntu10.04_python26

2013-07-25

gdb-7.3.1_android_ubuntu10.04_python26

gdb-7.3.1_android_ubuntu10.04_python26

2013-07-25

xshell4无法链接ubuntu12.04的解决方案

xshell4无法链接ubuntu12.04的解决方案

2013-07-24

全局字符串转换局部变量存储防止暴露敏感字符串

输入要转换的全局字符串,例如:C:\\file\\我的文件.txt,输出: //C:\\file\\我的文件.txt #ifdef _UNICODE TCHAR szC:\\file\\我的文件.txt[] = { 'C', ':', '\\', 'f', 'i', 'l', 'e', '\\', 0x6211, 0x7684, 0x6587, 0x4EF6, '.', 't', 'x', 't', '\0' }; #else CHAR szC:\\file\\我的文件.txt[] = { 'C', ':', '\\', 'f', 'i', 'l', 'e', '\\', 0xCE, 0xD2, 0xB5, 0xC4, 0xCE, 0xC4, 0xBC, 0xFE, '.', 't', 'x', 't', '\0' }; #endif 如果字符串不包含中文,例如:file not found,输出 //file not found TCHAR szfile not found[] = { 'f', 'i', 'l', 'e', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', '\0' }; 以上结果把变量名稍作修改即可使用

2012-06-12

64位Win7下vmware8安装MacOSXLion系统完美解决方案--所需工具

64位Win7下vmware8安装MacOSXLion系统完美解决方案--所需工具 VMware8_keygen是vmware8的注册码生成器,vmware8请自行下载并安装。 OS_X_Lion.iso.torrent是OS_X_Lion系统的种子,下载下来有3.8GB的样子。 系统安装好后记得用HJMac引导。 详细安装步骤可以参考“64位Win7下VMWare8安装MacOSXLion系统完美解决方案”: http://hi.baidu.com/asmcvc/blog/item/ed911bf00c139db0a40f52d7.html

2012-03-22

Visual C++视频_音频开发实用工程案例精选(PDF 到252页)

Visual C++视频_音频开发实用工程案例精选(PDF 到252页) Visual C++视频_音频开发实用工程案例精选(PDF 到252页)

2010-08-24

Visual C++视频_音频开发实用工程案例精选(PDF 到252页)

Visual C++视频_音频开发实用工程案例精选(PDF 到252页) Visual C++视频_音频开发实用工程案例精选(PDF 到252页)

2010-08-24

sqlite数据库查看工具sqlitedbviewer

sqlite数据库查看工具sqlitedbviewer sqlite数据库查看工具sqlitedbviewer

2010-07-26

Symbian C++开发经验(针对S60第三版)

Symbian C++开发经验(针对S60第三版) Symbian C++开发经验(针对S60第三版)

2010-07-20

提取CrashRpt中屏幕截图并压缩为zip的功能

提取CrashRpt中屏幕截图并压缩为zip的功能 提取CrashRpt中屏幕截图并压缩为zip的功能

2010-07-05

RAR文件格式的研究

RAR文件格式的研究

2010-06-21

动态调整窗口控件布局的类:CDlgResizeHelper

该对象帮助在对话框窗口大小改变时保持控件布局,更一般地,它可用于包含子窗口的窗口。它不是继承于CDialog,因此对任何窗口都适用。 参考:http://www.pudn.com/downloads161/sourcecode/windows/control/detail733848.html

2010-05-26

C#图片二值化(转换为tiff格式,无压缩)

C#图片二值化(转换为tiff格式,无压缩)

2010-05-19

Fiddler2汉化版.rar

Fiddler2汉化版 Fiddler2汉化版 Fiddler2汉化版 Fiddler2汉化版

2010-05-19

51相册批量下载工具

--=★=------友情提示:如何下载51空间相册图片?--------=★=-- 1.输入对方51账号,点击[查看相册]按钮便可预览到相册列表; 2.选择要下载的相册,点击[开始下载]按钮便可下载图片到本地。 获取51账号:点击TA的个人首页,查看浏览器中的地址如http://home.51.com/qiner0501,则qiner0501就是TA的 51账号。

2010-05-16

AVCaptureStream.rar

https://blog.csdn.net/zhoubotong2012/article/details/79338093的相关参考代码, 优化了工程 解决了内存泄露 集成了enumdevice 再次感谢原作者

2020-03-24

jdk-11_windows-x64_bin.rar

包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.   因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。   其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在 服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。

2019-07-01

jdk-12.0.1_windows_x64_Linux_x64.rar

包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.   因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。   其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在 服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。

2019-07-01

安卓开发与分析者的利器--安卓右键工具1.2

安装:解压后运行exe,点【添加到系统右键菜单】 安卓右键工具v1.2版本使用说明 安卓右键工具是一款集合复制路径,Dex转Jar,Manifest和AXML查看,APK相关信息提取、优化、签名、反编译、回编译,手机信息查看、屏幕截图等功能的综合型工具,同时本工具拥有自定义插件功能,方便使用者对本工具的功能进行扩充。 一、运行环境 Windows操作系统64位 需安装Java开发环境并配置环境变量 需安装Python并配置环境变量,支持Python3和Python2 需安装ADB并配置环境变量 二、安装和卸载说明 1、安装 运行APKmenuTOOL.exe,点击“添加到系统右键菜单”,安装完毕。默认安装路径为D:\APKmenuTOOL。 2、卸载 运行APKmenuTOOL.exe,点击“从系统右键菜单移除”,卸载完毕。文件目录请手动删除。 三、使用方法 使用该工具时需选中文件,右击,在弹出的菜单项中选择安卓右键工具,然后选择需要使用的功能即可。 四、功能说明 1、复制路径 复制被选中文件的路径(全文件路径,支持多个文件)到剪贴板,执行结果将在右下角冒泡提示。 2、Dex->Jar 将dex(或APK中的dex)文件转为jar文件。任务完成时会在当前目录下生成文件名为源文件名的jar文件,并自动使用jd-gui打开所生成的jar文件。执行结果将在右下角冒泡提示。 3、Manifest->TXT|AXML->XML 自动提取APK文件中的AndroidManifest.xml文件内容(若为AXML文件则直接提取文件内容),以TXT文件格式保存到当前目录,并自动打开生成的TXT文件。执行结果将在右下角冒泡提示。 4、查看APK信息 自动提取APK文件中软件名称、包名、版本、启动Activity、权限列表等信息。任务完成时自动显示获取的信息,执行结果将在右下角冒泡提示。 5、查看签名信息 自动提取APK文件的签名信息,任务完成时在当前目录下生成文件名为”源文件名_signinfo“的文本文件,,并自动打开生成的TXT文件。执行结果将在右下角冒泡提示。 6、签名 对选中的APK文件进行签名。默认使用debug签名,签名文件可以自由配置,路径为D:\APKmenuTOOL\tools\sign。任务完成时将在当前目录下生成文件名为“源文件名”的APK文件和文件名为“源文件名_sign”的log文件。执行结果将在右下角冒泡提示。 7、安装(卸载安装) 自动卸载被选中APK,然后将该APK安装到手机。使用该功能时,请先连接手机设备。执行结果将在右下角冒泡提示。 8、安装(替换安装) 将被选中APK覆盖安装到手机。使用该功能时,请先连接手机设备。执行结果将在右下角冒泡提示。 9、卸载 从手机中卸载被选中APK文件。使用该功能时,请先连接手机设备。执行结果将在右下角冒泡提示。 10、查看加壳信息 检测APK文件是否被加壳,若被加壳则检测加壳厂家。任务完成时自动显示获取的信息,执行结果将在右下角冒泡提示。 11、 APK深度检测 自动检测APK文件是否是游戏APP和是否为XPOSED插件。如果为游戏APP则显示游戏引擎,如果为XPOSED插件APP则显示入口类。 12、查看手机信息 自动获取手机类型、系统版本、系统API版本、系统CPU类型、序列号、IMEI、分辨率等信息,任务完成后将自动显示获取到的手机信息,使用该功能时请先连接手机设备。执行结果将在右下角冒泡提示。 13、手机截图 对手机当前画面进行截图,任务完成时会在当前目录下生成screenshot.png,同时复制截图至剪贴板。执行结果将在右下角冒泡提示。 14、提取图标 提取源文件APK中的图标,任务完成时会在当前目录下生成APK中所有分辨率的目标文件。执行结果将在右下角冒泡提示。 15、zipalign优化 对源文件进行优化,使程序运行更快。任务完成时会在当前目录下生成文件名为“源文件名_align”的APK文件。执行结果将在右下角冒泡提示。 16、反编译 对被选中APK进行反编译。任务完成时会在当前目录下生成和被选中APK名字一样的文件夹。执行结果将在右下角冒泡提示。 17、回编译 对反编译后的APK文件夹进行回编译得到APK文件。任务完成时会在当前目录下生成编译后的APK文件。执行结果将在右下角冒泡提示。 18、提取so 提取被选中APK中lib目录下的所有后缀为so的文件。任务完成时会在当前目录下生成名为“源文件名_lib”的文件夹。执行结果将在右下角冒泡提示。 1

2019-04-12

看雪《加密与解密》第四版附书源码PEDIY_BOOK4(完整版)

看雪《加密与解密》第四版附书源码PEDIY_BOOK4。 加密与解密(第4版)》以加密与解密为切入点,讲述了软件安全领域的基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。这些知识彼此联系,读者在掌握这些内容之后,很容易就能在漏洞分析、安全编程、病毒分析、软件保护等领域进行扩展。从就业的角度来说,掌握加密与解密的相关技术,可以提高自身的竞争能力;从个人成长的角度来说,研究软件安全技术有助于掌握一些系统底层知识,是提升职业技能的重要途径。作为一名合格的程序员,除了掌握需求分析、设计模式等外,如果能掌握一些系统底层知识、熟悉整个系统的底层结构,在工作中必将获益良多。 《加密与解密(第4版)》适合安全研究人员、软件调试人员、程序开发人员阅读,也可以作为高校信息安全相关专业的辅助教材。

2019-01-07

NB-IoT CoAP网关搭建教程

NB-IoT现阶段访问一个服务器只能通过IP地址加端口的方式,省去了DNS解析,如果产品以后的IP变化或者改变了服务端的IP地址,就需要一个DNS解析的功能。 通过DNS解析某个域名的IP地址,获取到IP地址后再进行通信。 如果NB-IoT模块只能绑定一个IP,则可以通过这个IP先获取其他IP列表,然后统一经过这个IP进行转发。 参考: 1.1.2 NB卡准备 模组使用的SIM卡为中国电信物联网专用NB卡,如下图正面(留意NB字样,无此字样的均为不合法的NB卡): 背面(留意其ICCID号,在让运营商开放IP白名单时可能需要此号码,相当于手机卡的手机号): 重要:收到卡后,需要致电背面的客服电话, 使其将您自己的IP地址加入访问白名单,此一步完成后,方能进行下面的步骤,切记切记 。 如何判定服务器IP已被加入访问白名单,使用如下两种方式: 1. AT+NPING 指令,通过PING自己的服务器地址,如返回ERROR,则多半(尚需继续排除防火墙因素)未就绪; 2. UDP通讯,如能与自己的服务器直接连接UDP通讯,那可以证明一定就绪; 1.1.3 服务器准备  首先您需要有一个固定IP的公网服务器,由于目前BC95暂不支持域名解析,故必须使用IP地址配置方式。  服务器可以使用阿里云服务器,目前本CoAP端暂未开源,有Windows 32位、Windows 64位、Linux CentOS 6、CentOS 7的可执行文件,请暂时选择以上指定系统;  CoAP标准协议使用 UDP 5683 端口,当然您也可以自定义此端口,必须让防火墙放通UDP 的指定端口;  CoAP网关需要使用WEB方式进行设备管理、用户管理等,默认使用 TCP 8080 端口,同 理,防火墙必须放通此端口; 1.1.4 模组准备 推荐使用 串口调试助手 sscom 来调试NB模组,如下,首先将您的NB模组上电使其启动,使用AT指令能收到OK的回复,证明已启动完毕,按如下步骤进行: 基础配置 1. 配置 NCDP 服务器,使用的指令序列为 AT+CFUN=0 +NCDP=103.37.149.19,5683 AT+NRB 留意 IP 地址必须为您自己指定的IP地址,如果暂时没有,也可以用 如上 地址临时使用(但 WEB 设备管理地址也需换成这个IP),完成后重启了设备; 2. 等待设备附着网络后,使用 AT+NPING=103.37.149.19 尝试PING自己的服务器,当返回ERROR时,极有可能是 IP 白名单未成功配置的缘故; 3. 使用 AT+CGSN=1 查询设备 IMEI 号,并将设备的 IMEI 注册到 WEB 平台,如果在上面操作 过,可忽略。

2018-04-03

看雪2017安全开发者峰会PPT

1.Flash 之殇-漏洞之王 Flash Player的末路.pdf 2.浅析WEB安全编程11.15.pdf 3.业务安全的发展趋势及对抗思路.pdf 4.Windows 10新子系统新挑战.pdf 5.智能化的安全 设备&应用&ICS;.pdf 6.移动APP灰色产业案例分析与防范.pdf 7.开启IoT设备的上帝模式.pdf 8.那些年,你怎么写总会出现的漏洞.pdf 9.定制化对抗-游戏反外挂的安全实践.pdf 10.Java_JSON反序列化之殇11.13.pdf 11一石多鸟——击溃全线移动平台浏览器.pdf 12.如何黑掉无人机.pdf

2018-01-25

iOS应用逆向工程-最新版

信息安全技术丛书 iOS应用逆向工程(第2版) 沙梓社 吴航 著 ISBN:978-7-111-49436-2 本书纸版由机械工业出版社于2015年出版,电子版由 华章分社(北京华章图文信息有限公司,北京奥维博 世图书发行有限公司)全球范围内制作与发行。

2018-01-16

cef_binary_3.2623

cef3.2623版本,cefbuilds下载,支持CMake转换vs的sln工程,亲测可用。 CEF简介: 嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chromium的Webbrowser控件。CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去。 它的设计思想政治就是易用且兼顾性能。CEF基本的框架包含C/C++程序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和Chromium&Webkit的操作细节。它在浏览器控件和宿主程序之间提供紧密的整合,它支持用户插件,协议,javascript对象以及javascript扩展,宿主程序可以随意地控件资源下载,导航,下下文内容和打印等,并且可以跟Google Chrome浏览器一起,支持高性能和Html5 技术

2017-09-22

Android安卓应用手势锁图案解锁的实现源码

交互细节 - 用户首先使用账号/密码进行登录。 - 登录成功后,判断是否是第一次登录使用,如果是第一次则显示创建手势密码的界面,要求用户创建手势锁。 - 创建的过程中要求用户连接至少四个点,并且绘制两次以确认绘制正确并记住绘制的路径。确认成功后进入APP首页。 - 用户在APP页面使用功能后,把APP退出到后台一定时间(超时),则下次再打开APP时弹出解锁页面,要求用户解锁,解锁成功进入APP页面。 - APP完全退出,下次重新打开APP使用,如果登录账号有缓存登录有效状态并且未过期,则跳过用户账号登录页面进入手势解锁页面,如果登录状态失效则需要重新输入账号密码登录。 - 用户连续解锁5次失败则进入账号密码登录页面,如果用户忘记手势密码也可以直接点击“忘记手势密码”通过重新登录账号密码来重新设置手势锁。

2017-02-24

GitHub_Desktop离线安装包

最新版GitHub_Desktop离线安装包

2016-07-05

网易云加密_安卓右键工具

安卓右键工具,集成dex转jar,二进制xml查看,apk相关信息查询,apk图标提取,apk优化,手机屏幕截图,安装卸载,签名,反编译和回编译等功能,方便快捷,开发者们的利器。

2016-04-07

网易云捕SDK之NDK版

网易云捕简介 【关于云捕】 云捕 是网易旗下的 质量跟踪平台 , 积淀网易多年来质量跟踪技术经验, 面向移动开发者提供专业的 Crash 监控、崩溃分析等质量跟踪服务。 开发者通过云捕官网(crash.163.com ) ,即可快速接入服务。云捕能够实时监控异常,准确定位崩溃堆栈信息,可定制个性化的实时告警功能以及直观的报表统计, 帮助移动互联网开发者 及时掌控产品异常,全面了解质量问题,快速修复解决,打造良好的用户体验。 【功能范围】 n 实时监控: 实时上报 Crash 信息,全面监控相关异常情况 n 趋势分析: 根据 Crash 次数,形成相关趋势图,及时了解 Crash 动态 n Crash分布: 提供全面完整的机器运行信息,全方位定位 Crash 信息 n 崩溃堆栈: 详细显示崩溃堆栈信息,直接定位出错代码行号 【服务优势】 n 品牌保障: 作为网易内部一直在使用的产品,云捕积累了多年的质量跟踪技术经验。 n 全面平台支持: 支持Android与iOS两大移动平台 , 完美支持各种开发环境 n 实时准确: 实时上报Crash信息,准确定位崩溃堆栈信息,实现高效质量跟踪 n 个性化定制: 提供自定义告警设置,帮助开发者快速响应崩溃数量异常情况

2016-03-31

网易云加密安卓加固工具

APK加密保护服务 1.以加密代码的方式阻止反编译,从而防止被窃取代码和创意 2.通过对App的完整性保护,防止App被篡改或盗版,防止二次打包 3.源码混淆的方式保护,从而防止代码泄露 4.通过对内容的监控,防止特定的内容被dump 网易云加密主要功能 对抗静态分析 对Dex文件整体加密,并剥离核心逻辑,samli、JEB、Jadx等反编译工具分析应用逻辑,保护代码安全。 对抗动态分析 对常用动态调试Apk的方法进行检测与防范,防止通过IDA Pro、gdb、IntelliJ IDEA等工具动态调试受保护Apk, 增加程序运行安全性。 对抗二次打包 在受保护Apk运行过程中,通过对Apk完整性校验,自动崩溃被二次打包的应用,防止Apk被盗版、被篡改。 Unity3d游戏脚本保护 通过对Unity3d游戏脚本dll进行加密,防止利用Reflector、ILSpy等C#反编译工具对游戏逻辑进行分析、更改,从而影响游戏平衡。 多CPU支持 分别支持arm/x86/mips cpu的32位、64位架构, 兼容性强。

2015-12-14

mtp usb驱动32和64位下载(win7mtp usb驱动) Media Transfer Protocol Porting Kit

mtp usb驱动32和64位下载(win7mtp usb驱动) Media Transfer Protocol Porting Kit 媒体传输协议移植工具包 解决手机连接电脑驱动安装失败导致手机识别不了的问题

2015-09-06

cocos2d-Lua示例demo源码踩虫子-MOD美国大兵

cocos2d-Lua示例demo源码踩虫子-MOD美国大兵

2015-07-13

Lua cjson库在windows版本cjson.dll

找了老半天都没有windows版本的cjson.dll库,只能手动编译。 下载:http://www.kyne.com.au/~mark/software/lua-cjson.php 转换为vs2005工程后编译出错,把所有static inline的函数修改为static的,把一些不存在的api添加为windows下带下划线的版本,strncasecmp替换为stricmp 创建模块定义文件(.def),内容: LIBRARY "cjson" EXPORTS luaopen_cjson 也就是要导出luaopen_cjson函数。

2015-05-06

使用ContentProvider在应用间传递数据

使用ContentProvider在应用间传递数据使用

2015-03-06

VisualStudio.NET项目转换器(ProjectConverter)源码

这里是源码,编译后的工具在: http://download.csdn.net/detail/asmcvc/7136663 现在支持: 1、启动后屏幕居中显示。 2、置顶显示。 3、支持文件拖放,直接拖拽.sln文件到窗口即可。 Visual Studio .NET 项目转换器非常类似于ASP.NET版本转换器,区别在于它用于转换 Visual Studio 项目文件的版本。尽管在 .NET 框架的 1.0 版和 1.1 版之间只有很小的差异,但一旦将项目文件从 Visual Studio .NET 2002 转换到 Visual Studio .NET 2003,将无法再把它转换回去。虽然这在大多数时候可能不会成为问题(因为在 .NET 框架 1.0 版和 1.1 版之间几乎没有什么破坏性的更改),但在某些时刻你可能需要将项目转换回去。该转换器可以将任何解决方案或项目文件从 Visual Studio 7.1 (Visual Studio .NET 2003) 转换到 Visual Studio 7.0 (Visual Studio .NET 2002),并在必要时进行反向转换。

2014-04-02

Visual Studio .NET项目转换器(ProjectConverter)加强版本

现在支持: 1、启动后屏幕居中显示。 2、置顶显示。 3、支持文件拖放,直接拖拽.sln文件到窗口即可。 编译后的exe文件放在csdn资源下载站: Visual Studio .NET 项目转换器非常类似于ASP.NET版本转换器,区别在于它用于转换 Visual Studio 项目文件的版本。尽管在 .NET 框架的 1.0 版和 1.1 版之间只有很小的差异,但一旦将项目文件从 Visual Studio .NET 2002 转换到 Visual Studio .NET 2003,将无法再把它转换回去。虽然这在大多数时候可能不会成为问题(因为在 .NET 框架 1.0 版和 1.1 版之间几乎没有什么破坏性的更改),但在某些时刻你可能需要将项目转换回去。该转换器可以将任何解决方案或项目文件从 Visual Studio 7.1 (Visual Studio .NET 2003) 转换到 Visual Studio 7.0 (Visual Studio .NET 2002),并在必要时进行反向转换。

2014-04-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除