断点

PE文件加壳

匿名 (未验证) 提交于 2019-12-02 23:43:01
1、upx的壳,官网地址 https://upx.github.io/ 这种壳很常见,应该是技术已经很纯熟了,加壳、脱壳利用官网发布的工具可以轻松实现。 程序参数如下: 试验一下: 加壳: (如果程序已经加过upx的,工具发现后会提示已经加过壳,不再二次加壳) 脱壳: (如果程序没有加过upx壳,工具会提示,不会进行脱壳) 2、MPRESS壳,官网地址 http://www.matcode.com/mpress.htm 这种壳官网提供的程序只有加壳功能,不具备脱壳功能,不过可以使用OD+esp定律轻松脱壳 一:执行过pushad,数据窗口中找到esp地址的值,该值处下硬件访问断点(读断点) 二、F9运行至上面下的断点,如果遇到jmp指令就一直F8步过,直到遇到程序真正的入口 三、插件--->OllyDump--->脱壳在当前调试的进程,点击脱壳 (面板中的数字不懂含义的话,尽量不要修改) ,给脱壳后的程序选一个保存位置、选个新名字就完成脱壳了。 参考地址: https://blog.csdn.net/wangyunfeis/article/details/77454038 https://bbs.pediy.com/thread-224537.htm 文章来源: https://blog.csdn.net/singleyellow/article/details/92080131

160个CRACK_ME系列 第一弹

匿名 (未验证) 提交于 2019-12-02 23:38:02
这是160crackme系列的第一个,下载链接我会放在文章末尾,有兴趣的朋友可以玩玩看。 我们先打开文件 上来就是一个明晃晃的挑衅,等会一定也要把他干掉 有三个按钮,看起来右边这个简单点,就点他好了 这时候对软件的大体结构一定要有思路,虽然不能直接得出flag但是会对程序的分析有很大的帮助。那么来分析一下这个程序,左边那个按钮的部分大概就是根据输入的Name字段来生成Serial,而这个部分应该就是一个固定的注册码。 按照惯例,先拉到PEID里查查壳 不认识,没关系,百度一下看看是啥玩意 幸好,不是壳而是一种语言,那就不用脱壳了,拉倒ODB里看看 这种界面比较复杂的crackme一般难点就在如何找到主要函数,我们来右键->中文搜索引擎->智能搜索,ctrl+f来找一下serial字符串 就这样我们找到了我们需要的部分字符串,从结果来看有两个当输入错误时的提示信息,分别是42FA5E和42FB21,那我们在这两处下断点,然后把程序跑起来 这个对话框先弹了出来,我们先忍他一会 还是点右边的选项,随便输点什么 emmm 并没有断到,这次我们以Failed为准再下一次断点在42F4F3处 这次我们断到了,那么我们一开始断的两个Try again应该就是左边按钮的了,先不管他,我们来分析一下这段代码:其实也没什么好分析的,只有一个关键跳转我们需要注意,那么我们想让它”恭喜”我们的话

Debug调试

匿名 (未验证) 提交于 2019-12-02 23:26:52
  调试是查找、解决软件中逻辑错误代码(称为bug:软件臭虫)的重要手段,是软件开发中必不可少的环节调试也是学习、研究其他人编写的代码的一个很好的手段。 Eclipse提供了强大的代码调试功能-Debug,通过Debug视图能快速定位代码中的逻辑错误,提高软件开发效率。 Eclipse中:   点击 Debug 按钮(Run 按钮的左边)   会弹出一个窗口,询问是否进入 Debug视图模式,点击 Yes 进入   左上角显示当前程序中线程运行的状态,右上角是变量观察窗口, 中间区域是代码编辑区,中右方是大纲视图,下方是控制台   右上角会出现标签 Java EE、Java、Debug,如果没有 Debug,可以点击 Open Perspective 按钮,选择 Debug,点击 OK,就会出现了(因为是 Java EE 版本的Eclipse,所以有 Java EE 标签)   点击标签可以在Java视图、Debug视图之间快速切换       断点:   断点是在源代码的可执行部分的指定行设置一个标志,在调试运行方式下,程序运行到该断点标志处会自动暂停,等待下一步操作。通过设置断点可以快速执行断点之前的代码,然后在断点处暂停,这时可以换单个命令运行的方式来运行程序,查找程序中的逻辑错误。断点设置的位置应该是程序员怀疑错误代码的附近位置,即对出错位置的定性分析,是一个大概的位置

GDB使用

匿名 (未验证) 提交于 2019-12-02 22:56:40
由于工作的需要,开始学习GDB! 学习使用了GDB一段时间后,发现它真的好强大!好用! GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、动态的改变你程序的执行环境。 从上面看来,GDB和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在细节上,你会发现GDB这个调试工具的强大,大家可能比较习惯了图形化的调试工具,但有时候,命令行的调试工具却有着图形化工具所不能完成的功能。让我们一一看来。 一个调试示例 ―――――― 源程序:tst.c 1 #include <stdio.h> 2 3 int func(int n) 4 { 5 int sum=0,i; 6 for(int i=0; i<n; i++) 7 { 8 sum+=i; 9 } 10 return sum; 11 } 12 13 14

Python程序调试――pdb

匿名 (未验证) 提交于 2019-12-02 22:54:36
pdb的常用命令说明: 1)查看运行到哪行代码 l 2)单步运行,跳过函数 n 3)单步运行,可进入函数 s 4)查看变量值 p 变量 5)断点设置到第几行 b 行号 6)显示所有断点列表 b 7)删除某个断点 cl 断点号 8)删除所有断点 cl 9)跳到下一个断点 c 10)return当前函数 r 11)退出 exit 调试记录: 1.pdb设置断点 import pdb 在需要设置断点的地方加入pdb.set_trace() 2.执行 python3 -m pdb test.py 转载于:https://www.cnblogs.com/chinasun021/archive/2013/03/19/2969107.html 转载请标明出处: Python程序调试――pdb 文章来源: Python程序调试――pdb

ubuntu下命令行调试Python程序

匿名 (未验证) 提交于 2019-12-02 22:51:30
Python https://docs.python.org/2/library/pdb.html https://docs.python.org/3/library/pdb.html python -m pdb hello.py 删除断点:(Pdb) cl 2 #删除第2个断点 (clear的首字母) Run to Line:(Pdb) j 10 #运行到地10行,jump的首字母 (Pdb) a #查看全部栈内变量 (Pdb) q #退出,quit的首字母 来源:博客园 作者: damoguying 链接:https://www.cnblogs.com/puhongtao/p/11454568.html

python爬虫基础17-抓包工具使用

匿名 (未验证) 提交于 2019-12-02 22:51:08
01 抓包工具原理 HTTP 由于HTTP请求是没有加密的,也没有做任何验证,所以抓包工具直接将请求转发即可。 HTTPS 由于HTTPS请求,客户端会使用服务端的证书来加密数据,而且会验证服务端是否是真正的目标服务端。 所以抓包工具在抓包HTTPS请求时,会进行伪装。 首先用抓包工具自己的证书向客户端伪装成服务端,然后向服务端发送请求时伪装成客户端。 以此来实现数据的抓取和转发。 Fiddler 官方网站下载安装即可: https://www.telerik.com/fiddler 基本可以说目前最为全面和强大的抓包工具就是fiddler了,使用也不算麻烦。 Fiddler也在官网上有提供非常详细的文档和教程,如果使用的时候遇到问题,可以直接查阅官网文档。 有做任何验证刚刚也说到了,抓包工具抓取HTTPS的包的时候跟HTTP的直接转发是不同的。所以我们需要配置HTTPS的证书。 打开后选择HTTPS,勾选上这个选项,然后勾选上下方出现的两个选项。最后再将弹出的窗口都选择yes。 02 抓包工具的使用 工具栏 1. # :Session的序号 2. Result :请求的响应状态码 3. Protocol :请求的协议类型 4. Host :域名 5. URL :请求的url 6. Body :响应体的大小 7. Caching :缓存方式 8. Content-Type

eclipse报错:unable to install breakpoint in .......due to missing line number attributes

痴心易碎 提交于 2019-12-02 22:21:14
报错信息如下: 解决方案 方案1、把断点都干掉,再启动。应该是代码更新后,断点位置没有代码了或位置改变了。 方案2、在Eclipse - Preferences - Java - Complier 下 有一个 Add line number attributes to generated class files 这个要勾上;如果你已经勾上了,先不勾选然后Apply,再勾选上Apply-->ok 原文链接:https://blog.csdn.net/qq_37591637/article/details/101057691 来源: https://www.cnblogs.com/isme-zjh/p/11764572.html