<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[ツH.Y.Fづ]]></title>
<description><![CDATA[←◆◇临 界 空 间◇◆→]]></description>
<link>http://200708336.qzone.qq.com</link>
<lastBuildDate>Sat, 28 Nov 2009 13:26:33 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Mon, 10 Mar 2008 02:50:56 GMT</pubDate>

<item>
<title><![CDATA[Armadillo加壳版本号和保护方式的简单判断方法]]></title>
<link>http://200708336.qzone.qq.com/blog/1205117456</link>
<description><![CDATA[<span style="font-weight:bold"><wbr /><span style="color:#ff0000;font-size:16px;font-family:'新宋体';line-height:1.8em;">一、Armadillo V3.X 的判断可以使用Armadillo Exact Version Location Tutorial</span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="line-height:1.8em;"><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />看雪论坛精华6</span><wbr /><br><span style="line-height:1.8em;">标 题:[转载]快速判断Armadillo壳版本 </span><wbr /><br><span style="line-height:1.8em;">发信人:yesky1 </span><wbr /><br><span style="line-height:1.8em;">时 间:2004-08-24,10:32</span><wbr /><br><span style="line-height:1.8em;">详细信息: </span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="line-height:1.8em;">偶尔看到的，试了一下，感觉比较好用</span><wbr /><br><span style="line-height:1.8em;">大概是这样：</span><wbr /><br><span style="line-height:1.8em;">设断点 CreateThread 或者SetProcessWorkingSetSize</span><wbr /><br><span style="line-height:1.8em;">停下来后，Ctrl+F9返回，</span><wbr /><br><span style="line-height:1.8em;">然后右键 Search for -- All Referenced text strings</span><wbr /><br><span style="line-height:1.8em;">到text reference窗口，右键 Search for text</span><wbr /><br><span style="line-height:1.8em;">选中Entire scope搜索字符串: armVersion</span><wbr /><br><span style="line-height:1.8em;">来到这里</span><wbr /><br><span style="line-height:1.8em;">Text strings referenced in 01030000..01077FFF, item 57</span><wbr /><br><span style="line-height:1.8em;">Address=0103481C</span><wbr /><br><span style="line-height:1.8em;">Disassembly=PUSH 106300C</span><wbr /><br><span style="line-height:1.8em;">Text string=ASCII &quot;   &lt;armVersion xsi:type=&quot;xsd:string&quot;&gt;%s&lt;/armVersion&gt;&quot;</span><wbr /><br><span style="line-height:1.8em;">貌似Armadillo的xml格式配置文件?</span><wbr /><br><span style="line-height:1.8em;">双击该行来到disassemble窗口，向上拖动一行</span><wbr /><br><span style="line-height:1.8em;">看到</span><wbr /><br><span style="line-height:1.8em;">01034817    68 44300601     PUSH 1063044 ; ASCII &quot;3.76&quot;</span><wbr /><br><span style="line-height:1.8em;">0103481C    68 0C300601     PUSH 106300C ; ASCII &quot;   &lt;armVersion xsi:type=&quot;xsd:string&quot;&gt;%s&lt;/armVersion&gt;&quot;</span><wbr /><br><span style="line-height:1.8em;">啊哈，这正是Armadillo的版本号，据说此法从Armadillo3.20c到最新版的Armadillo都支持。</span><wbr /><br></span><wbr /></span><wbr /></div></span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="font-size:16px;line-height:1.8em;"><span style="color:#ff0000;font-family:'新宋体';line-height:1.8em;">二、Armadillo V4.X 目前还没有发现判断确切版本的方法</span><wbr /></span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="color:#ff0000;line-height:1.8em;"><span style="color:#000000;font-family:'新宋体';line-height:1.8em;">不过Armadillo自从V4.0新加了个Anti OllyDBG手段：OutputDebugStringA</span><wbr /></span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;"><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />OllyDbg在处理调式包含格式串的消息时存在问题，被跟踪的应用程序可以使OllyDbg崩溃，或可能以进程权限执行任意指令。OutputDebugString函数可发送字符串到调试器上，然后OllyDbg会在底端显示相关状态消息，但是如果包含格式串消息，就可能使OllyDbg崩溃。</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">Armadillo以前的版本没有此种Anti，自V4.0始才有。</span><wbr /></span><wbr /></span><wbr /></div><br></span><wbr /></span><wbr /><span style="font-family:'新宋体';line-height:1.8em;">Armadillo Find Protected 目前可以识别出某些版本号，其特征码数据库还在完善中。</span><wbr /><br><span style="line-height:1.8em;"><span style="font-weight:bold"><wbr /><span style="color:#ff0000;font-size:16px;line-height:1.8em;">三、其实Armadillo版本判断并不重要，重要的是搞清楚其保护方式</span><wbr /></span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /></span><wbr /><span style="line-height:1.8em;">1、Aramdillo单进程的都是标准壳</span><wbr /><br><br><span style="line-height:1.8em;">2、双进程的有标准壳更多是CopyMem-II。需要跟踪调试才能知道，如何跟踪？看N多Armadillo脱壳教程再跟随练习就明白了</span><wbr /><br><br><span style="line-height:1.8em;">3、CopyMem-II需要父进程解码子进程</span><wbr /><br><br><span style="line-height:1.8em;">4、Nanomites肯定是双进程，Debugger-Blocker or CopyMem-II</span><wbr /><br><span style="line-height:1.8em;">Nanomites需要配合SDK才能使用。被保护程序的子进程中某些跳转被改成Int3，执行到此会产生异常。父进程接管异常后返回子进程应该如何跳转的结果，这样就使得调试和脱壳的难度大大增加了。</span><wbr /><br><br><span style="line-height:1.8em;">5、Code Splicing和Import Table Elimination需要你去看。ArmInline修复这些很方便，虽然有些bug</span><wbr /><br><br><span style="line-height:1.8em;">6、研究一下Aramdillo's ARMHELP.chm、UserGuide.chm、API.chm，会大有裨益的</span><wbr /><br><span style="font-weight:bold"><wbr /><span style="color:#ff0000;font-size:16px;font-family:'新宋体';line-height:1.8em;">四、强烈推荐：Armadillo Find Protected</span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /></span><wbr /><span style="font-family:'新宋体';line-height:1.8em;">vel的Armadillo Find Protected可以识别出Armadillo的保护方式，vel将会成为另位Armadillo杀手。</span><wbr /><br><br><br> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1205117456#comment</comments>
<qz:effect>8389120</qz:effect>
<pubDate>Mon, 10 Mar 2008 02:50:56 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1205117456</guid>
</item>

<item>
<title><![CDATA[对付易语言程序的反调试方法]]></title>
<link>http://200708336.qzone.qq.com/blog/1204716942</link>
<description><![CDATA[<span style="line-height:1.8em;">对付易语言程序的反调试</span><wbr /><br><span style="line-height:1.8em;">易语言会关闭调试器并退出，可以修改一下运行库和主程序强制跳过检测进程。</span><wbr /><br><span style="line-height:1.8em;">运行库修改处：</span><wbr /><br><span style="line-height:1.8em;">查找特征串：</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />83 7D F4 00 0F 84 0C 05 00 00 8B 5D F0 89 5D E4 EB 01</span><wbr /></span><wbr /></span><wbr /></div><br><span style="font-family:'新宋体';line-height:1.8em;">找到这里，看起来乱七八糟：</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />012F4BE6   /72 01           jb      short 012F4BE9<br>012F4BE8   |7B 8B           jpo     short 012F4B75<br>012F4BEA    45              inc     ebp<br>012F4BEB    D889 45F4EB01   fmul    dword ptr [ecx+1EBF445]<br>012F4BF1    8883 7DF4000F   mov     byte ptr [ebx+F00F47D], al<br>012F4BF7    840C05 00008B5D test    byte ptr [eax+5D8B0000], cl<br>012F4BFE    F0:895D E4      lock mov dword ptr [ebp-1C], ebx         ; 不允许锁定前缀<br>012F4C02    EB 01           jmp     short 012F4C05<br>012F4C04    BD 8B5DE4C7     mov     ebp, C7E45D8B<br>012F4C09    0300            add     eax, dword ptr [eax]<br>012F4C0B    0000            add     byte ptr [eax], al<br></span><wbr /></span><wbr /></span><wbr /></div><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />把几个无用的花跳转nop掉，就看清楚了：<br>012F4BE6    90              nop<br>012F4BE7    90              nop<br>012F4BE8    90              nop<br>012F4BE9    8B45 D8         mov     eax, dword ptr [ebp-28]<br>012F4BEC    8945 F4         mov     dword ptr [ebp-C], eax<br>012F4BEF    90              nop<br>012F4BF0    90              nop<br>012F4BF1    90              nop<br>012F4BF2    837D F4 00      cmp     dword ptr [ebp-C], 0<br>012F4BF6    0F84 0C050000   je      012F5108<br>012F4BFC    8B5D F0         mov     ebx, dword ptr [ebp-10]<br>012F4BFF    895D E4         mov     dword ptr [ebp-1C], ebx<br>012F4C02    EB 01           jmp     short 012F4C05</span><wbr /></span><wbr /></span><wbr /></div><br><span style="font-family:'新宋体';line-height:1.8em;">然后修改：</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />012F4BE6    90              nop<br>012F4BE7    90              nop<br>012F4BE8    90              nop<br>012F4BE9    8B45 D8         mov     eax, dword ptr [ebp-28]<br>012F4BEC    8945 F4         mov     dword ptr [ebp-C], eax<br>012F4BEF    90              nop<br>012F4BF0    90              nop<br>012F4BF1    90              nop<br>012F4BF2    837D F4 00      cmp     dword ptr [ebp-C], 0<br>012F4BF6    E9 0D050000     jmp     012F5108<br>012F4BFB    90              nop<br>012F4BFC    8B5D F0         mov     ebx, dword ptr [ebp-10]<br>012F4BFF    895D E4         mov     dword ptr [ebp-1C], ebx<br>012F4C02    EB 01           jmp     short 012F4C05<br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="line-height:1.8em;">主程序修改处：</span><wbr /><br><span style="line-height:1.8em;">查找特征串：</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />83 7D F4 00 0F 84 FC 04 00 00 8B 5D F0 89 5D E4 EB 01</span><wbr /></span><wbr /></span><wbr /></div><br><span style="line-height:1.8em;">找到这里：</span><wbr /><br><span style="line-height:1.8em;">004F6EC5  - 0F83 7DF4000F   jnb     0F506348</span><wbr /><br><span style="line-height:1.8em;">004F6ECB    84FC            test    ah, bh</span><wbr /><br><span style="line-height:1.8em;">004F6ECD    04 00           add     al, 0</span><wbr /><br><span style="line-height:1.8em;">004F6ECF    008B 5DF0895D   add     byte ptr [ebx+5D89F05D], cl</span><wbr /><br><span style="line-height:1.8em;">004F6ED5    E4 EB           in      al, 0EB</span><wbr /><br><span style="line-height:1.8em;">004F6ED7    01B9 8B5DE4C7   add     dword ptr [ecx+C7E45D8B], edi</span><wbr /><br><span style="line-height:1.8em;">004F6EDD    0300            add     eax, dword ptr [eax]</span><wbr /><br><span style="line-height:1.8em;">004F6EDF    0000            add     byte ptr [eax], al</span><wbr /><br><span style="line-height:1.8em;">004F6EE1    008B 5DF083C3   add     byte ptr [ebx+C383F05D], cl</span><wbr /><br><span style="line-height:1.8em;">004F6EE7    04 89           add     al, 89[/code]</span><wbr /><br><span style="line-height:1.8em;">把几个无用的花跳转nop掉，就看清楚了：</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />004F6EC5    90              nop<br>004F6EC6    837D F4 00      cmp     dword ptr [ebp-C], 0<br>004F6ECA    0F84 FC040000   je      004F73CC<br>004F6ED0    8B5D F0         mov     ebx, dword ptr [ebp-10]<br>004F6ED3    895D E4         mov     dword ptr [ebp-1C], ebx<br>004F6ED6    EB 01           jmp     short 004F6ED9</span><wbr /></span><wbr /></span><wbr /></div><br><span style="font-family:'新宋体';line-height:1.8em;">然后修改：</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />004F6EC5    90              nop<br>004F6EC6    837D F4 00      cmp     dword ptr [ebp-C], 0<br>004F6ECA    E9 FD040000     jmp     004F73CC<br>004F6ECF    90              nop<br>004F6ED0    8B5D F0         mov     ebx, dword ptr [ebp-10]<br>004F6ED3    895D E4         mov     dword ptr [ebp-1C], ebx<br>004F6ED6    EB 01           jmp     short 004F6ED9<br>004F6ED8    B9 8B5DE4C7     mov     ecx, C7E45D8B</span><wbr /></span><wbr /></span><wbr /></div><br><span style="font-size:18px;line-height:1.8em;"><span style="color:#ff0000;line-height:1.8em;"><span style="line-height:1.8em;">修改后od可能会占用cpu较多，有点卡。</span><wbr /><br><br><span style="line-height:1.8em;">如果版本不同可能特征串不同，可以用下面方法找到：</span><wbr /><br><span style="line-height:1.8em;">下断点：OpenProcess</span><wbr /><br><span style="line-height:1.8em;">断下后，alt + F9 返回，然后 F8 单步向下走，一直走到一个向上的远程的跳转，跳上去，如果是call就进入，没有call的话，能直接看见，有call的走几下就看见了。把跳转强制跳走。</span><wbr /></span><wbr /></span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1204716942#comment</comments>
<qz:effect>8389120</qz:effect>
<pubDate>Wed, 05 Mar 2008 11:35:42 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1204716942</guid>
</item>

<item>
<title><![CDATA[ArmaDetach.v1.31_RES_tool如何使用？]]></title>
<link>http://200708336.qzone.qq.com/blog/1203435078</link>
<description><![CDATA[<div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />Armadillo Process Detach v1.3 Final<br>Copyright (c) 2007 AvAtAr//TEAM RESURRECTiON<br>Special thanks to SunBeam {RES} &amp; Ufo-Pu55y/SnD for  their help, deroko/ARTeam for his tutorial about'anti-anti dump and non intrusive tracers'and  finally  to diablo2oo2 for his 'dup search and replace engine source code'.Great work guys, thanks!<br>Greetings fly out to:TEAM RESURRECTiON, REVENGE Crew, TSRh, SnD,ICU,ARTeam,  AoRE, CracksLatinoS, AppzNet staff and the whole AppzNet community :-)<br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="font-size:18px;line-height:1.8em;"><span style="color:#ff0000;line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">ArmaDetach.v1.31_RES_tool是RES出的分离Armadillo双进程保护为单进程的工具</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">运行ArmaDetach.exe，以Armadillo V5.00主程序为例，选择CopyMem-II</span><wbr /></span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">把Armadillo.exe拖入ArmaDetach的运行界面，等待</span><wbr /></span><wbr /></span><wbr /></span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />Filename: Armadillo.exe</span><wbr /><br><span style="line-height:1.8em;">Parent process iD:  [00000F88]</span><wbr /><br><span style="line-height:1.8em;">Processing...</span><wbr /><br><span style="line-height:1.8em;">[PROTECTiON SYSTEM]</span><wbr /><br><span style="line-height:1.8em;">Professional Edition</span><wbr /><br><span style="line-height:1.8em;">[PROTECTiON OPTiONS]</span><wbr /><br><span style="line-height:1.8em;">Debug-Blocker protection detected</span><wbr /><br><span style="line-height:1.8em;">CopyMem-II protection detected</span><wbr /><br><span style="line-height:1.8em;">Memory-Patching Protections enabled</span><wbr /><br><span style="line-height:1.8em;">Import Table Elimination enabled</span><wbr /><br><span style="line-height:1.8em;">Nanomites Processing enabled</span><wbr /><br><span style="line-height:1.8em;">[CHiLD iNFO]</span><wbr /><br><span style="line-height:1.8em;">Child process iD:   [00000BA4]</span><wbr /><br><span style="line-height:1.8em;">Entry point:        [0044709C]</span><wbr /><br><span style="line-height:1.8em;">Original bytes:     [E88D5700]</span><wbr /><br><span style="line-height:1.8em;">Detached successfully :)</span><wbr /><br></span><wbr /></span><wbr /></div></span><wbr /><br><span style="font-size:18px;line-height:1.8em;"><span style="color:#ff0000;line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">出现此提示后运行OllyDBG，Attach进程中的Armadillo.exe</span><wbr /></span><wbr /><br></span><wbr /></span><wbr /><span style="line-height:1.8em;"><span style="line-height:1.8em;"><span style="color:#ff0000;font-size:18px;line-height:1.8em;">Shift+F9，F12</span><wbr /> </span><wbr /></span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF00;line-height:1.8em;"><wbr />0044709C     EB FE              jmp short 0044709C<br>//F12后停在死循环处<br>0044709E     90                 nop<br>0044709F     90                 nop<br>004470A0     00E9               add cl,ch<br>004470A2     16                 push ss<br>004470A3     FE                 ???<br>004470A4     FFFF               ???<br>004470A6     6A 0C              push 0C<br>004470A8     68 E8874700        push 4787E8<br>004470AD     E8 2AF2FFFF        call 004462DC<br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="color:#ff0000;font-size:18px;font-family:'新宋体';line-height:1.8em;">恢复死循环处代码为E88D5700即可以单进程方式调试Armadillo双进程保护方式</span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1203435078#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Tue, 19 Feb 2008 15:31:18 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1203435078</guid>
</item>

<item>
<title><![CDATA[为破解易语言写的一个脚本]]></title>
<link>http://200708336.qzone.qq.com/blog/1202954037</link>
<description><![CDATA[<div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:18px;line-height:1.8em;"><span style="color:#FF8000;line-height:1.8em;"><wbr />VAR        Num<br>mov        Num,10<br>gpa        &quot;GetProcessHeap&quot;,&quot;kernel32.dll&quot;<br>cmp        $RESULT,0<br>jz        err<br>bp        $RESULT<br>runit:<br>run<br>cmp        [eax],&quot;WTNE / MADE BY E COMPILER - WUTAO &quot;<br>jz        ok<br>dec        Num<br>cmp        Num,0<br>jz        err<br>jmp        runit<br>ok:<br>bc        $RESULT<br>rtu<br>find        eip,#FFE0#<br>cmp        $RESULT,0<br>jz        err<br>bp        $RESULT<br>run<br>bc        $RESULT<br>sto<br>msg        &quot;胜利到达易语言的程序核心代码开始处，现在可以利用OD字符插件搜索有没有关键字符了&quot;<br>ret<br>err:<br>msg        &quot;出错拉,有可能不是易语言写的!&quot;<br>ret<br></span><wbr /></span><wbr /></span><wbr /></div> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1202954037#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Thu, 14 Feb 2008 01:53:57 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1202954037</guid>
</item>

<item>
<title><![CDATA[Inline Patch破解XX自动关机系统]]></title>
<link>http://200708336.qzone.qq.com/blog/1202230887</link>
<description><![CDATA[<span style="color:#ff6600;line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">1.干掉次数限制</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  2.使程序可以修改密码</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  1.准备工作</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  我们要干掉次数限制，就首先需要知道次数为0时程序会干什么</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  OK,我自己打开关闭了程序XX次 -_-bbb</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  把次数用完了，结果如图</span><wbr /></span><wbr /></span><wbr /><br><span style="color:#ff6600;line-height:1.8em;"><wbr /><a href="http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=e1333c85b30f257fcd1180cfb9c55cb0494a8ef1a160f0bc0fdaf4a878e3ad531e6770c958a6037ccaceeaf58536ff5b961414371f5e73dfa2ee7d57f268fb0f2492d14d01c3ac55f036927ce3a9368c0126ec2c" target="_blank"><img style="border:0;" src="http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=e1333c85b30f257fcd1180cfb9c55cb0494a8ef1a160f0bc0fdaf4a878e3ad531e6770c958a6037ccaceeaf58536ff5b961414371f5e73dfa2ee7d57f268fb0f2492d14d01c3ac55f036927ce3a9368c0126ec2c" /></a><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="color:#ff6600;font-family:'新宋体';line-height:1.8em;">OK,点击退出，我们开始工作</span><wbr /></span><wbr /><br><br><span style="color:#ff6600;line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">2.调试</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  首先大概看了下软件界面，应该用了外部控件美化</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  打开OD,下断bp CreateFileA</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  注意堆栈</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  数次F9后就会看到</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  2.jpg</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  已经开始搞SkinMagic的皮肤美化了</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  好，到这里程序应该已经解码完了</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  Ctrl+F9数次返回这里</span><wbr /></span><wbr /><br></span><wbr /><span style="color:#ff0099;line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBBC    90              nop</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBBD    90              nop</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBBE    90              nop</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBBF    90              nop</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBC0    8B4424 04       mov     eax, dword ptr [esp+4]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBC4    53              push    ebx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBC5    56              push    esi</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBC6    57              push    edi</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBC7    68 6C4D5300     push    00534D6C                         ; ASCII &quot;rb&quot;</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBCC    8BF1            mov     esi, ecx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBCE    50              push    eax</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBCF    E8 92FD0400     call    0051C966</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004CCBD4    8BF8            mov     edi, eax                         ; skinmagi.00537580</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  我们可以把CreateFileA断点K掉</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  换在004CCBC0这里下个断</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  好了，F8跟，走过一堆垃圾指令【对我们来说，嘿嘿】</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  来到这里</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE0D   /75 0A           jnz     short 0040EE19</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE0F   |E8 8C090000     call    0040F7A0</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE14   |E9 B7020000     jmp     0040F0D0</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE19   \8D9424 14010000 lea     edx, dword ptr [esp+114]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE20    52              push    edx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE21    E8 8A240000     call    004112B0</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE26    C68424 20170000&gt;mov     byte ptr [esp+1720], 1</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE2E    A1 C4BF4200     mov     eax, dword ptr [42BFC4]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE33    3BC3            cmp     eax, ebx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE35    7E 45           jle     short 0040EE7C</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE37    83F8 02         cmp     eax, 2</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE3A    7E 13           jle     short 0040EE4F</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE3C    83F8 05         cmp     eax, 5</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE3F    75 3B           jnz     short 0040EE7C</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE41    E8 DA0A0000     call    0040F920</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE46    84C0            test    al, al</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040EE48    74 32           je      short 0040EE7C</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  这时你可以设置从那个jmp让他走，不过要经过程序的校验，我最怕麻烦，所以直接往下</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  很快来到此</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F001    8B4424 10       mov     eax, dword ptr [esp+10]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F005    3BC3            cmp     eax, ebx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F007    77 41           ja      short 0040F04A</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F009    833D C4BF4200 0&gt;cmp     dword ptr [42BFC4], 2</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F010    74 2E           je      short 0040F040</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  哈，挖到了，那个ja就是检测次数的关键了</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  把它改成jmp就可以跳向主程序，记录下来</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F007    77 41 ja      short 0040F04A</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  改成0040F007   /EB 41           jmp     short 0040F04A</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  顺便记下0040F001   .  8B4424 10     mov     eax, dword ptr [esp+10]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  当成解码标示吧，这个随便了</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  一会要用</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  好了，现在F9走了，输入密码进入程序</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  进入第二部分</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  破解密码修改功能，点击下，弹出了对话框</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  OK,bp MessageBoxW下断</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0012DFA0   0040F9DB  /CALL 到 MessageBoxW 来自 shutdown.0040F9D5</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0012DFA4   00020180  |hOwner = 00020180 (class='#32770',parent=00230098)</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0012DFA8   005D9068  |Text = &quot;&quot;B8,&quot;行&quot;,BB,&quot;您的支持?,AC,&quot;&quot;,B4,&quot;讼罟&quot;,A6,&quot;能&quot;,D7,&quot;&quot;,A2,&quot;&quot;,B2,&quot;嵊煤?,B2,&quot;拍苁褂茫&quot;,A1,&quot;&quot;</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0012DFAC   005DABD0  |Title = &quot;&quot;B6,&quot;&quot;,A8,&quot;时关&quot;,BB,&quot;?3000?,A8,&quot;试用&quot;,B0,&quot;妫&quot;,A1,&quot;&quot;,BB,&quot;箍梢允杂?&quot;,B4,&quot;危&quot;,A1,&quot;）&quot;</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0012DFB0   00000040  \Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0012DFB4   0C496AA5</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0012DFB8   005D9068</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  右击第一行，反汇编窗口中跟随</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  来到这里</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F9D2    51              push    ecx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F9D3    52              push    edx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F9D4    50              push    eax</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F9D5    FF15 B8F74100   call    dword ptr [41F7B8]               ; USER32.MessageBoxW</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F9DB    8D4C24 04       lea     ecx, dword ptr [esp+4]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F9DF    FF15 08F44100   call    dword ptr [41F408]               ; MFC80U.7834DD87</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  Ctrl+A下，到段首</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F980  /$  6A FF         push    -1</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F982  |.  68 D9BB4100   push    0041BBD9</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  一大堆调用，汗，怎么看都像VC8的XX调用方式-_-xx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  右键，查看调用树</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  右键，在每个调用上设置断点，好了，F9让程序回去，再次点击修改密码</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  00406600   &gt; \8B4E 20       mov     ecx, dword ptr [esi+20]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  00406603   .  51            push    ecx</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  00406604   .  6A 6C         push    6C</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  00406606   .  E8 75930000   call    0040F980</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040660B   .  83C4 08       add     esp, 8</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  断在了这里，OD提示</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  跳转来自 004065A5, 004065AC</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  跟上去</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065A5   . /74 59         je      short 00406600</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065A7   . |837C24 08 58  cmp     dword ptr [esp+8], 58</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065AC   . |75 52         jnz     short 00406600</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065AE   . |EB 04         jmp     short 004065B4</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  很明显了，改成这样</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065A5     /EB 07         jmp     short 004065AE</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065A7   . |837C24 08 58  cmp     dword ptr [esp+8], 58</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065AC   . |75 52         jnz     short 00406600</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065AE   . \EB 04         jmp     short 004065B4</span><wbr /></span><wbr /><br></span><wbr /><span style="line-height:1.8em;"><span style="line-height:1.8em;">  <span style="color:#ff6600;line-height:1.8em;">你Nop掉也可以，不过等下<span style="font-weight:bold"><wbr />Inline</span><wbr /><span style="font-weight:bold"><wbr />Patch</span><wbr />要浪费空间</span><wbr /></span><wbr /></span><wbr /><br><span style="color:#ff6600;line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">  好了，信息收集完成，开始<span style="font-weight:bold"><wbr />Patch</span><wbr /></span><wbr /></span><wbr /><br><span style="line-height:1.8em;"></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  掏出ASProtect SKE <span style="font-weight:bold"><wbr />Inline</span><wbr /> <span style="font-weight:bold"><wbr />Patch</span><wbr />er V0.2工具</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  设置如图，标示刚才我记下了</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F001   .  8B4424 10     mov     eax, dword ptr [esp+10]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  就随便用这个了，设置以及成功样子如图</span><wbr /></span><wbr /></span><wbr /><br><br><wbr /><a href="http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=d82fb034c8c90eda2beea3aabd74f4a1e29e3dce6034636746a416b30a321922743b0573ba78ecf5783d7bbe8ab40d586bd523b4266d85b2f531176e8b8b3636f2423cf44777765ffda9f604b8bc66f3717ca7e8" target="_blank"><img style="border:0;" src="http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=d82fb034c8c90eda2beea3aabd74f4a1e29e3dce6034636746a416b30a321922743b0573ba78ecf5783d7bbe8ab40d586bd523b4266d85b2f531176e8b8b3636f2423cf44777765ffda9f604b8bc66f3717ca7e8" /></a><wbr /><br><br><span style="color:#ff6600;line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">RVA就是VA减去基址400000完了</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  注意看工具给出的提示</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  ZonaLibreVA   49D417</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  [我的不是英文版，不知是哪国鸟文，-_-b]</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  好了，OD载入改好的程序，Ctrl+G到49D417去，嘿嘿，工具已经给我们准备好空间写代码了</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  还记得我们要<span style="font-weight:bold"><wbr />Patch</span><wbr />的两处吗？</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0040F007   /EB 41           jmp     short 0040F04A</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  004065A5     /EB 07         jmp     short 004065AE</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  好了，开始写代码，注意代码倒序原则</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0049D417   mov     dword ptr [40F007], 41EB</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  0049D421   mov     dword ptr [4065A5], 7EB</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  OK.现在保存修改，运行，成功了，嘿嘿</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  附图一张</span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;">  程序标题估计从第一次跳的地方可过去</span><wbr /></span><wbr /><br></span><wbr /><span style="line-height:1.8em;"><span style="line-height:1.8em;"><span style="color:#ff6600;line-height:1.8em;">  不过太懒，不搞</span><wbr />了</span><wbr /></span><wbr /><br><br><wbr /><a href="http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=f8198834afffea540184c3ccfa70dbab460239df41d10f131102afb43265a9855ae67568d63bb161dc22bf43d429d77bfaa2e8234a1d613dd3732f4cd4e9d383a289da9546287d7fdd7b6d23da912ecf23ad021d" target="_blank"><img style="border:0;" src="http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=f8198834afffea540184c3ccfa70dbab460239df41d10f131102afb43265a9855ae67568d63bb161dc22bf43d429d77bfaa2e8234a1d613dd3732f4cd4e9d383a289da9546287d7fdd7b6d23da912ecf23ad021d" /></a><wbr /><br><br><span style="color:#ff0000;line-height:1.8em;"><span style="line-height:1.8em;">--------------------------------------------------------------------------------</span><wbr /><br><span style="line-height:1.8em;">【经验总结】</span><wbr /><br><span style="line-height:1.8em;">  实在扒不下来壳就只有带壳搞了，Loader/<span style="font-weight:bold"><wbr />Patch</span><wbr />er随便了</span><wbr /><br><span style="line-height:1.8em;">  我是小菜鸟一只，有疏漏之处请大侠们指正</span><wbr /><br><br><span style="line-height:1.8em;">--------------------------------------------------------------------------------</span><wbr /><br><span style="line-height:1.8em;">【版权声明】: 本文由本人所写，仅供学习指正，对于滥用破解造成的一切纠纷概不负责</span><wbr /><br></span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1202230887#comment</comments>
<qz:effect>515</qz:effect>
<pubDate>Tue, 05 Feb 2008 17:01:27 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1202230887</guid>
</item>

<item>
<title><![CDATA[浅谈手动脱壳VB加壳程序的OEP寻找]]></title>
<link>http://200708336.qzone.qq.com/blog/1202126008</link>
<description><![CDATA[<span style="color:#ff0000;font-size:16px;font-family:'新宋体';line-height:1.8em;"><span style="font-weight:bold"><wbr />找VB6和VB5编译的程序观察其OEP</span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="line-height:1.8em;"><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />004019DA    FF25 70104000   jmp dword ptr ds:[401070]    ; MSVBVM60.rtcTypeName</span><wbr /><br><span style="line-height:1.8em;">004019E0    FF25 08114000   jmp dword ptr ds:[401108]    ; MSVBVM60.EVENT_SINK_QueryInterface</span><wbr /><br><span style="line-height:1.8em;">004019E6    FF25 C0104000   jmp dword ptr ds:[4010C0]    ; MSVBVM60.EVENT_SINK_AddRef</span><wbr /><br><span style="line-height:1.8em;">004019EC    FF25 F8104000   jmp dword ptr ds:[4010F8]    ; MSVBVM60.EVENT_SINK_Release</span><wbr /><br><span style="line-height:1.8em;">004019F2    FF25 A4114000   jmp dword ptr ds:[4011A4]    ; MSVBVM60.ThunRTMain</span><wbr /><br><span style="line-height:1.8em;">004019F8    68 141D4000     push 401D14</span><wbr /><br><span style="line-height:1.8em;">//VB6 OEP</span><wbr /><br><span style="line-height:1.8em;">004019FD    E8 F0FFFFFF     call 004019F2                ; &lt;jmp.&amp;MSVBVM60.#100&gt;</span><wbr /><br></span><wbr /></span><wbr /></div></span><wbr /></span><wbr /><br> <br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />004011DA    FF25 94514000   jmp dword ptr ds:[405194]   ; MSVBVM50.EVENT_SINK_QueryInterface<br>004011E0    FF25 78514000   jmp dword ptr ds:[405178]   ; MSVBVM50.EVENT_SINK_AddRef<br>004011E6    FF25 8C514000   jmp dword ptr ds:[40518C]   ; MSVBVM50.EVENT_SINK_Release<br>004011EC    FF25 C8514000   jmp dword ptr ds:[4051C8]   ; MSVBVM50.ThunRTMain<br>004011F2    0000            add byte ptr ds:[eax],al<br>004011F4    68 E81C4000     push 401CE8<br>//VB5 OEP<br>004011F9    E8 EEFFFFFF     call 004011EC               ; &lt;jmp.&amp;MSVBVM50.#100&gt;<br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="line-height:1.8em;"><span style="font-weight:bold"><wbr /><span style="color:#ff0000;line-height:1.8em;"><span style="line-height:1.8em;">VB的入口一般都会调用ThunRTMain</span><wbr /></span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">所以VB程序加壳的OEP很容易确定</span><wbr /></span><wbr /></span><wbr /><br><span style="line-height:1.8em;"><span style="line-height:1.8em;"><span style="line-height:1.8em;">在ThunRTMain设置普通断点或者硬件断点，中断后看堆栈即可找到OEP代码</span><wbr /></span><wbr /></span><wbr /></span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />0013FFBC   00401A02  返回到 test.00401A02 来自 &lt;jmp.&amp;MSVBVM60.#100&gt;<br>0013FFC0   00401D14  test.00401D14<br></span><wbr /></span><wbr /></span><wbr /></div><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />0013FFBC   004011FE  返回到 crackme.004011FE 来自 &lt;jmp.&amp;MSVBVM50.#100&gt;<br>0013FFC0   00401CE8  crackme.00401CE8<br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="font-size:16px;line-height:1.8em;"><span style="font-weight:bold"><wbr /><span style="color:#ff0000;line-height:1.8em;"><span style="line-height:1.8em;">从这个意义上来说，加壳对VB程序OEP Stolen Code是没多大意义的</span><wbr /><br><span style="line-height:1.8em;">还有，VB的输入表相比于其他语言编译的程序输入表来说也好修复点</span><wbr /><br><br><span style="line-height:1.8em;">当然，这并不是说 VB Program &amp;&amp; AnyPack =0</span><wbr /><br></span><wbr /></span><wbr /></span><wbr /><a href="http://www.unpack.cn/viewthread.php?tid=21579" target="_blank"><span style="color:#ff0000;font-size:16px;font-family:'新宋体';line-height:1.8em;"><span style="font-weight:bold"><wbr />http://www.unpack.cn/viewthread.php?tid=21579</span><wbr /></span><wbr /></a><wbr /><br><span style="color:#ff0000;font-size:16px;line-height:1.8em;"><span style="font-weight:bold"><wbr />VB自然编译的文件如果使用Themida等壳普通保护那没啥强度，但是如果使用VM处理或者使用Armadillo的CC保护，那强度还是很高的.</span><wbr /></span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1202126008#comment</comments>
<qz:effect>514</qz:effect>
<pubDate>Mon, 04 Feb 2008 11:53:28 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1202126008</guid>
</item>

<item>
<title><![CDATA[WinLicense一机一码加壳方式图解]]></title>
<link>http://200708336.qzone.qq.com/blog/1201955271</link>
<description><![CDATA[<span style="filter: glow(color=#FF9900,strength=3);color:#FFFFFF;display:inline-block;line-height:1.8em;">最近UnPacKcN上有不少朋友询问WinLicense一机一码加壳方式，虽然大家有了文字回复，但是有些人还不是太明白，所以找点时间用图解的方式来演示</span><wbr /><br><span style="filter: glow(color=#FF9900,strength=3);color:#FFFFFF;display:inline-block;line-height:1.8em;">硬件綁定加壳大家所疑惑的是如何使试用加壳后文件显示目标机器的硬件信息，其实WinLicense Help.chm中已经有说明了</span><wbr /><br>%machineid     Current Hardware ID for current machine.<br><span style="filter: glow(color=#FF9900,strength=3);color:#FFFFFF;display:inline-block;line-height:1.8em;">下面图解WinLicense几种硬件綁定的加壳情况，仅供参考</span><wbr /><br><span style="line-height:1.8em;">_____________________________________________________________</span><wbr /><span style="line-height:1.8em;">一.新建保护工程             </span><wbr /><br><a href="http://www.unpack.cn/viewthread.php?tid=21927&amp;extra=page%3D1#zoom" target="_blank"><wbr /><a href="http://www.unpack.cn/attachments/month_0802/20080202_437974a66a0f651e8506eOIIO40p8zvF.jpg.thumb.jpg" target="_blank"><img style="border:0;" src="http://www.unpack.cn/attachments/month_0802/20080202_437974a66a0f651e8506eOIIO40p8zvF.jpg.thumb.jpg" /></a><wbr /></a><wbr /><br><span style="line-height:1.8em;">Winlicense添加界面上某些字符没有汉化好</span><wbr /><br><span style="line-height:1.8em;">工程命名为：Winlicense V1.9.5.0.Test.Machine</span><wbr /><br><span style="line-height:1.8em;">点击主界面的“软件”搜索图标选择刚才建立的工程</span><wbr /><br><br><span style="line-height:1.8em;">_____________________________________________________________</span><wbr /><br><span style="line-height:1.8em;">二.试用设置</span><wbr /><br><br><span style="line-height:1.8em;">保护选项、虚拟机、替换代码等设置这里就不谈了，大家根据需求自己设置</span><wbr /><br><span style="line-height:1.8em;">点击“试用设置”</span><wbr /><br><a href="http://www.unpack.cn/viewthread.php?tid=21927&amp;extra=page%3D1###zoom" target="_blank"><wbr /><a href="http://www.unpack.cn/attachments/month_0802/20080202_d2c0354a63bcf51bfb92vxNuPkDqhTSf.jpg.thumb.jpg" target="_blank"><img style="border:0;" src="http://www.unpack.cn/attachments/month_0802/20080202_d2c0354a63bcf51bfb92vxNuPkDqhTSf.jpg.thumb.jpg" /></a><wbr /></a><wbr /><br><span style="line-height:1.8em;">这里可以设置一些试用规则，先演示时间限制，选择30天数</span><wbr /><br><br><span style="line-height:1.8em;">_____________________________________________________________</span><wbr /><br><span style="line-height:1.8em;">三.注册</span><wbr /><br><br><a href="http://www.unpack.cn/viewthread.php?tid=21927&amp;extra=page%3D1###zoom" target="_blank"><wbr /><a href="http://www.unpack.cn/attachments/month_0802/20080202_59a62f3c35499cfd19bc7AWS0APkAn07.jpg.thumb.jpg" target="_blank"><img style="border:0;" src="http://www.unpack.cn/attachments/month_0802/20080202_59a62f3c35499cfd19bc7AWS0APkAn07.jpg.thumb.jpg" /></a><wbr /></a><wbr /><br><span style="line-height:1.8em;">1.可以设置License的方式，如key文件、注册表文件、SmartActivate等</span><wbr /><br><span style="line-height:1.8em;">2.SmartActivate必须试用SDK才能实现</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />As you might know, an application can be registered via a file key or a Registry key. SmartActivate keys is another way to register an application but it's basically the same as a file or Registry key, though we have to make use of some APIs in order to install the SmartActivate key as a file or Registry key. <br>The steps are the following: <br>①. In the Registration panel, we have to check the option Enable SmartActivate System for user-side generated keys  <br>②. We have to choose if we will finally install the SmartActivate key as file or Registry key, so we check the option &quot;Single File&quot; (In the Registration panel) if we plan to finally install the SmartActivate key as a file key  <br>③. In your application, you have to implement a dialog where you allow a user to register the application via SmartActivate keys (See examples in the WinLicense examples folder)  <br>④. Protect your application  <br>⑤. Let's create a SmartActivate key from the WinLicense License Manager. You have to give your client the SmartActivate key information in order to register your application  <br>⑥. When your customer inserts the SmartActivate key in the dialog where you allow the insertion of SmartActivate keys, you have to call the API WLRegSmartKeyCheck and if it returns TRUE, you have to install the SmartActivate key as file (or Registry) using WLRegSmartKeyInstallToFile (or WLRegSmartKeyInstallToRegistry)  <br>⑦. Restart your application and it should run as registered!  <br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="font-family:'新宋体';line-height:1.8em;">3.<span style="font-weight:bold"><wbr /><span style="color:#ff0000;line-height:1.8em;">必须选择：“允许只是硬件（锁）的依赖注册”</span><wbr /></span><wbr />（这个汉化的真别扭），否则就没有硬件綁定了。</span><wbr /><br><span style="line-height:1.8em;">4.如果想设置无key不运行的保护模式，则选择：“应用程序只有在注册后才能运行”</span><wbr /><br><br><span style="line-height:1.8em;">_____________________________________________________________</span><wbr /><br><span style="line-height:1.8em;">四.硬件锁</span><wbr /><br><a href="http://www.unpack.cn/viewthread.php?tid=21927&amp;extra=page%3D1###zoom" target="_blank"><wbr /><a href="http://www.unpack.cn/attachments/month_0802/20080202_e2ac17594aca4c9971852BOI0H2tRZNC.jpg.thumb.jpg" target="_blank"><img style="border:0;" src="http://www.unpack.cn/attachments/month_0802/20080202_e2ac17594aca4c9971852BOI0H2tRZNC.jpg.thumb.jpg" /></a><wbr /></a><wbr /><br><span style="font-family:'新宋体';line-height:1.8em;">1.可以选择全部硬件</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />· CPU: This option uses the CPU features for the current computer. Note that the CPU features are the same for all computers with the same CPU. It is not a good idea to use only this option to generate the final Machine ID.  <br>· BIOS: This option uses the BIOS serial number for the current computer. This serial number should be unique among computers, unless the BIOS serial number has been manipulated from flash.  <br>· MAC Address: This option uses the MAC address for the current computer. MAC address should be unique among computers. Be careful including this option if your customers usually change their network cards.  <br>· HDD Serial: This option uses the primary hard drive serial number for the current computer. This serial number should be unique among computers.</span><wbr /></span><wbr /></span><wbr /></div><br><span style="line-height:1.8em;">2.可以设置运行替换某硬件的次数</span><wbr /><br><br><span style="line-height:1.8em;">_____________________________________________________________</span><wbr /><br><span style="line-height:1.8em;">五.密码保护</span><wbr /><br><br><span style="line-height:1.8em;">这个与硬件綁定无关，类似WinRar的压缩包密码</span><wbr /><br><span style="line-height:1.8em;">This Password Protection form allows an application to be protected with user/password protection. WinLicense will ask for a valid user/password to run the protected application. </span><wbr /><br><span style="line-height:1.8em;">这里就不涉及了</span><wbr /><br><br><span style="line-height:1.8em;">_____________________________________________________________</span><wbr /><br><span style="line-height:1.8em;">六.定制对话框</span><wbr /><br><br><span style="line-height:1.8em;">如何使试用加壳后文件显示目标机器的硬件信息，这里的设置很关键</span><wbr /><br><span style="line-height:1.8em;">1.试用版界面显示硬件码</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />MsgID14 : 试用版界面（提醒） <br>This is a shareware reminder. You can register your <br>copy at <a href="http://www.yourcompany.com" target="_blank">http://www.yourcompany.com</a><wbr /><br>(Days left = %daysleft, Executions left = %execleft)<br>UnPacKcN保护演示WinLicense硬件綁定机器码：<br>%machineid<br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="line-height:1.8em;">蓝色字是需要添加的信息，这样就可以在试用界面显示目标机器上的硬件码了</span><wbr /><br><span style="line-height:1.8em;">加壳后运行效果：</span><wbr /><br><wbr /><a href="http://www.unpack.cn/attachments/month_0802/20080202_bccd75de0d02ea02594eppJWoNIa3n5B.jpg" target="_blank"><img style="border:0;" src="http://www.unpack.cn/attachments/month_0802/20080202_bccd75de0d02ea02594eppJWoNIa3n5B.jpg" /></a><wbr /><br><span style="line-height:1.8em;">2.应用程序只有在注册后才能运行</span><wbr /><br><span style="line-height:1.8em;">第三步“注册”界面中选择了必须要有key才能运行</span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:13px;line-height:1.8em;"><span style="color:#FFFFFF;line-height:1.8em;"><wbr />MsgID34 : 需要序列号来运行<br>Sorry, this software cannot be run without a license key.<br><a href="http://www.unpack.cn" target="_blank">http://www.unpack.cn</a><wbr /><br>UnPacKcN保护演示WinLicense硬件綁定机器码：<br>%machineid<br></span><wbr /></span><wbr /></span><wbr /></div><br><span style="line-height:1.8em;">蓝色字是需要添加的信息，这样就可以在试用界面显示目标机器上的硬件码了</span><wbr /><br><span style="line-height:1.8em;">加壳后运行效果：</span><wbr /><br><wbr /><a href="http://www.unpack.cn/attachments/month_0802/20080202_5193eb29dee53ffa624eEXy6u1UGKIn0.jpg" target="_blank"><img style="border:0;" src="http://www.unpack.cn/attachments/month_0802/20080202_5193eb29dee53ffa624eEXy6u1UGKIn0.jpg" /></a><wbr /><br> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1201955271#comment</comments>
<qz:effect>513</qz:effect>
<pubDate>Sat, 02 Feb 2008 12:27:51 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1201955271</guid>
</item>

<item>
<title><![CDATA[THEMIDA脚本（for IAT restore）]]></title>
<link>http://200708336.qzone.qq.com/blog/1198943218</link>
<description><![CDATA[<div class="comment_quote bor"><p>ݣ</p><span style="font-family:'隶书';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#0000FF;line-height:1.8em;"><wbr />/*<br>Script written by okdodo  2007/03<br>Tested for themida IAT restore and OEP find~<br>Ollyice: Ignore all exceptions (add 0EEDFADE,C0000005,C000001E)<br>HideOD : Check HideNtDebugBit and ZwQueryInformationProcess(method2)<br>Test Environment : Ollyice 1.1 + HideOD    <br>                   ODBGScript 1.52 under WINXP<br>Thanks :<br>         kanxue     - author of HideOD       <br>         hnhuqiong  - author of ODbgScript 1.52<br>*/<br><br>data:<br>var cbase<br>var csize<br>var dllimg<br>var pmbase<br>var apibase<br>var mem<br>gmi eip,CODEBASE<br>mov cbase,$RESULT<br>gmi eip,CODESIZE<br>mov csize,$RESULT<br>gmemi eip,MEMORYBASE<br>mov dllimg,$RESULT<br>log dllimg<br>findapibase:<br>gpa &quot;GetLocalTime&quot;, &quot;kernel32.dll&quot; <br>mov tmpbp,$RESULT<br>cmp tmpbp,0<br>je stop<br>bphws tmpbp ,&quot;x&quot;<br>esto<br>bphwc tmpbp<br>rtu<br>gpa &quot;VirtualAlloc&quot;, &quot;kernel32.dll&quot;<br>mov tmpbp,$RESULT<br>cmp tmpbp,0<br>je stop<br>bphws tmpbp ,&quot;x&quot;<br>esto<br>bphwc tmpbp<br>rtu<br>mov apibase,eax<br>log apibase<br>gpa &quot;LoadLibraryA&quot;, &quot;kernel32.dll&quot;<br>mov tmpbp,$RESULT<br>cmp tmpbp,0<br>je stop<br>bphws tmpbp ,&quot;x&quot;<br>esto<br>bphwc tmpbp<br>rtu<br>findVirtualAlloc:<br>find apibase,#558BECFF7514FF7510FF750CFF75086AFFE8090000005DC21000#<br>mov tmpbp,$RESULT<br>cmp tmpbp,0<br>je stop<br>bphws tmpbp ,&quot;x&quot;<br>iatloop:<br>esto<br>mov tmp,[esp]<br>find dllimg,#50516033C0#<br>cmp $RESULT,0<br>jne iatpatch<br>jmp iatloop<br>iatpatch:<br>bphwc tmpbp<br>find eip,#C21000#<br>bphws $RESULT,&quot;x&quot;<br>esto<br>bphwc $RESULT<br>sti<br>mov tmpbp,tmp<br>find tmpbp,#0F850A000000C785#<br>mov tmpbp,$RESULT<br>mov [tmpbp],0A0EEB<br>find tmpbp,#0F84390000003B8D#<br>mov tmpbp,$RESULT<br>mov [tmpbp],3928EB<br>alloc 1000<br>mov mem, $RESULT<br>log mem<br>mov tmp,mem<br>mov [tmp],#A3000000008908ADC746FC00000000E90000000050A1000000008907807FFFE8750866C747FEFF15EB0666C747FEFF2558E90000000050A100000000894701807FFFE8750866C747FFFF15EB0666C747FFFF25580F8500000000E90000000083C704E900000000#<br>mov memtmp,tmp<br>add memtmp,100<br>add tmp,1<br>mov [tmp],memtmp<br>add tmp,15<br>mov [tmp],memtmp<br>add tmp,22<br>mov [tmp],memtmp<br>mov tmp,mem<br>find tmpbp,#8908AD#<br>mov tmpbp,$RESULT<br>mov addr1,tmpbp<br>add addr1,0A<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>find tmpbp,#E92400000058#<br>mov tmpbp,$RESULT<br>add tmp,14<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>find tmpbp,#0F851800000083BD#<br>mov tmpbp,$RESULT<br>mov addr3,tmpbp<br>add addr3,06<br>add tmp,22<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>find tmpbp,#884704#<br>mov tmpbp,$RESULT<br>mov addr2,tmpbp<br>add addr2,03<br>mov [tmpbp],#909090#<br>find tmpbp,#ABAD#<br>mov tmpbp,$RESULT<br>mov [tmpbp],#90#<br>add tmpbp,9<br>add tmp,29<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>mov memtmp,mem<br>add memtmp,0F<br>eval &quot;jmp {addr1}&quot;<br>asm memtmp, $RESULT<br>add memtmp,22<br>eval &quot;jmp {addr2}&quot;<br>asm memtmp, $RESULT<br>add memtmp,23<br>eval &quot;jne {addr2}&quot;<br>asm memtmp, $RESULT<br>add memtmp,06<br>eval &quot;jmp {addr3}&quot;<br>asm memtmp, $RESULT<br>add memtmp,08<br>eval &quot;jmp {addr1}&quot;<br>asm memtmp, $RESULT<br>find eip,#C7010000000083C104#<br>mov tmpbp,$RESULT <br>add tmpbp,14<br>bphws tmpbp,&quot;x&quot;<br>esto<br>bphwc tmpbp<br>mov tmp,cbase<br>add tmp,csize<br>findoep:<br>bprm cbase,csize<br>esto<br>bpmc<br>cmp eip,tmp<br>ja findoep<br>msg &quot;script finished,check the oep place by yourself~&quot;<br>ret<br>stop:<br>pause<br>apierror:<br>pause <br></span><wbr /></span><wbr /></span><wbr /></div> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1198943218#comment</comments>
<qz:effect>8389120</qz:effect>
<pubDate>Sat, 29 Dec 2007 15:46:58 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1198943218</guid>
</item>

<item>
<title><![CDATA[Themida &amp; WinLicen 1.1.X - 1.8.X 系列脱壳脚本]]></title>
<link>http://200708336.qzone.qq.com/blog/1197511960</link>
<description><![CDATA[<span style="color:#ff0000;font-size:16px;font-family:'新宋体';line-height:1.8em;"><span style="font-weight:bold"><wbr />测试过1.1.X ~ 1.8.X 等几个版本通过</span><wbr /></span><wbr /><br><div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FFFF55;line-height:1.8em;"><wbr />/*<br>Script written by    a__p<br>Script             : Themida &amp; WinLicen 1.1.X - 1.8.X 系列脱壳脚本<br>Date               : 2007-05-25<br>Test Environment   : OllyDbg 1.1, ODBGScript 1.52, Winxp Win2003<br>*/<br>var modulebase<br>var codebase<br>var codesize<br>var TZM<br>var gjd1<br>var gjd2<br>var tmpbp<br>var apibase<br>var mem<br>var tmp<br>BPHWCALL<br>gmi eip,MODULEBASE<br>mov modulebase,$RESULT<br>gmi eip,CODEBASE<br>mov codebase,$RESULT<br>gmi eip,CODESIZE<br>mov codesize,$RESULT<br>bpwm codebase,codesize<br>ESTO<br>REP:<br>ESTO<br>ESTO<br>find eip,#F3A4????#<br>cmp $RESULT,0<br>je REP<br>STI<br>STO<br>ESTO<br>LODS:<br>find eip,#8908AD??#<br>cmp $RESULT,0<br>je TZM<br>jmp DM<br>TZM:<br>ESTO<br>find eip,#8908AD??#<br>cmp $RESULT,0<br>jmp LODS<br>DM:<br>bpmc<br>mov add,eip<br>findmem #0F850A000000C785#<br>mov add1,$RESULT<br>mov [add1],0A0EEB<br>findmem #0F84390000003B8D#<br>mov add2,$RESULT<br>mov [add2],3928EB<br>mov tmpbp,add1<br>alloc 1000<br>mov mem, $RESULT<br>log mem<br>mov tmp,mem<br>mov [tmp],#A3000000008908ADC746FC00000000E90000000050A1000000008907807FFFE8750866C747FEFF15EB0666C747FEFF2558E90000000050A100000000894701807FFFE8750866C747FFFF15EB0666C747FFFF25580F8500000000E90000000083C704E900000000#<br>mov memtmp,tmp<br>add memtmp,100<br>add tmp,1<br>mov [tmp],memtmp<br>add tmp,15<br>mov [tmp],memtmp<br>add tmp,22<br>mov [tmp],memtmp<br>mov tmp,mem<br>find tmpbp,#8908AD#<br>mov tmpbp,$RESULT<br>mov addr1,tmpbp<br>add addr1,0A<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>find tmpbp,#E92400000058#<br>mov tmpbp,$RESULT<br>add tmp,14<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>find tmpbp,#0F851800000083BD#<br>mov tmpbp,$RESULT<br>mov addr3,tmpbp<br>add addr3,06<br>add tmp,22<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>find tmpbp,#884704#<br>mov tmpbp,$RESULT<br>mov addr2,tmpbp<br>add addr2,03<br>mov [tmpbp],#909090#<br>find tmpbp,#ABAD#<br>mov tmpbp,$RESULT<br>mov [tmpbp],#90#<br>add tmpbp,9<br>add tmp,29<br>eval &quot;jmp {tmp}&quot;<br>asm tmpbp, $RESULT<br>mov memtmp,mem<br>add memtmp,0F<br>eval &quot;jmp {addr1}&quot;<br>asm memtmp, $RESULT<br>add memtmp,22<br>eval &quot;jmp {addr2}&quot;<br>asm memtmp, $RESULT<br>add memtmp,23<br>eval &quot;jne {addr2}&quot;<br>asm memtmp, $RESULT<br>add memtmp,06<br>eval &quot;jmp {addr3}&quot;<br>asm memtmp, $RESULT<br>add memtmp,08<br>eval &quot;jmp {addr1}&quot;<br>asm memtmp, $RESULT<br>find eip,#C7010000000083C104#<br>mov tmpbp,$RESULT <br>add tmpbp,14<br>bphws tmpbp,&quot;x&quot;<br>esto<br>bphwc tmpbp<br>mov tmp,codebase<br>add tmp,codesize<br>oep:<br>bprm codebase,codesize<br>esto<br>bpmc<br>cmp eip,tmp<br>ja oep<br>msg &quot;脚本执行完毕!请注意OEP是否被偷代码!&quot;<br>ret<br></span><wbr /></span><wbr /></span><wbr /></div> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1197511960#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Thu, 13 Dec 2007 02:12:40 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1197511960</guid>
</item>

<item>
<title><![CDATA[不被OD分析原因之一和修补方法]]></title>
<link>http://200708336.qzone.qq.com/blog/1196266937</link>
<description><![CDATA[<div class="comment_quote bor"><p>ݣ</p><span style="font-family:'宋体';line-height:1.8em;"><span style="font-size:16px;line-height:1.8em;"><span style="color:#FF8000;line-height:1.8em;"><wbr />今在论坛里看到有人发贴说有程序不让OD分析.这很常见了,很多脱壳后的文件,弄得不好还就是不能用OD打开分析.但这种情况是程序一般也是不能运行的.现在的问题就是,程序可以正常运行,可是OD不能打开分析,说&quot;Bad or unknown format of 32-bit executeable file '**.exe'&quot;.这句话说这个程序不是有效的32位可执行程序.明明可以运行的嘛.<br>    下面来给大家做个试验再说明原因.<br>    1.用十六进制工具打开NotePad,(别的EXE文件也行.)选中从'PE'开始的大小为0xE0的数据,复制,然后到文件地址为0x40处粘贴.(大家都知道,这里是DOS头的区域,除非在DOS下运行程序才会用到这一段数据.)<br>    2.把后面多余的数据用'0'填上[0x120-0x1BF]. 然后就是修正了.因为PE头位置定位到了0x40,所以得把0x3C处改为0x40.这个大家都是知道的.<br>    3.最后就是关键问题所在了. 把0x54地址的数据改为'8001',就是0x180.<br>    好,现在保存,运行程序看,OK,可以运行,没有问题.用OD再打开试试?哈哈,报错啦.<br>    下面说说原因,有说得不好的地方,大家不要笑话偶.<br>    OD在加载程序时,会先对程序进行分析.OD的作者写此程序就只是针对Win32下的PE文件(好像作者现在在开发2.0版本的,是分析64位程序的.)所以有比较SizeOfOptionalHandler,而在PE定义中,这个值是0xE0,是一个定值.OD比较这个值,如果是0xE0就对了,不等就是错误的EXE文件.<br>    我们刚才做的就是改变PE Handler的大小,后面多余的数据填'0'也是有意义的.这就是系统可以正常运行的原因.后面多余的'0'归属于DataDirectory中了.系统在加载时只加载16组数据,后面的顶多算为是PE结构的保留数据,好像在前16组中,也是有保留数据的.所以不会出错.<br>    附件中有我修改PE文件的录相,可以下载参考一下.<br>    修复这一BUG方法,把0045C671处的je改为jge,就是大于等于就可以了.<br>    通过小小修改PE就可以不让OD加载,但这也都是些小花样.OD的BUG是可以补的嘛.一定还会有更多的BUG,有待大家的发现.<br></span><wbr /></span><wbr /></span><wbr /></div> <!--v:3.2--> ]]></description>
<category><![CDATA[加密解密]]></category>
<author><![CDATA[200708336@qq.com(ツH.Y.Fづ)]]></author>
<comments>http://200708336.qzone.qq.com/blog/1196266937#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Wed, 28 Nov 2007 16:22:17 GMT</pubDate>
<guid>http://200708336.qzone.qq.com/blog/1196266937</guid>
</item>

</channel>
</rss>

