断点

WinDbg使用介绍

怎甘沉沦 提交于 2020-02-24 09:51:04
Windbg工作空间     WinDbg使用工作空间来描述和存储调试项目的属性、参数及调试器设置等信息。工作空间与vc中的项目文件很相似。WinDbg定义了两种工作空间,一种为默认工作空间,另一种为命名的工作空间。当没有明确使用某个命名空间时,WinDbg总是使用默认工作空间。   WinDbg在安装后就有预先创建了一些列默认空间。分别为基础工作空间、默认内核工作空间、默认远程调试工作空间、特定处理器工作空间、默认用户态工作空间。它们分别定义了在WinDbg在各种条件下的一些配置、参数设置等。   基础工作空间:当调试会话尚未建立,WinDbg处于闲置状态时,会使用此空间作为默认空间。   默认内核工作空间:当WinDbg开始内核调试,但是尚未与调试目标建立连接时,会使用此空间作为默认空间。   默认远程调试工作空间:当通过调试服务器进行远程调试时,会使用此空间作为默认空间。   默认的用户态工作空间:当使用WinDbg调试一个已运行的进程时,会使用这个空间作为默认工作空间。   当WinDbg打开一个应用程序开始调试时,调试器会 根据可执行文件的路径和文件名为其创建一个默认工作空间,如果已经存在工作空间,就使用已存在的。在WinDbg的文件菜单中可以使用另存为..创建一个命名的工作空间。 WinDbg的工作空间中保存了一下信息:   调试会话状态:包括,断点、打开的源文件

Windbg实用手册

本秂侑毒 提交于 2020-02-24 08:58:01
Windbg工作中用的不多,所以命令老是记不住,每次使用都要重新查命令,挺烦。 趁这次培训的机会好好测试和总结了一下,下次再用就方便多了。 在这里一起共享一下,如果有错误,请指正。 基本知识和常用命令 (1) Windbg下载地址 http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx 安装完后执行windbg –I将Windbg设置成默认调试器 (2) Windbg的命令分为标准命令,原命令和扩展命令,输入问号(?)可以显示所有的标准命令的帮助信息; 元命令以一个点(.)开始,输入.help可以显示所有的原命令的帮助信息;扩展命令以叹号(!)开始。 所有命令的具体用法可以通过F1查看Windbg的帮助文件。 (3) 通过设置符号文件路径,让Windbg自动从微软网站更新系统Dll的符号文件 SRV*d:\symbols* http://msdl.microsoft.com/download/symbols (4) 用分号(;)作为分隔符,可以在一行输入多条命令 (5) 按上下箭头可以浏览和选择以前输入过的命令 (6) Ctrl+Break终止一个很长时间没有完成的命令, Ctrl+Break也可以让正在运行的程序暂停 (7) Windbg默认的数值进制一般是16, 可以通过n命令查看和设置当前进制

JavaScript学习笔记

 ̄綄美尐妖づ 提交于 2020-02-22 20:48:26
https://www.w3school.com.cn/jsref/index.asp https://www.bilibili.com/video/av83154194?p=617 JS对象 断点,下次继续: https://www.bilibili.com/video/av83154194?p=638 学习断点 https://www.bilibili.com/video/av83154194?p=645 动态表格的优化 案例: 案例 学习断点,下次继续 https://www.bilibili.com/video/av83154194?p=651 Bootstrap 百度百科:ttps://baike.baidu.com/item/Bootstrap/8301528?fr=aladdin bootstrap中文网:https://www.bootcss.com/ bootstrap下载页面:https://v3.bootcss.com/getting-started/#download 来源: CSDN 作者: 我想改行 链接: https://blog.csdn.net/weixin_44505194/article/details/104327544

给大家分享两款正在使用的reflector插件

你说的曾经没有我的故事 提交于 2020-02-22 19:13:58
 推荐两款神器:Deblector和reflexil   Deblector   它的名字是Debug 和 reflector 两个单词的结合。就是用来调试的。 简单的说,它可以像ide一样启动调试进程,或者Attach到一个运行中的进程,并调试他们,设置断点,单步运行,查看变量等等。 它不需要pdb文件,也不会像reflector pro的调试插件一样依赖ide,也不需要反编译dll。 一切工作仅在reflector内部完成,是不是很cool。 但缺点也是有的,那就是它只能在il级别调试。不过对于我们调试bug来说,这个基本已经足够了。   简单说一下这个插件的用法。安装到reflector后, tools菜单下会多一个Deblector菜单。   点开这个菜单,就可以打开这个插件了。 这时reflector的toolbar上会多出一些button。   这些button的意思就不多说了,自己看tooltip。   如果想启动一个新进程调试的话,可以把exe拖到reflector中, 然后点击toolbar上的第一个按钮,就是小三角,就可以自动启动这个exe并进入调试模式。   此时进程启动起来了,但是会在main函数的入口处断住,等待你的操作,这个时候你可以找到你想要设断点的方法,F9设置断点。   然后点击小三角或者F7继续运行程序。然后当程序走到断点的时候,就能断住了。  

郁闷。。

烂漫一生 提交于 2020-02-22 12:48:30
随着逆向的越来越深入,发现自己不会的东西越来越多,知道了PE文件的结构,于是想着可以逆向些程序了吧?结果,OD条件断点不会下,自己用MFC写的最简单的程序根本无从逆起,现在只能逆用汇编写的win32程序,可是这有什么意义。。。现在谁会用汇编写win32? 要学的东西还有好多啊,windows中的寄存器,特别是ESP,看的头大,真的不知道是干什么用的,看雪上有些在ESP下条件断点,可是这是为什么?要弄明白 MFC程序的逆向也是个头大的问题,根本找不到API函数,都是在MFC42里封装的,唉。。。 这还只是正常的程序,如果再加上反调试之类,不知道自己要怎么死了 博客每周降为1篇,因为学的东西实在跟不上一周2篇的写作进度,要加油了! 来源: https://www.cnblogs.com/feiyucq/archive/2009/06/13/1502581.html

开发小技巧之调试DOM

时间秒杀一切 提交于 2020-02-20 21:40:22
开发小技巧之调试移开消失的元素 引言 伪类 增删className 增删DOM 总结 引言 大多数小伙伴都遇到过一种调试情况,想调试页面中的某个元素,查看该元素的样式或者其他信息。鼠标移上去的时候或者点击的时候存在,移开就消失了,以至于不能用选择页面元素工具查看。今天就来整理一下什么功能会出现这种情况,以及该如何调试这种情况的元素。 伪类 最常见的也是最普通的情况就是伪类,其中 :hover , :focus 是最常见的,很多菜单就是通过这两种伪类做的下拉悬浮,最不易察觉的样式是 :focus 伪类选择器中的样式。 比如 chrome 中元素获取焦点的样式 仔细看的话会发现, input 输入框在获取焦点时有个默认的 outline 外边轮廓,而图片中选择的 div.content 在勾选上 focus 伪类选择时也出现了一个蓝色的 outline 外边轮廓。 正常情况下 div.content 是无法获取焦点的,所以我们很少见到,但是 input 输入框我们经常见到,有很多新手不知道这个默认的 outline ,想把这个样式修改又不知从何修改,而这里的 -webkit-focus-ring-color 指的是 chrome 获取焦点的颜色变量,从样式计算结果可以看到这个颜色值是 rgb(77, 144, 254) 。 比如github的登录页输入框就用了 :focus

CrackMe001

删除回忆录丶 提交于 2020-02-16 03:26:25
https://www.52pojie.cn/thread-709699-1-1.html 将上面链接中的 160个CrackMe的打包文件 下载下来之后, 打开该 chm , 选择第一个 Acid burn , 下载保存到本地, 然后解压, 运行其中的 exe 程序 0x00 查壳 壳是啥? 为啥要查壳脱壳? 不懂, 先跳过! 程序是使用 delphi 编写的 无壳 0x01 分析程序 首先了解下这个软件运行时的情况,记录下有哪几个需要破解的位置。 程序运行时会弹出一个 NAG窗口 , 标题是 hello you have to kill me ,这个窗口是要去除的 NAG窗口 : 软件未注册或软件的试用版经常会弹出一些提示窗口要求注册,这些窗口被称为 nag窗口 然后点击 确定 后进入程序的主窗口 进去后发现有两个按钮, 根据按钮上的字符串判断应该是需要输入序列号和名称的位置。 首先看下左边那个按钮,点击进去看下情况,发现有两个输入框,分别是输入用户名和序列号,然后点击 Check it Baby ,程序会进行校验,校验失败会弹出下面窗口,提醒你 Try Again!! 可以发现上面这个位置是一个需要破解的点。 然后点击 I give up 按钮返回到程序的主界面,看下右边那个按钮的情况。 点击进去后发现有一个输入框,提醒你输入序列号,然后点击 Check it Baby

再见了NSLog

半城伤御伤魂 提交于 2020-02-15 05:44:39
本文原文发表自我的【 自建博客 】,cnblogs同步发表,格式未经调整,内容以原博客为准 我是前言 打Log是我们debug时最简单朴素的方法, NSLog 对于objc开发就像 printf 对于c一样重要。但在使用 NSLog 打印大量Log,尤其是在游戏开发时(如每一帧都打印数据), NSLog 会明显的拖慢程序的运行速度(游戏帧速严重下滑)。本文探究了一下 NSLog 如此之慢的原因,尝试使用lldb断点调试器解决DebugLog问题。 小测试 测试下分别使用 NSLog 和 printf 打印10000次耗费的时间。 CFAbsoluteTimeGetCurrent() 函数可以打印出当前的时间戳,精度还是很高的,于是乎测试代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 CFAbsoluteTime startNSLog = CFAbsoluteTimeGetCurrent(); for (int i = 0; i < 10000; i++) { NSLog(@"%d", i); } CFAbsoluteTime endNSLog = CFAbsoluteTimeGetCurrent(); CFAbsoluteTime startPrintf = CFAbsoluteTimeGetCurrent(); for (int i = 0; i <

信不信:IDEA 的 Debug 调试,你可能只用了 10%

北战南征 提交于 2020-02-15 00:50:09
一、Debug开篇 首先看下IDEA中Debug模式下的界面。 如下是在IDEA中启动Debug模式,进入断点后的界面,我这里是Windows,可能和Mac的图标等会有些不一样。就简单说下图中标注的8个地方: 1、以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。 2、断点:在左边行号栏单击左键,或者快捷键Ctrl+F8 打上/取消断点,断点行的颜色可自己去设置。 想要其他资料的请添加资料分享群934623944就可免费获取 3、Debug窗口:访问请求到达第一个断点后,会自动激活Debug窗口。如果没有自动激活,可以去设置里设置,如图1.2。 4、调试按钮:一共有8个按钮,调试的主要功能就对应着这几个按钮,鼠标悬停在按钮上可以查看对应的快捷键。在菜单栏Run里可以找到同样的对应的功能, 5、服务按钮:可以在这里关闭/启动服务,设置断点等。 6、方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的[Show All Frames]按钮,就不会显示其它类库的方法了,否则这里会有一大堆的方法。 7、Variables:在变量区可以查看当前断点之前的当前方法内的变量。 8、Watches:查看变量,可以将Variables区中的变量拖到Watches中查看

Vs code断点调试Cocos Lua

☆樱花仙子☆ 提交于 2020-02-14 17:43:48
需求: 使用cocos 3.10新建Lua项目,命名为Project,其项目目录如下: 文件主要目录:    res: cocos的资源目录    src: cocos lua的脚本目录 使用Visual Studio Code进行编译开发,其安装地址为: https://code.visualstudio.com/ 关于lua的编写检测与添加断点调试,其步骤如下: 1. 安装luaide ,在扩展里面搜索luaide(推荐使用最新版本) 2. 设置 ,将项目中src目录放置到vscode中,点击F5启动调试,会提示配置相关,选择LuaDebug, 这时就会出现launch.json文件 在launch.json中,我们针对于本地调试修改如下配置: { "name": "Cocos2-Window", "type": "lua", "request": "launch", "runtimeTypesc": "运行时类型,支持:Lua51, Cocos2, Cocos3, Unity", "runtimeType": "Cocos2", "localRootDesc": "--必填 当前文件夹目录 填写错误容易导致res或者src获取不到文件的问题", "localRoot": "${workspaceRoot}/../", "mainFileDesc": "-- 先填