{"id":18749101,"url":"https://github.com/lefex/wechatshot","last_synced_at":"2025-08-11T00:13:08.180Z","repository":{"id":44702559,"uuid":"127536213","full_name":"lefex/WeChatShot","owner":"lefex","description":"逆向是打开第三方 APP 的一扇窗，本项目主要总结利用逆向做的一些有意义的事情。给微信添加聊天记录截图功能，查看第三方APP使用的第三方库","archived":false,"fork":false,"pushed_at":"2018-05-17T07:15:17.000Z","size":8527,"stargazers_count":184,"open_issues_count":2,"forks_count":24,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-12T23:38:14.766Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lefex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-31T13:51:42.000Z","updated_at":"2025-02-02T14:29:53.000Z","dependencies_parsed_at":"2022-09-23T04:41:14.934Z","dependency_job_id":null,"html_url":"https://github.com/lefex/WeChatShot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lefex/WeChatShot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefex%2FWeChatShot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefex%2FWeChatShot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefex%2FWeChatShot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefex%2FWeChatShot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lefex","download_url":"https://codeload.github.com/lefex/WeChatShot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefex%2FWeChatShot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269809715,"owners_count":24478599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T17:06:24.160Z","updated_at":"2025-08-11T00:13:08.135Z","avatar_url":"https://github.com/lefex.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 开发APP的另一扇窗--逆向\n\n逆向是打开第三方 APP 的一扇窗，本项目主要总结利用逆向做的一些有意义的事情。\n\n### 一、给微信添加聊天记录截图功能\n\n[查看原理](https://github.com/lefex/WeChatShot/wiki/%E7%BB%99%E5%BE%AE%E4%BF%A1%E6%B7%BB%E5%8A%A0%E8%81%8A%E5%A4%A9%E8%AE%B0%E5%BD%95%E6%88%AA%E5%9B%BE%E5%8A%9F%E8%83%BD)\n\n\u003e 有时候，知识小集群里讨论的技术问题，比较有价值，我们会把有价值的内容整理出来供大家查阅。但为了保护群友隐私，需要把昵称和头像都打码，如果碰到几百条聊天记录，这样做简直要吐血。而且也不能截一张长图，只能一张一张截取，然后拼接起来。群聊记录只能在微信内分享，这也限制了传播的渠道。为了提高小集成员工作效率，想着能不能给微信做个插件，解决这些问题。我们一直在追求如何更有效率做我们的工作，比如使用脚本自动整理每周小集内容，使用微信小程序给读者更好阅读体验。（呀，还有脚本，如果你还不知道，那肯定没有点 star 吧，[传送门](https://github.com/iOS-Tips/iOS-tech-set/tree/master/script)）\n\n![](https://github.com/lefex/WeChatShot/blob/master/images/xiaoguo.gif?raw=true)\n\n[**了解更多微信项目**](https://github.com/lefex/iWeChat)\n\n### 二、查看第三方APP使用的第三方库\n\n\u003e 有时候想研究某个竞品APP时，需要了解其使用的第三方库，使用 class-dump 导出的头文件非常多，刚靠肉眼查看时，耗时耗力。为了解决这个痛点，便发明了这个工具。下面是获取某个第三方 APP 使用的第三方库，可以查看 pod 库的 star 数，源地址。\n\n- [AFNetworking](https://github.com/AFNetworking/AFNetworking.git) - (30982)\n- [Masonry](https://github.com/cloudkite/Masonry.git) - (16318)\n- [MJRefresh](https://github.com/CoderMJLee/MJRefresh.git) - (11823)\n- [Mantle](https://github.com/github/Mantle.git) - (10984)\n- [iCarousel](https://github.com/nicklockwood/iCarousel.git) - (10440)\n- [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket.git) - (9991)\n- [YYText](https://github.com/ibireme/YYText.git) - (7245)\n- [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell.git) - (7041)\n- [Reachability](https://github.com/tonymillion/Reachability.git) - (6626)\n- [SSKeychain](https://github.com/soffes/sskeychain.git) - (4808)\n- [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress.git) - (3863)\n- [SSZipArchive](https://github.com/ZipArchive/ZipArchive.git) - (3443)\n- [MMWormhole](https://github.com/mutualmobile/MMWormhole.git) - (3414)\n- [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl.git) - (3322)\n- [YapDatabase](https://github.com/yaptv/YapDatabase.git) - (3046)\n- [hpple](https://github.com/topfunky/hpple.git) - (2534)\n- [TYAttributedLabel](https://github.com/12207480/TYAttributedLabel.git) - (2366)\n\n#### 使用\n\n本工具基于 python 写的，在[这里](https://github.com/lefex/WeChatShot/podlib/source)可以找到源码。下载源码后修改 `main.py` 文件的 `IPA_HEADER_PATH` 为 class-dump 导出的头文件目录。执行 `python main.py`\n\n```\nIPA_HEADER_PATH = '/Users/lefex/Desktop/header/xxx'\n```\n\n\n### 三、分类第三方 APP 头文件\n\n\u003e 利用 class-dump 导出的头文件，根据前缀整理成不同的文件夹。\n \n#### 使用\n\n本工具基于 python 写的，在[这里](https://github.com/lefex/WeChatShot/podlib/source)可以找到源码。下载源码后修改 `file_catagory.py ` 文件的 `IPA_HEADER_PATH` 为 class-dump 导出的头文件目录。执行 `python file_catagory.py `\n\n```\nIPA_HEADER_PATH = '/Users/lefex/Desktop/header/xxx'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flefex%2Fwechatshot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flefex%2Fwechatshot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flefex%2Fwechatshot/lists"}