lldb

Ubuntu16.04下配置VScode的C/C++开发环境

一曲冷凌霜 提交于 2020-10-02 11:41:16
博客转载: https://blog.csdn.net/weixin_43374723/article/details/84064644 Visual studio code是微软发布的一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。 1. Vscode安装 第一种方式是从VScode官网下载.deb文件,然后双击该文件会打开软件中心进行安装。 第二种方式是通过Terminal进行安装,首先输入下面三条语句安装 umake : sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make 然后通过umake来安装VScode: umake web visual-studio-code 2. Vscode环境配置 2.1 安装c/c++插件 首先通过左边栏的Extension栏目安装C++插件,操作如下图: 2.2 建立工程 由于VScode是以文件夹的形式管理工程的,因此我们首先新建一个文件夹,我这里取名叫 hello 。 然后通过VScode打开此文件夹: 新建main.cpp文件并输入程序: 2.3 更改配置文件(launch.json)

在linux环境下使用lldb调试,以及 dump 安卓内存文件

自作多情 提交于 2020-08-17 19:16:16
已知android某进程 so文件 在maps中如下: 我期望是按照 映射的内存点 cd140000-cd1b4000 dump出文件,而不是将整个so pull下来 。所以本文开始(root android手机一台+linux系统环境): 一、将lldb push到手机,并执行 adb push "E:\Android\sdk\lldb\3.0\android\arm64-v8a\lldb-server" /data/local/tmp/ adb shell su cd /data/local/tmp/ chmod 755 lldb-server #启动lldb ./lldb-server platform --listen "*:10086" --server 二、转发端口 #新开sh,执行 adb forward tcp:10086 tcp:10086 三、连接android设备上的lldb 首先你需要在你的linux系统上安装lldb,然后执行lldb。进入后执行以下命令 platform select remote-android #ENU7N16709000458 是adb devices显示的设备名称 platform connect connect://ENU7N16709000458:10086 attach -p 30827 本来是想用LLDBFrontend

GitHub: 啄木鸟,专抓App里的Bug

时光怂恿深爱的人放手 提交于 2020-08-12 04:40:40
hello,小伙伴们大家好,今天给大家推荐的是阿里推出的开源项目: youku-sdk-tool-woodpecker 。 啄幕鸟,即手机屏幕上的啄木鸟,专抓App里的Bug。啄幕鸟集合了UI检查、对象查看、方法监听等多种开发工具,通过拾取UI控件、查看对象属性、监听方法调用、App内抓包等,不依赖电脑联调,直接获取运行时数据,快速定位Bug,提高开发效率。啄幕鸟提供了插件化的工具平台,简便易用,零侵入、零依赖、易接入、易扩展。 功能简介 1.UI检查:快速查看页面布局、UI控件间距、字体颜色、UI控件类名、对象属性/成员变量、图片URL等。 2.JSON抓包:便捷JSON抓包工具,通过监听系统json解析抓包。 3.方法监听:Bug听诊器,可监听App中任意OC方法的调用,输出调用参数、返回值等信息,可以通过屏幕日志输入监听、KVC取值等命令,支持后台配置命令。 4.po命令:执行类似LLDB的po命令,在App运行时执行po命令,调用任意方法。 5.系统信息:查看各种系统名称、版本、屏幕、UA等信息,支持外部添加信息。 6.SandBox:查看沙盒文件,导出文件等。 7.Bundle:查看、导出Bundle目录中的内容。 8.Crash:查看Crash日志,需先打开一次Crash插件以开启Crash监控。 9.Defaults:查看、新增、删除User Defaults。 10

iOS小技巧总结,绝对有你想要的(持续更新)

爱⌒轻易说出口 提交于 2020-08-12 03:42:40
最近在这里总结一些iOS开发中的小技巧,能大大方便我们的开发。 UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0.1)]; self.tableView.tableHeaderView = view; UITableView的plain样式下,取消区头停滞效果 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat sectionHeaderHeight = sectionHead.height; if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView;.contentOffset.y>=0) { scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0); } else if(scrollView.contentOffset.y>=sectionHeaderHeight) { scrollView.contentInset = UIEdgeInsetsMake(

快手,快影 iOSApp反调试

霸气de小男生 提交于 2020-08-12 02:31:09
快手,快影的App保护用的是同一套代码,反调试也很容易,下面请看过程。 > 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的 iOS交流群 :761407670 进群密码‘博客’,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长! 1.快手App去反调试 直接frida砸壳,然后创建MonkeyDev工程,并在antiAntiDebug.m文件的相关函数下断点,然后运行。 App运行起来后,将在my_dlsym函数断下来,然后bt打印调用栈: 然后在栈1地址处下断, 即: b 0x00000001054c3430,按C运行。 在0x00000001054c3430 处断下来之后, 修改返回值 x0 = 0 ,即: register write $x0 0 在汇编55行: nop该行指令,然后运行即可,命令如下: memory write -s 4 0x1028c09f4 0xd503201f 2.快影App去反调试 砸壳快影,然后创建MonkeyDev工程, 运行,闪退。 看下日志,打印如下: [AntiAntiDebug] - dlsym get ptrace symbol [AntiAntiDebug] - ptrace request is PT_DENY_ATTACH 在antiAntiDebug的my