ollydbg

OllyDbg学习之路-3

烈酒焚心 提交于 2020-02-10 00:32:18
6.比较和跳转指令 (1)cmp eax,ecx 相当于sub eax,ecx 但不保存结果到第一个操作数。 根据结果改变零标志位(Z)。相等时,零标志位置1。 根据结果正负改变符号标志位(S)。运算结果为负时,置为1。 cmp允许寄存器与byte、word、dword类型的内存单元做比较。 eg:cmp ax,word ptr ds:[405000] (2)test 两个数值进行与操作,结果不保存,改变相应标志位 eg:test eax,eax 这个指令可以确定eax是否为0 (3)关于寻找跳转,容易忽略提示框中的本地调用来自xxx。 7.call、ret (1)ret指令不仅仅可用于子程序的返回,eg: 12 push 401256ret 等价于 1 jmp 401256 (2)改变程序代码后,反汇编界面右键重新分析。(否则分析可能出错,如栈中信息没有分析出函数间调用。) 8.循环、字符串指令和寻址方式 (1)loop [lable] 等价于 cx=cx-1 若cx!=0 转到lable loopz/loope 等价于cx=cx-1 若cx!=0且zf=1 转到lable loopnz/loopne 等价于cx=cx-1 若cx!=0且zf=0 转到lable (2)movs 从一个地址向另一个地址复制数据。源地址保存在ESI寄存器中,目的地址保存在EDI寄存器中。

OllyDBG命令

牧云@^-^@ 提交于 2020-01-01 01:24:38
a at asm ac a address,string – Assemble at address at address – Disassemble at address asm string – Assemble ac – Analyse code s stk stop si so sn sob s – Step into stk address – Go to address in stack stop – Pause execution si – Step into so – Step over sn – Search for Name(label) in current module sob – Scan object files d dump da db dc dd du dw dasm d address – Dump at address dump address – Dump at address da [address] – Dump as disassembly db [address] – Dump in hex byte format dc [address] – Dump in ASCII format dd [address] – Dump in stack format du [address] – Dump in UNICODE format dw

How to find a function of application with ollydbg?

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-22 13:13:40
问题 Let's say i released the application below. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Hello World!","Message Box"); } } } Now here is my

Ollydbg 1.10 “Back to user mode” doesn't work

ぃ、小莉子 提交于 2019-12-21 12:47:07
问题 I tried to learn "Lena's reversing for newbies", when some trouble arise. I start Pixtopian Book with ollyDbg, then try to have MessageBox with message about uregistered version. Then i switch to OllyDbg, stop program executing and press "Alt+F9" for "Back to user mode" which stop the program after it exit from DLL. But after this program does not work, it's frozen and does not respond to my actions. If i turn off "Back to user mode" program normally work. What's the problem? Can i try to use

Which version of assembly does OllyDbg disassemble binary to?

≯℡__Kan透↙ 提交于 2019-12-13 02:48:25
问题 So I understand that there are many assemblers such as MASM, FASM, NASM, etc. But which version is the disassembler in OllyDbg and Cheat Engine? 回答1: Unless you already know, OllyDBG only supports (afaik) the x86 instruction set. So, what you're seeing will always be 8/16/32-bit instructions. MASM, FASM and NASM are all based on the Intel syntax (as opposed to AT&T version which is primarily used on Unix by GAS), but are in themselves different (feature-wise). OllyDBG disassembles to MASM

Windows下反反调试技术汇总

我们两清 提交于 2019-12-12 18:20:45
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、前言 对于安全研究人员来说,调试过程中经常会碰到反调试技术,原因很简单:调试可以窥视程序的运行“秘密”,而程序作者想要通过反调试手段隐藏他们的“秘密”,普通程序需要防止核心代码被调试逆向,恶意代码需要隐藏自己的恶意行为防止被跟踪。就像病毒和杀软的关系一样,为了顺利的逆向分析,有反调试手段就有对应的破0解方法-反反调试。对此,天融信阿尔法实验室研究人员总结了各类常见反调试手段以及对应的绕过方案,作为总结希望与君共勉。 关于各种反调试手段,网络上和各种安全书籍上都有对应的介绍、各种调试工具插件已经集成了反调试功能,但有的只是介绍了反调试方法,并没有对应的破0解方式,有的反调试手段已经失效。本文并不是研究新的反调试方法,而是对windows平台的反调试技术进行分类总结,并介绍其原理和应对方法。 合理的分类有助于学习和理解各种反调试技术的原理,由于理解不同,分类也不尽相同。当你掌握了这些技术后,可以按照自己的理解重新给它们分类。本文按照静态反调试方法与动态反调试方法将反调试技术分为两大类,其中静态反调试技术的分类原理为:程序启动时,系统会根据正常运行和调试运行分配不同的进程环境,通过检测进程环境来检测进程是否处于调试状态;根据逆向人员的工作环境和程序的正常运行环境不同,可以通过检测调试器或逆向分析工具实现反调试

How can I set a breakpoint for a button click using ollydbg?

前提是你 提交于 2019-12-12 08:01:47
问题 How can I set a breakpoint for a button click using ollydbg? i am trying to disable a button click on game client, so i want to set break point to catch the button click event. is that possible to happen with ollydbg? 回答1: let application make window and buttons then pause it. in ollyDBG 1 : go to view > windows select your button. right click and select Message breakpoint on ClassProc in Messages: select 202 WM LBUTTONUP select Break on all windows with same title select Pause program: On

OllyDbg incorrectly replaces lines with “jmp 71B00000” in Win7x64

谁说我不能喝 提交于 2019-12-11 09:51:31
问题 I had spent a lot of time to find a solution for this problem. As you know OllyDbg is a popular debugger but has a problem on Win7 x64. every file (with different compilers!) that I open with the olly it replace some first lines with: jmp 71B00000 some advices like "comodo sandbox, compatibility" does't work and I don't want to use virtual machine. 回答1: I had the same exact issue and managed to fix it. If you do indeed have comodo firewall installed, you have to uninstall it, reboot, then

Memory map in IDA Pro similar to OllyDbg

此生再无相见时 提交于 2019-12-11 03:29:44
问题 Does IDA Pro have a memory mapping functionality similar to that in OllyDbg? If so, I can't find it. I know there is that skinny bar at the top of the screen showing where you are in the address space and where memory is allocated, but I consider that kind of inadequate. This is what the memory map looks like in OllyDbg: 回答1: Program Segmentation in View > Open Subview > Segments but it doesn't have that detailed information as OllyDbg has. 来源: https://stackoverflow.com/questions/22513863

Execute Till User Code doesn't work

送分小仙女□ 提交于 2019-12-10 18:52:45
问题 I'm trying to use OllyDbg's "Execute Till User Code" feature (which is essential for me) but it never works. I first tried it on a program which called MessageBoxA. When it called it I paused the program in the debugger and issued OllyDbg to execute till user code, but the program was still paused and completely frozen. I couldn't even click the MessageBox's OK button, or even make it continue from OllyDbg. When I tried too hard to make it continue it just crashed. So I decided to write an