逆向反汇编基础之十六:少了个0x05,浪费1小时,汇编指令BOUND会被历史遗忘么?

今天拿到此CM无壳还OK,虽然简单的壳很好玩,但是重的壳我等菜如何招架~

话说回来..

此CM算法一般,自反汇编一下就知道,实在不行你就跟踪下也能知道,再不行你就跟踪几次肯定能知道.我们今天要说的是反汇编中一个特殊的指令~

此CM最大区别在于在反汇编中用到BOUND指令~

看此处:

/*****************************************************************************/

00427AC0  |. |B9 0A000000   |mov     ecx, 0A                         ;  0x0A
00427AC5  |. |99            |cdq
00427AC6  |. |F7F9          |idiv    ecx                             ;  /10?
00427AC8  |. |6215 3C7B4200 |bound edx, qword ptr [427B3C]
/*看这句代码 可知道 bound 是双操作数的指令/*
/*稍微往下看,[427B3C]处…发现什么?是00 00 00 00 0C 00 00 00*/
/*一堆0忽略 我们看0x0C,0x0C=12,12是啥?12正是我们算法序列中的一个数组数量~*/
/*换言之,bound指令的作用就是检查数组,获取(offse[数组]):[edx]处的元素~*/
/*分析到这里bound的作用应该一目了然了吧~*/
00427ACE  |. |8A92 84884200 |mov     dl, byte ptr [edx+428884]
00427AD4  |. |8D45 F0       |lea     eax, dword ptr [ebp-10]
00427AD7  |. |E8 FCBBFDFF   |call    004036D8
00427ADC  |. |8B55 F0       |mov     edx, dword ptr [ebp-10]
00427ADF  |. |8D45 F4       |lea     eax, dword ptr [ebp-C]
00427AE2  |. |E8 D1BCFDFF   |call    004037B8
00427AE7  |. |8BC3          |mov     eax, ebx
00427AE9  |. |B9 0A000000   |mov     ecx, 0A
00427AEE  |. |99            |cdq
00427AEF  |. |F7F9          |idiv    ecx
00427AF1  |. |8BD8          |mov     ebx, eax
00427AF3  |. |4E            |dec     esi
00427AF4  |.^\75 C8         \jnz     short 00427ABE
00427AF6  |>  8B45 F4       mov     eax, dword ptr [ebp-C]
00427AF9  |.  8B55 F8       mov     edx, dword ptr [ebp-8]
00427AFC  |.  E8 BFBDFDFF   call    004038C0
00427B01  |.  75 07         jnz     short 00427B0A
00427B03  |.  BB 4E61BC00   mov     ebx, 0BC614E
00427B08  |.  EB 05         jmp     short 00427B0F
00427B0A  |>  BB 91D61200   mov     ebx, 12D691
00427B0F  |>  33C0          xor     eax, eax
00427B11  |.  5A            pop     edx
00427B12  |.  59            pop     ecx
00427B13  |.  59            pop     ecx
00427B14  |.  64:8910       mov     dword ptr fs:[eax], edx
00427B17  |.  68 317B4200   push    00427B31
00427B1C  |>  8D45 F0       lea     eax, dword ptr [ebp-10]
00427B1F  |.  BA 04000000   mov     edx, 4
00427B24  |.  E8 2FBAFDFF   call    00403558
00427B29  \.  C3            retn
00427B2A   .^ E9 A9B4FDFF   jmp     00402FD8
00427B2F   .^ EB EB         jmp     short 00427B1C
00427B31   .  8BC3          mov     eax, ebx
00427B33   .  5E            pop     esi
00427B34   .  5B            pop     ebx
00427B35   .  8BE5          mov     esp, ebp
00427B37   .  5D            pop     ebp
00427B38   .  C3            retn
00427B39      00            db      00
00427B3A      00            db      00
00427B3B      00            db      00
00427B3C      00            db      00
00427B3D      00            db      00
00427B3E      00            db      00
00427B3F      00            db      00
00427B40      0C            db      0C
00427B41      00            db      00
00427B42      00            db      00
00427B43      00            db      00
/*****************************************************************************/

一组可用KEY:

ShadowKong

N6N465AA5A

http://dl.dbank.com/c0cn87dscz

逆向反汇编基础之十五:逆向基础之算法练习 反汇编要熟悉 各种调试器要熟练

今天真恶心,过十个红灯十个刚刚绿完…CCMMDD

呃,白天上班实在累得荒,不多说直接看注册机源码~

备注:注册机算法≠CM算法,只是算法结果还原而已~各位CM编写者的脑袋比我等菜高明~

一组可用KEY:

ShadowKong

832304286-690122974-111082496

注册机~

http://dl.dbank.com/c03ycmmm8s

逆向反汇编基础之十三:日日CM

呃,今天的CM是MFC写的,经过之前的MFC反汇编总结,现在已经没什么难度~

注册机是用C写的,ASM写好像自我感觉不太好,我们的目的是反汇编…调试工具是机器码到Asm 注册机是Asm到C~

嗯 这样似乎还OK~

YOus 今天的CM..KO咯~

一组可用KEY:

ShadowKong
3026581474

http://dl.dbank.com/c01sfxbcqe

逆向反汇编基础之十二:每天CM一个,放松放松各种压力

今天的CM是PHI写的,相比第一次反PHI的程序来说,现在找关键代码已经可以说比较有经验了

包括各种跟踪等….每日一个CM不为破解不为啥,纯属放松放松心情…

Yous 明天任务繁重啊~

暂时各种CrackMe中的算法都不算难(难的我等菜也玩不了)

对比于VB PHI C ASM VB.NET .NET MFC 等写的CrackMe其实都有很多的共通点,关键要把握住工具的使用 关键点的捕抓~

高手写的CM往往有种”余音绕梁”的感觉…..

顺便感慨下…哎啊 今天发现大家都成长了呢…这段时间朋友们总有给人一种瞬间成长的感觉~

一组可用KEY

ShadowKong
30881984

http://dl.dbank.com/c0ka6dp01p

逆向反汇编基础之十一:一日一CM

今天CM的程序还好,算法没啥难度,编写注册机遇到的一个问题就是..

C里字符串的处理和汇编的处理问题,毕竟汇编的很显眼 直接eax ax al,DD,DB,DW

可是到了C的话编程过程中要主意别搞错了…..当然也有可能是C编程没啥经验的原因(迄今为止没写过啥惊世骇俗的程序…要能写也不用在这玩海投了0.0)

一组可用KEY:

ShadowKong
S-G25689-50365

Url:http://dl.dbank.com/c0xev9wgta

逆向反汇编基础之九:MFC写的程序要注意活用调试工具

今天这个是用MFC写的,突然漫天的API消失一大半了(其实是MFC封装起来了),这感觉也不错,全变成了CALL.<JMP.&MFC42.XXXX>

XXXX是数字标号~但是依然不难找到关键算法点….

算法依然很简单,明眼人一看就会知道,关键在于第一次反MFC写的东西,和PHI, MASM ,window SDK,VB等写的对比下就能学到东西..

为什么大多玩逆向工程的人都是集多种高级编程语言于一身的人才,因为大家逆的东西太多了,包括各种语言写的,各种年代的东西~

算法很简单~保证你一看就懂

一组可以KEY:

ShadowKong

Xanmd~\vu~

奇奇怪怪的序列号…

喔不,我们的的目的是熟悉反汇编

所有crackme都来自网络,完整的破解分析耐心G.CN肯定能找到(我没具体找过).. 我在这都不啰嗦.

http://dl.dbank.com/c0y98lst1b

逆向反汇编基础之八:PHI程序再练习,C版注册机

呃~这次的还是用C写,碰到一个比较麻烦的问题就是字符处理问题~

但是最后还是解决了~

算法依然不难,经过这些练习希望能加强读反汇编的能力和逆向思维,就这一个目的而已…

爆破虽然就一句代码而已,但是觉得没什么意思~

一组可用KRY:

ShadowKong

5D726B6E798155797871

呃 话不多少 再上注册机~

http://dl.dbank.com/c0ovq7a9l2

逆向反汇编基础之七:这个CrackMe的关键代码很难找,找到分析对于我等菜也有难度

这是一个算法很简单的CrackMe,但是由于是PHI写的 所以和经常WIN32编程模式差别很大,难以从API 入手,加上编写者本身尽量减少提示信息~

所以虽然算法很简单  但是这个crackme还是浪费了我不少时间

这些CRACKME都来是网络,在网络上应该都能找到相应的算法分析文章,所以全部不写,只上传注册机~这次注册机换了C编写,虽然说C==ASM(by 某牛),但突然换过C来还是需要突感没那么熟练~

一组可用的注册号:

ShadowKong

646710

Url:

http://dl.dbank.com/c0e9oh7ki2