精华内容
下载资源
问答
  • OD破解IDA安装文件

    2019-01-16 18:15:38
    破解版ida提取地址。 完整版在知乎,附有视频文件(被和谐了)。 https://zhuanlan.zhihu.com/p/54989609 链接: ... ...相信有很多同行在学习编程的时候,总都会用到od,ida,win...

    破解版ida提取地址。

    完整版在知乎,附有视频文件(被和谐了)。

    https://zhuanlan.zhihu.com/p/54989609

    链接: https://pan.baidu.com/s/1TtTV-5YB8HwcXsEZ1sZSfg 提取码: f1qr 复制这段内容后打开百度网盘手机App,操作更方便哦

     


     

    相信有很多同行在学习编程的时候,总都会用到od,ida,windbg等调试工具,这三款工具都具有强大的调试功能,能帮我们高效快捷地分析代码。虽然大部分调试工具都是免费的,但是ida却不是免费的(当然在各位大佬眼里,用注册码基本上也等于免费了),所以我有一个大胆的想法,能不能利用od来破解ida的安装程序呢?

     

    作为一正在个学习中的cracker,破解程序可以说是日常生活的一部分,有时候也会写一些代码自己debug,但是破解商用程序的案例却好像没有。正好前几天下了一个ida安装程序,我看这个程序logo设计太丑,不如就破解了它吧(没错,本人就是华农的学生)。

     

    我希望的效果是下面这样的,希望看起来程序就像没动过手脚一样(不新增节,不注入dll),但实际上已经完成了破解(就像那种挥一挥衣袖,不带走一片云彩)。

     

    我们希望点击下一步安装的时候可以绕过注册码校验这一步,如下图:

     

     

    老规矩,先上od,然而无法断点,我们f9运行之后,弹窗出来之后f12,并没有出现我们想要的结果,此时程序继续运行,有没有双手挠头的既视感。这样子的结果确实挺皮的,无法下断点还真不好办,只能重新载入“ctrl+f8”单步调试了。单步调试结果如下,还是发现了一些线索。

     

    堆栈图:

    0012FE78   00409A61  /CALL 到 CreateProcessA 来自 idapronw.00409A5C
    0012FE7C   00000000  |ModuleFileName = NULL
    0012FE80   0043255C  |CommandLine = ""C:\Users\zhuhelin\AppData\Local\Temp\is-T5JDE.tmp\idapronw_hexx86w_hexarmw_140604_8e881c7073422b06ad99444a1b085e32.tmp" /SL5="$1301F2,150750097,53248,C:\Users\zhuhelin\Desktop\idapronw_hexx86w_hexarmw_140604_8e881c7073422b06ad9"...
    0012FE84   00000000  |pProcessSecurity = NULL
    0012FE88   00000000  |pThreadSecurity = NULL
    0012FE8C   00000000  |InheritHandles = FALSE
    0012FE90   00000000  |CreationFlags = 0
    0012FE94   00000000  |pEnvironment = NULL
    0012FE98   00000000  |CurrentDir = NULL
    0012FE9C   0012FECC  |pStartupInfo = 0012FECC
    0012FEA0   0012FEBC  \pProcessInfo = 0012FEBC

     

    我们可以发现,安装程序实际上是调用了另外一个进程来进行安装的,而且是调用的临时文件夹的“.tmp”临时文件安装的。那好办,知道了这个,我们直接附加调试不就完了吗。

     

    通过附加调试我们成功绕过了注册码验证,但是问题也来了,实际调用的".tmp"安装文件每次都是在不同的文件夹里面,我们不可能每次安装都手动破解,这样多麻烦。所以如果我们能让安装文件放在固定的文件夹里面,那样不就可以一劳永逸地解决问题了吗?因此,我们只需要把我们修改过的".tmp"文件放在固定的文件夹,修改传给CreateProcessA的参数,把修改过的".tmp"传给CreateProcessA,不就解决问题了吗。

     

    0040AB9C      E8 BF010000   call idapronw.0040AD60           //原地址 call 004099ec
    
    
    
    0040AD60      B8 70AD4000   mov eax,idapronw.0040AD70                ;  ASCII "idapronw_hexx86w_hexarmw_140604_8e881c7073422b06ad99444a1b085e32.tmp"
    0040AD65    ^ E9 82ECFFFF   jmp idapronw.004099EC            //返回原先地址
    0040AD6A      00            db 00
    0040AD6B      00            db 00
    0040AD6C      00            db 00
    0040AD6D      00            db 00
    0040AD6E      00            db 00
    0040AD6F      00            db 00
    0040AD70   .  69 64 61 70 7>ascii "idapronw_hexx86w"
    0040AD80   .  5F 68 65 78 6>ascii "_hexarmw_140604_"
    0040AD90   .  38 65 38 38 3>ascii "8e881c7073422b06"
    0040ADA0   .  61 64 39 39 3>ascii "ad99444a1b085e32"
    0040ADB0   .  2E 74 6D 70 0>ascii ".tmp",0

     

    修改函数调用处的地址,跳转到我们添加的代码的地址,将eax改为我们保存修改后的".tmp"安装文件的地址,再跳转回原地址。只可惜然并卵,并没有任何奇迹发生。所以我猜测在CreateProcessA之前可以有某些函数要对这个地址进行校验,那这次我们直接在CreateProcessA入栈之前修改eax,如下图00409A54:

     

    00409A40  |.  50            push eax                                 ; /pProcessInfo = 0012FEBC
    00409A41  |.  8D45 B8       lea eax,[local.18]                       ; |
    00409A44  |.  50            push eax                                 ; |pStartupInfo = 0012FEBC
    00409A45  |.  6A 00         push 0x0                                 ; |CurrentDir = NULL
    00409A47  |.  6A 00         push 0x0                                 ; |pEnvironment = NULL
    00409A49  |.  6A 00         push 0x0                                 ; |CreationFlags = 0
    00409A4B  |.  6A 00         push 0x0                                 ; |InheritHandles = FALSE
    00409A4D  |.  6A 00         push 0x0                                 ; |pThreadSecurity = NULL
    00409A4F  |.  6A 00         push 0x0                                 ; |pProcessSecurity = NULL
    00409A51  |.  8B45 FC       mov eax,[local.1]                        ; |
    00409A54      B8 60AD4000   mov eax,idapronw.0040AD60 //原指令call 00403414
    00409A59  |.  50            push eax                                 ; |CommandLine = "?@"
    00409A5A  |.  6A 00         push 0x0                                 ; |ModuleFileName = NULL
    00409A5C  |.  E8 7BA9FFFF   call <jmp.&kernel32.CreateProcessA>      ; \CreateProcessA

     

    这次确实有反应了,但是却是这样的,你可以试一下把".tmp"文件的后缀改为".exe",双击后也是这样的。换句话说,通过这样创建的进程并没有和主进程建立通信,这也是一个行不通的方法。

     

     

    到目前为止,通过调用破解过的".tmp"文件这个思路看来是行不通了,主进程和调用进程之间应该存在某种验证方式,所以我们现在只能在CreateProcessA调用之前修改eax(临时文件夹地址)地址中的文件了,也即是之前视频中写入的5个nop。我们目前能够选择修改的方法有三种:其一是远程代码注入(这是一种骚操作,不推荐);其二是dll'注入和apihook(这种也算了,一看就是破解版,咱们的目的是起码要让破解版看起来像是a或,加一个dll这种操作看起来就像掉线头了,所以也不推荐);还剩下一种就是在原先程序领空的基础上手动添加代码修改(也是我用的修改办法)。

     

    在原程序领空的基础上直接修改,你需要有个条件,那就是原程序调用了类似"loadlibrary"或者"GetProcAddress"这类函数,所幸的是该程序两个函数都调用了。

     

    00407043  |.  68 3C714000   push idapronw.0040713C                   ; /ProcNameOrOrdinal = "GetUserDefaultUILanguage"
    00407048  |.  68 58714000   push idapronw.00407158                   ; |/pModule = "kernel32.dll"
    0040704D  |.  E8 0AD4FFFF   call <jmp.&kernel32.GetModuleHandleA>    ; |\GetModuleHandleA
    00407052  |.  50            push eax                                 ; |hModule = 77120000 (gdi32)
    00407053  |.  E8 0CD4FFFF   call <jmp.&kernel32.GetProcAddress>      ; \GetProcAddress
    

     

    我没认真跟踪调用这个函数的原函数时干嘛的,直接修改je指令跳过它了,并不影响程序运行。

     

    0040958C  |.  2C 01         sub al,0x1                               ;  Switch (cases 0..1)
    0040958E  |.  72 04         jb short idapronw.00409594     //修改为 jmp 0040959d,跳过
    00409590  |.  74 0B         je short idapronw.0040959D     //00409594
    00409592  |.  EB 12         jmp short idapronw.004095A6
    00409594  |>  E8 8BDAFFFF   call idapronw.00407024         //该指令跳转至GetProcAddress

     

    回到之前0040ad60处的地址空间,通过winhex我们发现这里有一大片空白空间,所以我们打算把代码写到这一空间(0040ad30-0040ae00),如下:

     

    0040AB9C      E8 BF010000   call idapronw.0040AD32     //首先,还是修改0040ab9c处的跳转命令
    
                        
    0040AD32   $  50            push eax                   //调用 CreateFileA                        
    0040AD33   .  53            push ebx
    0040AD34   .  51            push ecx                                
    0040AD35   .  52            push edx                   //保护现场,后面还要恢复 
    
    0040AD36   .  6A 00         push 0x0
    0040AD38   .  6A 00         push 0x0
    0040AD3A   .  6A 03         push 0x3
    0040AD3C   .  6A 00         push 0x0
    0040AD3E   .  6A 03         push 0x3
    0040AD40   .  68 000000C0   push 0xC0000000
    0040AD45   .  50            push eax                    //CreateFileA参数入栈           
    0040AD46   .  68 5AAD4000   push idapronw.0040AD5A
    0040AD4B   .  68 D0AD4000   push idapronw.0040ADD0                   ;  ASCII "CreateFileA"
    0040AD50   .  68 C0AD4000   push idapronw.0040ADC0                   ;  ASCII "kernel32.dll"
    0040AD55   .^ E9 F3C2FFFF   jmp idapronw.0040704D       //获取CreateFileA地址   
    0040AD5A   .  FFD0          call eax                    //调用CreateFileA            
    0040AD5C   .  50            push eax                    //hfile入栈两次             
    0040AD5D   .  50            push eax                    //后面要用两次             
    
    0040AD5E   .  90            nop
    0040AD5F   .  90            nop
    0040AD60   .  90            nop
    0040AD61   .  90            nop
    0040AD62   .  90            nop
    0040AD63   .  90            nop
    0040AD64   .  90            nop
    0040AD65   .  90            nop
    0040AD66   .  6A 00         push 0x0                     //调用 SetFilePointer 
    0040AD68   .  6A 00         push 0x0
    0040AD6A   .  68 99AF0600   push 0x6AF99
    0040AD6F   .  50            push eax                                 
    0040AD70   .  90            nop
    0040AD71   .  68 85AD4000   push idapronw.0040AD85
    0040AD76   .  68 E0AD4000   push idapronw.0040ADE0                   ;  ASCII "SetFilePointer"
    0040AD7B   .  68 C0AD4000   push idapronw.0040ADC0                   ;  ASCII "kernel32.dll"
    0040AD80   .^ E9 C8C2FFFF   jmp idapronw.0040704D
    0040AD85   .  FFD0          call eax                                 
    0040AD87   .  EB 08         jmp short idapronw.0040AD91
    
    
    
    0040AD91   > \58            pop eax                       //取出之前入栈的hfile           
    0040AD92   .  6A 00         push 0x0
    0040AD94   .  68 80AE4000   push idapronw.0040AE80        //5个0
    0040AD99   .  6A 05         push 0x5
    0040AD9B   .  68 89AD4000   push idapronw.0040AD89        //5个0x90(nop) 
    0040ADA0   .  50            push eax                                 
    0040ADA1   .  68 B5AD4000   push idapronw.0040ADB5
    0040ADA6   .  68 F0AD4000   push idapronw.0040ADF0                   ;  ASCII "WriteFile"
    0040ADAB   .  68 C0AD4000   push idapronw.0040ADC0                   ;  ASCII "kernel32.dll"
    0040ADB0   .^ E9 98C2FFFF   jmp idapronw.0040704D
    0040ADB5      FFD0          call eax                                 ;  call eax
    0040ADB7    ^\E9 9EC2FFFF   jmp idapronw.0040705A          //后面空间是数据区,closehandle函数在  
                                                               //另一个区域
    
    //GetProcAddress处理函数
    00407043      68 24704000   push idapronw.00407024                   ;  ASCII "CloseHandle"
    00407048   .  68 C0AD4000   push idapronw.0040ADC0                   ; /pModule = "kernel32.dll"
    0040704D   >  E8 0AD4FFFF   call <jmp.&kernel32.GetModuleHandleA>    ; |\GetModuleHandleA
    00407052   .  50            push eax                                 ; |hModule = 00000001
    00407053   .  E8 0CD4FFFF   call <jmp.&kernel32.GetProcAddress>      ; \GetProcAddress
    00407058   .  C3            retn
    
    
    0040705A      68 61704000   push idapronw.00407061         //CloseHandle处理函数,因为修改过
    0040705F    ^ EB E2         jmp short idapronw.00407043    //GetProcAddress,不用提前入栈
    00407061      90            nop
    00407062      90            nop
    00407063   .  FFD0          call eax                                 
    00407065   .  5A            pop edx                                 
    00407066   .  59            pop ecx                                  
    00407067   .  5B            pop ebx                            
    00407068   .  58            pop eax                                  
    00407069   .  E9 7E290000   jmp idapronw.004099EC
    
    
    
    数据区
    
    00407024  43 6C 6F 73 65 48 61 6E 64 6C 65 00              CloseHandle.
    
    0040ADC0  6B 65 72 6E 65 6C 33 32 2E 64 6C 6C 00 00 00 00  kernel32.dll....
    0040ADD0  43 72 65 61 74 65 46 69 6C 65 41 00 00 00 00 00  CreateFileA.....
    0040ADE0  53 65 74 46 69 6C 65 50 6F 69 6E 74 65 72 00 00  SetFilePointer..
    0040ADF0  57 72 69 74 65 46 69 6C 65 00 00 00 00 00 00 00  WriteFile.......
    
    

     

    修改完代码之后还要注意一点,那就是修改节属性。

    因为我调用的WriteFile的lpNumberOfBytesWritten地址是0040AE80,这个地址不可写的。

     

    BOOL WriteFile(
    HANDLE  hFile,//文件句柄
    LPCVOID lpBuffer,//数据缓存区指针
    DWORD   nNumberOfBytesToWrite,//你要写的字节数
    LPDWORD lpNumberOfBytesWritten,//用于保存实际写入字节数的存储区域的指针
    LPOVERLAPPED lpOverlapped//OVERLAPPED结构体指针
    );

     

    打开lordpe,PE Editer->Sections->[右键]edit section header,把Flags:60000020H|80000000H,得到E0000020H,让该节(.CODE)可写。

     

     

    保存文件,双击运行,程序完全破解。

    总的来说,这个程序还是挺有意思的,overlay的壳,双进程保护,利用临时文件夹保存安装程序,要破解还是需要点时间的。

    展开全文
  • 吾爱破解OD辅助安装是一款能够帮助各位反编译软件的神器。新版本OD解压之后,能直接使用,需要手动修改一个文件。鉴于有些朋友并不会去修改这个文件,小编今天就为大家带来懒人软件。希望软件能够帮助到大家,有...
  • OD 简介

    千次阅读 2018-09-15 18:35:53
    1) OD安装   OD是以zip压缩包的形式发布的,比如 odbg110.zip 或,odbg200.zip把zip解压到任意目录,然后运行解压目录下  的OLLYDBG.EXE即可。 2) OD 的窗口  打开或附加到程序后,OD会打开多个子窗口,...

    1) OD的安装 
          OD是以zip压缩包的形式发布的,比如 odbg110.zip 或,odbg200.zip把zip解压到任意目录,然后运行解压目录下
          的OLLYDBG.EXE即可。

    2) OD 的窗口
           打开或附加到程序后,OD会打开多个子窗口,但是CPU窗口是最大化显示的,把其它窗口隐藏了,要查看其它窗
           口,要么单击窗口切换面板上的图标。

    3)窗口切换面板上图标与窗口的对应关系:
          l: Log data 窗口            e: Executable modules 窗口              m:Memory map 窗口              t:Threads 窗口
          w:Windows窗口            h: Handles 窗口                                 c:CPU 窗口                             p:Patches 窗口   
          k: Call stack窗口           b: Breakpoints窗口                            r:References 窗口                   s: Source 窗口
          ...:Run trace 窗口
    4)窗口的外观:
          各个窗口的外观都是在其右键菜单里的 “Appearance” 中控制的,如是否显示标题栏、字体、颜色。

    5)CPU窗口:
          CPU窗口是OD中最重要的窗口,调试程序时的绝大部分操作都是在这个窗口中进行的。
          CPU窗口包括5个面板窗口:反汇编面板、寄存器面板、消息面板、数据面板 及 堆栈面板。
         5.1 反汇编面板(Disassembler Windows)窗口:
                5.1.1 反汇编面板有4列: Address 、Hex dump、Disassembly 及 comment。
                5.1.2 反汇编面板各列的功能:
                         5.1.2.1 Address列:显示程序的虚拟地址。
                         5.1.2.2 Hex Dump列:显示该地址处的机器指令。
                         5.1.2.3 Disassembly列:显示改地址处汇编指令。
                         5.1.2.4 comment列显示相关API参数或运行简表。
                5.1.3 反汇编面板的双击操作:
                         5.1.3.1 Address列:双击该列,显示相对于被双击地址的地址,再双击,显示标准地址。
                         5.1.3.2 Hex dump列: 双击该列设置无条件断点,再双击取消设置的断点 (对应的快捷键是F2)。
                         5.1.3.3 Disassemly列:双击该列调用汇编器修改改行代码(对应的快捷键是空格键)。
                         5.1.3.4 Comment列: 双击该列可以添加或编辑注释(对应的快捷键是分号键)。
               5.1.4 反汇编面板上选择多行:
                         5.1.4.1 Shift 键 + 上下箭头键
                         5.1.4.2 Shift 键 + Page Up 或 Page Down键
               5.1.5 隐藏列:
                       Ctrl 键 + 右箭头
                5.1.6 按字节单位上下移动反汇编窗口
                       Ctrl 键 + 上下箭头
           5.2 信息面板(Information Window)窗口:
                 显示所选指令相关的寄存器的值,挑战提示,API函数调用提示信息。
           5.3 数据面板(Dump windows)窗口:
                 5.3.1 由三列构成:地址列,HEX数据列,ASCII列。
                          5.3.1.1 地址列: 显示程序的虚拟地址。
                          5.3.1.2 HEX数据:显示以该地址为起始的以16进制显示的16字节的数据。
                          5.3.1.3  ASCII列: 显示以该地址为起始的 16字节数据的ASCII表示。
                  5.3.2 在数据面板窗口中显示指定地址处的数据:
                        Ctrl 键 + G  或  右键菜单 “Go to expression” 打开地址输入窗口后输入地址即可。
           5.4 寄存器面板窗口(Register window)
                  5.4.1 显示CPU各寄存器的值:可以显示浮点、MMX、3DNow及调试寄存器的值。
                  5.4.2 单击标题栏可以在 浮点、MMX、3DNow之间切换。
                  5.4.3 右键 “查看调试寄存器” 可以查看调试寄存器
           5.5 的面板窗口(Stack window)
                5.5.1 显示堆栈的内容,即ESP指向地址处的内容。
                5.5.2 可以显示函数局部变量、函数调用实参。
     

      
                   
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     




     

              
               

     

     

          

    展开全文
  • OD寄存器高亮插件

    2019-09-28 11:45:40
    高亮插件找数据,回溯代码等都很方便。复制到 PLUGIN 文件夹中,OD自动完成安装。有些OD不支持,会奔溃,换些OD就好了。
  • 简单的chrome插件可阻止4od上的广告。 截至2015年10月26日工作。 安装说明 下载adb​​locker.crx文件 在chrome中,打开扩展程序页面(通过菜单->更多工具->扩展程序),或在网址栏中输入chrome:// extensions 将...
  • Linux od命令

    千次阅读 2019-02-19 20:09:49
    Linux od命令

    od命令用于按指定格式输出文件内容。

    基本语法

    od [option]… [file]…

    od [-abcdfilosx]… [file] [[+]offset[.][b]]

    od [option]… --traditional [file] [[+]offset[.][b] [[+]label[.][b]]]

    选项

    -A radix,--address-radix=radix:以radix进制打印文件的偏移量,radix可选的值有:d(十进制)、o(八进制)、x(十六进制)、n(不打印偏移量),默认为八进制。

    -j BYTES, --skip-bytes=BYTES:在格式化和写入之间跳过输入开头的BYTES字节。如果BYTES以“0x”或“0X”开头,则为十六进制,如果以“0”开头则为八进制,否则为十进制。BYTES可以是整数,也可以是整数后面跟着单位,或者只加有单位时表示对应的大小:b(512)、KB(1000)、K(1024)、MB(1000*1000)、M(1024*1024)、G、T、P、E、Z、Y等同理。除b外,其余必须为大写。

    -N BYTES,--read-bytes=BYTES:最多输出BYTES字节的输入。BYTES值与-j选项相同。

    -S TYPE,--strings[=BYTES]:

    -t TYPE,--format=TYPE:要输出文件数据的格式。如一个TYPE中包含多个类型指示符,或者多次使用此选项,od会按定义的顺序使用指定的类型为每行输出创建副本。在任何类型指示符后面尾随“z”都会将可打印字符的单字节字符表示形式追加到由类型规范生成的输出行后面。type可选的值有:a(命名字符,忽略高位)、c(可打印的单字节字符,C反斜杠转义或3位八进制序列)、d(有符号十进制数)、f(浮点数)、o(八进制数)、u(无符号十进制数)、x(十六进制数)。除了a和c以外,可以在类型指示符后面跟随一个十进制数字来指定按类型解析数字时使用多少字节。或者通过跟随C编译器的内置数据类型来指定大小。对于整型d、o、u、x可跟随:C(char)、S(short)、I(int)、L(long),对于浮点型f可跟随:F(float)、D(double)、L(long double)。通过内置数据类型指定字节大小时需要注意数据类型在32位与64位系统上的区别。

    -v,--output-duplicates:输出相同的连续行。默认情况下,当两个或多个连续输出行相同时,od只输出第一行,并在下一行中添加星号以指示省略。

    -w[n],--width[=n]:每个输出行输出n个字节。必须是指定输出类型的大小的整数倍。如果没有提供此选项,则默认值为16。如果省略n,默认值是32。

    --traditional:接受第三种传统od接受的非选项标签参数。可以指定最多一个文件file,指定偏移量的参数offset和伪地址label。label的解析与offset一样,只不过label指定的是起始的伪地址。伪地址显示在普通地址的后面,用括号包围起来。

    --help:打印帮助信息。

    --version:打印版本信息。

    --endian=order:对输入字节进行重新排序,以处理具有不同字节顺序的输入,或提供与当前系统的字节序约定无关的一致输出。交换是根据指定的类型大小和字节序执行的。order可选值有little和big。此选项不是所有版本的od命令都支持使用时需注意。

    当命令同时满足前两种格式,且操作数不超过两个时,如果od最后面是“+”开头的操作数或者有两到个操作数时最后一个是数字,则假定为第二种格式,即最后一个操作数解析为偏移量。当操作数超过2个时,都会解析为偏移量,偏移量默认为八进制的。如果是以0x或0X开头则按十六进制解析偏移量。如果偏移量后面跟随字符b,则会在前面数字的基础上乘以512为最终的偏移量。

    od -a t.sh +20#两个操作数,最后一个+开头,20解析为偏移量
    od -a t.sh 20#两个操作数,最后为数字,20解析为偏移量
    od t.sh +20#两个操作数,最后一个+开头,20解析为偏移量
    od t.sh 20#两个操作数,最后为数字,20解析为偏移量
    od +20#只有一个操作数,且是+开头,20解析为偏移量
    od 20#只有一个操作数,虽然最后为数字,但20解析为文件名
    od a.sh t.sh 20#三个操作数,20解析为文件名
    od a.sh t.sh +20#三个操作数,+20解析为文件名

    以下选项是格式规范的缩写,od接受任何格式规范选项和缩写的组合,这些选项是累积的。

    缩写格式规范说明
    -a-t a输出命名字符。
    -b-t o1输出八进制字节。
    -c-t c输出可打印的单字节字符,C反斜杠转义或3位八进制序列。
    -d-t u2输出无符号十进制数(双字节)。
    -f-t fF输出浮点型。
    -i-t dI(大写I)输出十进制整数。
    -l-t dL输出十进制长整型。
    -o-t o2输出八进制字节(双字节)。
    -s-t d2输出十进制数(双字节)。
    -x-t x2输出十六进制数(双字节)。

     

    展开全文
  • OD自带脱壳脚本

    2018-07-04 22:54:14
    是反汇编工作的常用工具,OD附带了118脱壳脚本和各种插件,功能非常强大,基本上不需要再附加安装其它插件了。
  • OD 汉化版

    2013-03-15 09:28:54
    OD 汉化版
  • OD的插件

    千次阅读 2018-09-25 23:18:24
    1. OD默认只能加载32个插件。 2. OD的插件之间可能会有冲突。因此建议插件目录下仅放置常用的插件。 3. 命令行插件  3.1 打开插件: 单击菜单“Plugins/command line/command line”。  3.2 命令行插件的命令很多...

    1. OD默认只能加载32个插件。
    2. OD的插件之间可能会有冲突。因此建议插件目录下仅放置常用的插件。
    3. 命令行插件
        3.1 打开插件: 单击菜单“Plugins/command line/command line”。
        3.2 命令行插件的命令很多,详细命令可参阅其自带的帮助文档。
        3.3 常用命令:          

    命令功能
    ? 表达式计算表达式的值,比如: ?  123 * 2 + 4
    D ( DB / DW / DD ) 表达式显示内存数据,比如:D 400000 / D esp+8
    BP 表达式 【,条件】设置断点,比如:bp MessageBoxW
    Hw 表达式设置硬件写断点


    4. 插件的开发
        需要到其官方网站上下载Plugin Development Kit 1.10

     

    展开全文
  • 易语言OD剥离进程源码,OD剥离进程,init,开启,关闭,剥离进程,NewDebugActiveProcess,修改为C调用方式,动态调用子程序____,CALL,取变量数据地址_文本型,安装,继续,暂停,取地址,卸载
  • 4OD在Android M无法播放某些视频

    千次阅读 2016-07-26 17:22:35
    channel4的官网是:http://www.channel4.com/问题现象某些M版本的手机刚安装上这个应用,打开的时候会出现如下提示: 或者进入以后,点击某个具体的视频播放的时候出现: 看提示貌似是应用本身的问题,但我们也需要找出
  • OD-Search建立搜索查询,以查找Internet的文件。 只需选择一个预设(例如视频,文档,音频文件等),然后输入搜索词即可。 安装 Firefox: 关于该项目 为什么选择OD搜索而不是众多网站之一: 没有像CDN这样的...
  • OD使用

    2013-03-16 14:24:37
    友好的gui界面,像softice.可以边干活边听歌,像softice,把整个os都挂起了.多用两次,连时间都知道了.  3.强大的内存查看功能,再不用什么-d了,而且跳转方便,爽!一目了然.  4.强大的右键菜单功能  菜单:  ...
  • OD载入程序就自动退出是比较恼人的,还没开始调试呢就退出了,这可让人如何是好。不过初学破解的人一定会遇到这个问题。网上虽然有零星的介绍但都全面,以下是我总结的一些,希望能对各位初学者有所帮助。 (比如...
  • OD使用方法

    千次阅读 2013-12-06 17:12:21
    零基础自学逆向分析破解,好多东西懂,一... 一:od断点注释保存的问题,由于od只有在正常退出的情况下才会保存分析代码时留下的注释,而很多时候为了在退出od让目标程序退出使用了剥离进程,这样就会导致这次操
  • OllyICE,od

    2011-03-20 13:52:07
    OllyDbg根本需要安装,可直接在软盘中运行! 调试DLLs: 您可以利用OllyDbg调试标准动态链接库 (DLLs)。OllyDbg 会自动运行一个可执行程序。这个程序会加载链接库,并允许您调用链接库的输出函数。 源码级调试...
  • Od软件破解

    千次阅读 2018-03-02 13:11:43
    按 F7 单步步入开始跟踪注册算法   2  来到 004D8300 后进行 F8 单步调试,当程序运行到 004D832B 时出现了一个 cmp 指令进行比较,然后一个 jne 跳转,一般遇到这样的比较,后面接跳转的地方要特别注意,因为这...
  • OD的断点设置

    千次阅读 2018-09-25 23:03:53
    OD 常用的断点有: INT3断点,硬件断点,内存断点,消息断点,条件断点。 一. INT3断点  1. 在CPU窗口,按F2 或 双击 “ Hex dump”列设置一个INT3断点,再次按F2或双击 “Hex dump”则取消已经设置的 INT3断点。...
  • OD常见问题

    千次阅读 2015-04-16 20:31:51
    Q: OD中如何运行到光标所在处? A: 将光标移到目标位置,按F4. Q: 如何用OD修改可执行程序? A:直接在反汇编代码区更改,这时可以使用汇编代码更改,然后选中修改后的汇编代码,右击-->复制到可执行文件-->...
  • OD加载dll

    2018-11-20 12:32:00
    1.OD有loaddll.exe的功能,可以帮我们直接定位到dllmain函数 我们需要将其他硬件断点直接关闭,然后F9运行程序 在 然后在dll中可以看函数名称及其导出调用 转载于:...
  • od-源码

    2021-02-13 18:48:47
    youtube-dl必须在计算机本地安装 ##有用的方法...如果您需要单独使用任何导入步骤。 Video.import_channel(channel_id) Video.match_dancers Video.match_songs Video.get_channel_video_ids(channel_id)
  • 浅谈逆向-从案例谈OD的使用从TraceMe谈OD基本操作准备工作加载目标文件进行调试单步追踪 从TraceMe谈OD基本操作 案例来自加密与解密第四版 附上下载链接 传送门: 链接: ...
  • 重新安装应用程序可能会纠正这个问题。” 此md5为QQ浏览器带有效数字签名的文件,说明是正常文件,但直接运行时,显示配置正确。用OD直接无法加载。 明明是好的PE文件,为什么OD无法加载?直接用WinDBG加载...
  • OD插件详解

    2013-05-30 12:26:00
    AnalyzeThis 分析代码相关 类似于ctrl+A 分析外被调试程序的代码段中的代码 bookmark 代码注释相关据说有群体注释功能 ... 命令行插件 已被StrongOD代替的命令行代替 HideOd 隐藏OD的插件 被多个插件代替 LCB 可...
  • 初识逆向工具od

    千次阅读 2018-10-20 13:28:00
    ida和od兼并静态和动态的调试方式,但是就静态而言ida更加的强大,而动态调试的工具自然是od更为灵活和强大。 od软件,界面打开如图: 软件窗口可以分为12个小窗口: 1.汇编代码对应的地址窗口 2.汇编代码对应...
  • OD之常用命令

    2014-07-24 19:17:00
    一:od断点注释保存的问题,由于od只有在正常退出的情况下才会保存分析代码时留下的注释,而很多时候为了在退出od让目标程序退出使用了剥离进程,这样就会导致这次操作所有的注释都没有保存,第二次重新载入时候...
  • 此脚本已损坏,不再有效! 不要浪费你的时间使用它:) 4od-dl 用于从 4od 下载、转换和标记内容的 Ruby 脚本。...它还使用您必须安装的以下 gem(我最终会整理出一个 Gemfile): 记录器 冬虫夏草 地
  • RadAsm + OD 搭配编写和调试汇编程序

    千次阅读 2017-01-22 18:34:22
    RadAsm 是一个强大的汇编集成环境,OllyDebug 是动态反汇编的神器,这两个东西结合起来是编写调试汇编、学习汇编的大...2、在 「Debug」一栏,填写 OD 的绝对安装路径 3、去到 OD安装路径下,查看 OD 的可
  • linux之od命令

    2019-01-08 09:19:50
    od [OPTION]... [FILE]...  把文件用8进制或者其他的格式显示出来。通常用于查看特殊格式文件的内容。    这个命令默认把文件的内容用八进制的形式清晰地写在标准输出。如果是多个文件,那么会把文件合并...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,370
精华内容 5,348
关键字:

od安装不上