大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网络安全 -> 防范措施 -> ollydbg1.08b教学篇

ollydbg1.08b教学篇

时间: 2021-07-31 作者:daque

ollydbg是个功效宏大的软硬件,往日我也不必他(不风气),并且很多典范教程都是用trw和softice动作示例东西写的. 入门者(注:和我一律的人)常常一发端就交战那些东西,做熟习也就用那些东西!不妨说仍旧上手了! 对ollydbg的动静调节和测试功效也就生疏了! 此刻一个很实际的题目让我变换了风气,我的键盘鼠标是usb的,表露器也给我抵制!trw和softice都用不可! 无可奈何只勤学用ollydbg.创造这个货色简直太好了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *动静调节和测试的功夫还能听歌谈天泡mm(trw,softice只能对黑屏) *调节和测试简单,又有因变量参考,不妨随便加解释,轻快复制,领会看到仓库的变革^^^^^^^ *界面幽美,不妨随便树立后台脸色! *有宏大的右键功效,运用起来更加简单!(更加符合老翁小孩运用~~~~) *说不出来了~~~其余的便宜你本人去暴露吧!!! 我是一只大菜鸟,交战破没多长功夫,脑筋也不如何灵光,程度低得不幸,说的不对的场合请能手教正!!! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ollydbg简介~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 此刻就让我这只菜鸟给菜鸟们引见一下: 1*处事界面:(咱们从上往下看) 看到题目栏,菜单栏和东西栏(不必让我做动词证明了吧!)   记取:东西栏的一切功效都能在菜单栏里找到,东西栏是菜单栏的赶快按钮(空话!)     各项精细功效咱们在底下说!   再往下看有四个窗口她们是代码窗(左上),存放器窗口(右上),外存窗口(左下)和仓库窗口(右下) 2*菜单栏各项吩咐功效 *文献(f)----那些吩咐用说吗?         |____提防**该菜单的下部有你上回翻开的记录,该记录生存有你上回未废除的断点**提防** *察看(v)------这个菜单我只引见一下我常用的,其余我不会!:-)         |____实行模块(赶快键alt+e):察看该步调运用的动静贯穿库(我的领会)         |                |____断点(赶快键alt+b):这个是察看你一切的断点,(偶尔本人设到何处都忘了,不妨看一下)起到一个扶助功效.         我就会这么多!:-( *调节和测试(d)-------这个菜单是要害,不领会你就别调节和测试软硬件了!也只说常用的!         |_______运转(f9)加载步调后,运转!         |          |_______休憩(f12)         |         |_______单步加入(f7)不期而遇call就进!加入该子程!行话:"跟进去"         |         |______单步跳过(f8)不期而遇call不进去!不去管子程的里面!第一次粗跟的功夫常用!         |         |______实行到归来(alt+f9)即是实行到该子程的归来语句! 剩下的菜单不要害~我也不费辱骂了~~~我是"世界第一懒"(乾隆天子赐给我的名号) 领会这么多就能动工了~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~范例领会~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 目的:flashpt 2.1 build 3067 破译人:winroot 东西:peid,w32dasm,aspackdie,ollydbg 手段:一篇ollydbg的教程,软硬件对立大略! 载入地方:http://www.softreg.com.cn/shareware_view.asp?id=/4c7e305e-226a-43b9-98d2-be0410d46806/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~破译进程~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 破译进程: 该软硬件安置后有3各组件随意备案哪一个都一律. 我采用flash变换解密 1*peid查壳,aspack 2.12 -> alexey solodovnikov 2*运用aspackdie脱壳.脱壳后文献名为unpacked.exe 3*运用w32dasm反编写翻译举行静态领会!   加载unpacked.exe-->反编写翻译-->订餐单栏的"参考"采用字符串数据参考 找到"备案码缺点,请从新输出!"双击咱们到达 * referenced by a (u)nconditional or (c)onditional jump at address: |:004d1174(c) |  ~~~~~~~~~~~~~~~~~~~~是从这边跳过来的,咱们就到这边看看 :004d120d 6a00                    push 00000000 * possible stringdata ref from code obj ->"提醒"                                   | :004d120f b974124d00              mov ecx, 004d1274 * possible stringdata ref from code obj ->"备案码缺点,请从新输出!" #######################咱们到达了004d1174############################# :004d116b 8b55e4                  mov edx, dword ptr [ebp-1c] :004d116e 58                      pop eax :004d116f e8c42cf3ff              call 00403e38 :004d1174 0f8593000000            jne 004d120d                看到了吧!即是从这边咱们走向了牺牲! ~~~~~~~~~~~~~~~~~~~~~~            ~~~~~~~~~~~~ :004d117a b201                    mov dl, 01 :004d117c a1dcca4400              mov eax, dword ptr [0044cadc] :004d1181 e856baf7ff              call 0044cbdc :004d1186 8bd8                    mov ebx, eax :004d1188 ba02000080              mov edx, 80000002 :004d118d 8bc3                    mov eax, ebx :004d118f e8e8baf7ff              call 0044cc7c :004d1194 b101                    mov cl, 01 * possible stringdata ref from code obj ->"software\microsoft\windows\currentversion\chan"                                         ->"gid"                                   | :004d1196 ba98124d00              mov edx, 004d1298 :004d119b 8bc3                    mov eax, ebx :004d119d e83ebbf7ff              call 0044cce0 :004d11a2 84c0                    test al, al :004d11a4 745e                    je 004d1204 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~简略局部代码 * possible stringdata ref from code obj ->"提醒"                                   | :004d11e2 b974124d00              mov ecx, 004d1274 * possible stringdata ref from code obj ->"备案胜利!感谢您运用本软硬件! 步调须要从新启用" ~~~~~~~~~~~~~~~~~~~~~~~~~~*****爆破******~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 爆破即是爆着破:-) 看一下咱们的领会: :004d1174 0f8593000000            jne 004d120d                看到了吧!即是从这边咱们走向了牺牲! 那咱们就不走这边了!他jne咱们就改成je *动工!!!!!!!!!!! *开始,运转ollydbg加载脱壳后的unpacked.exe找到地方004d1174 004d1174    0f85 93000000  jnz unpacked.004d120d 咦!!!!!!!如何形成jnz了?(我也不领会干什么)但他与爆破无干!咱们把他改成jz就能起到一律的功效 1)咱们双击这边: jnz unpacked.004d120d是变换它的汇编代码___________________注{ 2)咱们把他改成jz 004d120d 点汇编后,他就变红了 再点废除!                    { 3)而后右键单击jz 004d120d采用"复制到可实行文献"                            {双击地方栏是一致地方和对立地方的变换 4)这时候弹出一个窗口最上头即是000d1174  0f84 93000000    je 000d120d        { 比方:咱们双击004d1174 就会形成$ ==> 咱们再右键单击je 000d120d采用"生存文献"                                    { 双击呆板码栏即是设这个地方为断点 5)输出你构想的文献名就不妨了                                                {比方:双击0f85 93000000咱们不妨看到变红了 6)运转,呵呵!!已备案!                                                        {证明咱们仍旧把004d1174树立为断点再双击就回复                                               ~~~~~~~~~~~~~~~~~~~~~~~~~***爆破中断***~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 过程上头的进程 即使你感触然而瘾就到备案表hkey_local_machine\software\microsoft\windows\currentversion\changid 简略该键的键值(即使已备案没备案就不必了) 咱们连接这次咱们要动静领会了~~ ################################动静领会################################### 动静领会的基础即是静态领会,咱们回过甚看一下静态领会的截止 :004d116b 8b55e4                  mov edx, dword ptr [ebp-1c] :004d116e 58                      pop eax :004d116f e8c42cf3ff              call 00403e38        //这个是比拟的call :004d1174 0f8593000000            jne 004d120d 那么咱们就在004d116b树立断点吧~~~ f2大概双击呆板码栏树立断点---f9(运转)--输出用户名winroot,获得id,id号子4835812338,点击备案, 步调被ollydbg阻挡, 乖乖~~ 你猜咱们瞥见了什么!!!!一串数字耶!!!3230027325再往右下看仓库窗口一条龙id号子4835812338,一条龙3230027325 你看他那张脸,长得都像备案码~~~ 退出来试一下~~~你快看我的脸  :-) 呵呵~~~~胜利~~~ 外存备案机你就本人作吧~锤炼一下! ################################################################## 破的还然而瘾~~~~~~~~!!! 如何办? crack的计划即是创造出keygen 底下咱们就来试一下, 开始还的领会~~经过上头的动静领会咱们领会序列号的天生确定在004d116b上头的某一段步调, ~怎样决定惟有盯梢,看备案码最新一次是在哪个场合展示! 以是咱们再进取看的功夫创造了一个轮回!特殊疑惑,下断点盯梢! (ollydbg会把轮回标出来!) 004d10ea  |. c745 f0 000000>mov dword ptr ss:[ebp-10],0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~f2大概双击呆板码栏树立断点- --f9(运转)--输出用户名winroot,获得id,id号子4835812338,点击备案,步调被ollydbg阻挡. 咱们按f8(单步跳过)一下一下乡实行,提防查看存放器和仓库的变革!! 004d10f1  |. c745 f4 000000>mov dword ptr ss:[ebp-c],0 004d10f8  |. 8b45 fc        mov eax,dword ptr ss:[ebp-4] 004d10fb  |. e8 282cf3ff    call unpacked.00403d28 004d1100  |. 8bf0          mov esi,eax 004d1102  |. 85f6          test esi,esi 004d1104  |. 7e 2d          jle short unpacked.004d1133 004d1106  |. bb 01000000    mov ebx,1                  //计数器 004d110b  |> 8b45 fc        /mov eax,dword ptr ss:[ebp-4]//取id字符串 004d110e  |. 807c18 ff 00  |cmp byte ptr ds:[eax+ebx-1],0 004d1113  |. 74 1a          |je short unpacked.004d112f  //是零就跳! 004d1115  |. 8b45 fc        |mov eax,dword ptr ss:[ebp-4]//eax=str 004d1118  |. 8a4418 ff      |mov al,byte ptr ds:[eax+ebx-1]//al=str[ebx-1] 004d111c  |. 25 ff000000    |and eax,0ff 004d1121  |. 33d2          |xor edx,edx 004d1123  |. 0345 f0        |add eax,dword ptr ss:[ebp-10]//和第一次的值相加 004d1126  |. 1355 f4        |adc edx,dword ptr ss:[ebp-c] 004d1129  |. 8945 f0        |mov dword ptr ss:[ebp-10],eax//存进去 004d112c  |. 8955 f4        |mov dword ptr ss:[ebp-c],edx 004d112f  |> 43            |inc ebx//计数器加1 004d1130  |. 4e            |dec esi 004d1131  |.^75 d8          \jnz short unpacked.004d110b//轮回取累加和 004d1133  |> 6a 00          push 0                    004d1135  |. 68 f1e05d00    push 5de0f1                  //入栈 004d113a  |. 8b45 f0        mov eax,dword ptr ss:[ebp-10]//取序列号的累加和 004d113d  |. 8b55 f4        mov edx,dword ptr ss:[ebp-c] 004d1140  |. e8 874ff3ff    call unpacked.004060cc        //累加和*0x5de0f1 004d1145  |. 8945 f0        mov dword ptr ss:[ebp-10],eax 004d1148  |. 8955 f4        mov dword ptr ss:[ebp-c],edx 004d114b  |. 8d55 e8        lea edx,dword ptr ss:[ebp-18] 004d114e  |. 8b87 f8020000  mov eax,dword ptr ds:[edi+2f8] 004d1154  |. e8 b7d3fbff    call unpacked.0048e510        //形成10进制--真序列号 004d1159  |. 8b45 e8        mov eax,dword ptr ss:[ebp-18] //取假序列号的字符串 004d115c  |. 50            push eax 004d115d  |. ff75 f4        push dword ptr ss:[ebp-c]                 /arg2;归来值 004d1160  |. ff75 f0        push dword ptr ss:[ebp-10]               |arg1;序列号 004d1163  |. 8d45 e4        lea eax,dword ptr ss:[ebp-1c]             | 004d1166  |. e8 0574f3ff    call unpacked.00408570                   \unpacked.00408570 004d116b  |. 8b55 e4        mov edx,dword ptr ss:[ebp-1c] 004d116e  |. 58            pop eax 004d116f  |. e8 c42cf3ff    call unpacked.00403e38//比拟 004d1174  |. 0f85 93000000  jnz unpacked.004d120d//跳堕落误 提防:一切的解释都是你盯梢此后按照存放器和仓库的变革得出的!也不是在一次盯梢中得出的,是盯梢了屡次后得出的论断! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 论断:咱们不妨看出序列号是如许爆发的,id的每一位的ascii值的累加和再和0x5de0f1相加得出的值变化为10进制产生序列号~~ 以是 name:winroot id:4835812338 ser=[(0x34+0x38+0x33+0x35+0x38+0x31+0x32+0x33+0x33+0x38)*0x5de0f1]  =[c0864e3d]  =[3230027325]                                                                   16          16            10 大略吧~~ 蓄意咱们菜鸟群能出几个能手~~能写出来最佳的教程,不像我如许~~延迟他人~ 菜鸟心得: crack是门操纵性很大的常识,以是确定要发端, 看到好的作品确定要试一下本人就会有更深一步的领会,不要看到旁人写过了就不去破了. 进修来不得半点荒谬!ollydbg适用本领六则1、让跳转路途表露出来     翻开options\debugging option。弹出debugging option对话框,采用cpu页,选定 “show direction to jumps”、“show jump path”和“show grayed path if jump is not taken”。如许此后在disassembler窗口就会表露跳转的路途了。 2、让od表露mfc42.dll中的因变量     即使步调是用mfc举行的动静编写翻译,那么在od中将只能表露mfc42.dll中的因变量为: 00410e40  |.  e8 43000000  call    <jmp.&mfc42.#1576> 1576是因变量在mfc42.dll中的序号。翻开debug\select import libraries,单击弹出的对话 框中“add”,在弹出的翻开文献对话框中采用“mfc42.lib”并翻开,从新载入mfc步调, 你就不妨瞥见因变量称呼变为: 00410e40  |.  e8 43000000  call    <jmp.&mfc42.#1576_?afxwinmain@@y> ida中领会出了来的货色一律了!呵呵,此后不必等候ida的“细嚼慢咽”也不妨轻快搞定 mfc步调了。其余的dll一致,即使无序号,不妨在vc的lib目次中找到关系的.lib文献,加 到od中便可。即使你没有“mfc42.dll”,你不妨的到新乒坛的载入区找,我仍旧上传到那 里了。 3、让od轻快躲过“anti-debug”     很多“anti-debug”的步调都是在步调发端时来查看能否安置调节和测试器的。用这种个性我 们不妨轻快的用od的“attach”绕过查看局部。如“x谈话”,即使你哟内trw2k/s-ice/od 径直加载它的话,步调回劝告你安置了调节和测试器并中断。然而咱们在“x谈话”打开后再运转 od,并用“attach”系上它就就不妨了,轻快经过查看。并且在od系上它后仍旧不妨用 ctrl+a举行领会。如许一来,快哉!:) 4、轻快周旋挪用“messageboxa”以及一致的模态对话框的步调     很多人都觉得od不好阻挡“messageboxa”这类api因变量。本来咱们有个很大略的方法将 api阻挡下来,而且赶快找到比拟场所/主算法场所。开始用od加载目的步调,即使不许加载, 用上头的本领“attach”目的步调。而后,f9运转目的步调,而且蓄意让目的步调表露“ messagebox”,而后切换到od中,f12休憩,如 0041201f  |>  53            push    ebx                     /style 00412020  |.  57            push    edi                     |title 00412021  |.  ff75 08      push    [arg.1]                 |text 00412024  |.  ff75 f4      push    [local.3]               |howner 00412027  |.  ff15 a8534100 call    dword ptr ds:[4153a8]   \messageboxa 0041202d  |.  85f6          test    esi, esi               停在此处 0041202f  |.  8bf8          mov    edi, eax 00412031  |.  74 05        je      short 1551-cra.00412038 f8单步一下,切换到“messagebox”中,确认,被od阻碍。咱们不妨瞥见上头的代码41201f 处有一个“〉”,证明不妨从某段代码跳转到此处,咱们采用41201f这一条龙,在 “information”栏瞥见一句“jump from 412003”,右键单击,采用“go to jump from 412003”。回到412003,普遍都是前提跳转,上头的实质即是比拟的场合啦。:) 5、运用od的track功效     od具有宏大的track功效,在领会算法时格外有效。开始咱们要设定od的track缓冲区大 小,采用option\debugging option,在弹出的对话框中采用track页, “size of run track buffer(byte/record)”,缓冲区巨细,固然约大概好。其余的树立 在我往日的ollydbg.ini中都仍旧树立好了。而后,打开目的步调,在debug中采用“open or clear run track”。而后咱们就不妨用ctrl+f11或ctrl+f12打开“track into”和“ track over”了。当咱们休憩步调的功夫,不妨用小键盘上的“+”,“-”,“*”来遏制 track功效了。 “track into”和运转一致,然而记载一切训令以及存放器变革。而且会机动加入一切的 call中。 “track over”和“track into”一致,然而不加入call “+”用来表露track缓冲区中的下一条训令 “-”用来表露track缓冲区中的上一条训令 “*”用来发归来暂时训令 6、不是本领的本领     当你遇到花训令的功夫确定会很头痛。然而即使你用od举行领会的功夫就会轻快得多。 od会机动标识出失效训令,即花训令。即使od没有精确辨别,你还不妨用ctrl+↑/↓来单个 字节的挪动。不妨很灵验的辨别出花训令的地方。 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.