Diablo 2oo2’s CrackMe 2 算法分析

3组学潜变量DIABLO 【代码】三组学潜变量DIABLO。 阅读详情

【目     标】:Diablo 2oo2’s CrackMe 2
【工     具】:IDA 4.7
【任     务】:算法分析
【操作平台】:Windows 2003 server
【作     者】: LOVEBOOM[DFCG][FCG][US]
【相关链接】: 见附件
【简要说明】: 用IDA再分析一篇简单的算法。
【详细过程】:
        因为CRACKME是用masm写的,所以非常方便分析的。这次目标用yoda加了壳,怎么脱壳我就不说了,很简单的。脱壳后,用IDA分析一下结果就出来了:

code:00401028 DialogFunc:                                       ; DATA XREF: start+Eo
code:00401028                 push    ebp
code:00401029                 mov     ebp, esp
code:0040102B                 cmp     dword ptr [ebp+0Ch], 111h
code:00401032                 jnz     loc_401245
code:00401038                 mov     eax, [ebp+10h]            ; CASE EAX==WM_COMMAND
code:0040103B                 cmp     ax, 65h
code:0040103F                 jnz     loc_40125D
code:00401045                 pusha                             ; CASE AX==IDC_BTN_CHECKREG
code:00401046                 mov     byte ptr ds:UCASE_Buffer, 53h ; "SJKAZBVTECGIDFNG"
code:0040104D                 mov     byte ptr ds:UCASE_Buffer+1, 4Ah
code:00401054                 mov     byte ptr ds:UCASE_Buffer+2, 4Bh
code:0040105B                 mov     byte ptr ds:UCASE_Buffer+3, 41h
code:00401062                 mov     byte ptr ds:UCASE_Buffer+4, 5Ah
code:00401069                 mov     byte ptr ds:UCASE_Buffer+5, 42h
code:00401070                 mov     byte ptr ds:UCASE_Buffer+6, 56h
code:00401077                 mov     byte ptr ds:UCASE_Buffer+7, 54h
code:0040107E                 mov     byte ptr ds:UCASE_Buffer+8, 45h
code:00401085                 mov     byte ptr ds:UCASE_Buffer+9, 43h
code:0040108C                 mov     byte ptr ds:UCASE_Buffer+0Ah, 47h
code:00401093                 mov     byte ptr ds:UCASE_Buffer+0Bh, 49h
code:0040109A                 mov     byte ptr ds:UCASE_Buffer+0Ch, 44h
code:004010A1                 mov     byte ptr ds:UCASE_Buffer+0Dh, 46h
code:004010A8                 mov     byte ptr ds:UCASE_Buffer+0Eh, 4Eh
code:004010AF                 mov     byte ptr ds:UCASE_Buffer+0Fh, 47h ; 准备获取注册码
code:004010B6                 push    28h                       ; nMaxCount
code:004010B8                 push    offset SN_Buffer          ; lpString
code:004010BD                 push    68h                       ; nIDDlgItem
code:004010BF                 push    dword ptr [ebp+8]         ; hDlg
code:004010C2                 call    GetDlgItemTextA           ; 获取注册码
code:004010C7                 cmp     eax, 10h
code:004010CA                 jnz     short Reg_Failed          ; 比较注册码,如果注册码长度不是10h则over
code:004010CC                 push    28h                       ; nMaxCount
code:004010CE                 push    offset SzName_Buffer      ; lpString
code:004010D3                 push    67h                       ; nIDDlgItem
code:004010D5                 push    dword ptr [ebp+8]         ; hDlg
code:004010D8                 call    GetDlgItemTextA           ; 获取用户名
code:004010DD                 test    eax, eax
code:004010DF                 jz      short loc_401101
code:004010E1                 cmp     eax, 8                    ; 用户名长度不能大于8
code:004010E4                 jg      short loc_401115
code:004010E6                 cmp     eax, 1                    ; 如果用户名小于1则提示,问题提示,后面的提示最少2位,这里判断却是不为空就算过关了
code:004010E9                 jl      short loc_4010ED
code:004010EB                 jmp     short @UCASE              ; 这里实际就是一个转为大写的函数。
code:004010EB                                                   ; 如果小于'A'则加20h,相加后值还是小于'A'则把字符转为'F'
code:004010EB                                                   ; 如果大于'Z'则减20h(就是转为大写),运算值大于'Z'则字符转为'G'
code:004010EB                                                   ; 运算值小于'A',则把字符转为'S'
code:004010ED ; ----------------------------------------------------------------------------
code:004010ED
code:004010ED loc_4010ED:                                       ; CODE XREF: code:004010E9j
code:004010ED                 push    offset aNameMustBeAtLe    ; lpString
code:004010F2                 push    68h                       ; nIDDlgItem
code:004010F4                 push    dword ptr [ebp+8]         ; hDlg
code:004010F7                 call    SetDlgItemTextA           ; 显示错误信息 
code:004010FC                 jmp     loc_401242
code:00401101 ; ----------------------------------------------------------------------------
code:00401101
code:00401101 loc_401101:                                       ; CODE XREF: code:004010DFj
code:00401101                 push    offset aEnterAName        ; lpString
code:00401106                 push    68h                       ; nIDDlgItem
code:00401108                 push    dword ptr [ebp+8]         ; hDlg
code:0040110B                 call    SetDlgItemTextA
code:00401110                 jmp     loc_401242
code:00401115 ; ----------------------------------------------------------------------------
code:00401115
code:00401115 loc_401115:                                       ; CODE XREF: code:004010E4j
code:00401115                 push    offset aNameIsTooLong     ; lpString
code:0040111A                 push    68h                       ; nIDDlgItem
code:0040111C                 push    dword ptr [ebp+8]         ; hDlg
code:0040111F                 call    SetDlgItemTextA
code:00401124                 jmp     loc_401242
code:00401129 ; ----------------------------------------------------------------------------
code:00401129
code:00401129 Reg_Failed:                                       ; CODE XREF: code:004010CAj
code:00401129                                                   ; code:0040120Fj ...
code:00401129                 push    offset String             ; lpString
code:0040112E                 push    68h                       ; nIDDlgItem
code:00401130                 push    dword ptr [ebp+8]         ; hDlg
code:00401133                 call    SetDlgItemTextA
code:00401138                 jmp     loc_401242
code:0040113D
code:0040113D ; ************** S U B R O U T I N E *****************************************
code:0040113D
code:0040113D ; 这里实际就是一个转为大写的函数。
code:0040113D ; 如果小于'A'则加20h,相加后值还是小于'A'则把字符转为'F'
code:0040113D ; 如果大于'Z'则减20h(就是转为大写),运算值大于'Z'则字符转为'G'
code:0040113D ; 运算值小于'A',则把字符转为'S'
code:0040113D
code:0040113D @UCASE          proc near                         ; CODE XREF: code:004010EBj
code:0040113D                 xor     ebx, ebx
code:0040113F                 xor     ecx, ecx                  ; 初始化相关寄存器
code:00401141                 xor     edx, edx
code:00401143                 xor     edi, edi
code:00401145                 xor     esi, esi
code:00401147
code:00401147 loc_401147:                                       ; CODE XREF: @UCASE+47j
code:00401147                 mov     bl, ds:SzName_Buffer[ecx]
code:0040114D                 cmp     bl, 41h                   ; 如果用户名小于'A'则跳去加20h
code:00401150                 jl      short ADD_20h
code:00401152
code:00401152 loc_401152:                                       ; CODE XREF: @UCASE:loc_401163j
code:00401152                 cmp     bl, 5Ah                   ; 如果用户名大于'Z'则跳去减20h,也就是uCASE
code:00401155                 jg      short UPCASE
code:00401157
code:00401157 loc_401157:                                       ; CODE XREF: @UCASE:loc_401176j
code:00401157                 jmp     short loc_401178
code:00401159 ; ----------------------------------------------------------------------------
code:00401159
code:00401159 ADD_20h:                                          ; CODE XREF: @UCASE+13j
code:00401159                 add     bl, 20h
code:0040115C                 cmp     bl, 41h                   ; 如果+20后还是小于41则直接置BL为46H('F')
code:0040115F                 jge     short loc_401163
code:00401161                 mov     bl, 46h
code:00401163
code:00401163 loc_401163:                                       ; CODE XREF: @UCASE+22j
code:00401163                 jmp     short loc_401152          ; 如果用户名大于'Z'则跳去减20h,也就是uCASE
code:00401165 ; ----------------------------------------------------------------------------
code:00401165
code:00401165 UPCASE:                                           ; CODE XREF: @UCASE+18j
code:00401165                 sub     bl, 20h
code:00401168                 cmp     bl, 5Ah                   ; 如果-20小于或等于则跳
code:0040116B                 jle     short loc_40116F          ; 如果减后小于'A'则改为'S'
code:0040116D                 mov     bl, 47h                   ; 如果-20后还是大于'Z'则把BL改为'D'
code:0040116F
code:0040116F loc_40116F:                                       ; CODE XREF: @UCASE+2Ej
code:0040116F                 cmp     bl, 41h                   ; 如果减后小于'A'则改为'S'
code:00401172                 jge     short loc_401176
code:00401174                 mov     bl, 53h
code:00401176
code:00401176 loc_401176:                                       ; CODE XREF: @UCASE+35j
code:00401176                 jmp     short loc_401157
code:00401178 ; ----------------------------------------------------------------------------
code:00401178
code:00401178 loc_401178:                                       ; CODE XREF: @UCASE:loc_401157j
code:00401178                 mov     byte ptr ds:UCASE_Buffer[edx], bl ; "SJKAZBVTECGIDFNG"
code:0040117E                 add     edx, 2                    ; 每次加2,替换原有的数据,偶数替换
code:00401181                 inc     ecx
code:00401182                 cmp     ecx, eax
code:00401184                 jnz     short loc_401147
code:00401184 @UCASE          endp
code:00401184
code:00401186                 xor     ecx, ecx                  ; 初始化相关寄存器
code:00401188                 xor     edx, edx
code:0040118A                 xor     ebx, ebx
code:0040118C
code:0040118C Lp_Sum_value:                                     ; CODE XREF: code:00401198j
code:0040118C                 mov     bl, byte ptr ds:UCASE_Buffer[ecx] ; 取出转为大写后字符
code:00401192                 add     edx, ebx                  ; 计算大写替换后字符串的和sumValue
code:00401194                 inc     ecx
code:00401195                 cmp     ecx, 10h
code:00401198                 jnz     short Lp_Sum_value        ; 取出转为大写后字符
code:0040119A                 imul    eax, 0FFh                 ; 用户名长度乘以0FFh的值key1
code:004011A0                 imul    edx, eax                  ; 再用key1乘以sumValue,设为imulvalue
code:004011A3                 xor     edx, 0ACEBDFABh           ; 用imulValue 异或常数0ACEBDFABH的值设为XorValue
code:004011A9                 bswap   edx                       ; 计算出的xorValue反转
code:004011AB                 push    edx
code:004011AC                 push    offset szLx               ; "%lX"
code:004011B1                 push    offset sz_save_fmstr      ; 转换后的十六进制值输出为字符串
code:004011B6                 call    wsprintfA
code:004011BB                 add     esp, 0Ch
code:004011BE                 xor     ebx, ebx
code:004011C0                 xor     ecx, ecx
code:004011C2
code:004011C2 loc_4011C2:                                       ; CODE XREF: code:004011DCj
code:004011C2                 mov     bl, ds:sz_save_fmstr[ecx]
code:004011C8                 cmp     bl, 3Ah                   ; 比较值是否小于':'
code:004011CB                 jl      short jl3a                ; 如果值小于':'则加11h
code:004011CD                 jmp     short loc_4011D8
code:004011CF ; ----------------------------------------------------------------------------
code:004011CF
code:004011CF jl3a:                                             ; CODE XREF: code:004011CBj
code:004011CF                 add     bl, 11h                   ; 如果值小于':'则加11h
code:004011D2                 mov     ds:sz_save_fmstr[ecx], bl
code:004011D8
code:004011D8 loc_4011D8:                                       ; CODE XREF: code:004011CDj
code:004011D8                 inc     ecx
code:004011D9                 cmp     ecx, 8
code:004011DC                 jnz     short loc_4011C2          ; 循环判断替换
code:004011DE                 xor     ebx, ebx
code:004011E0                 xor     ecx, ecx
code:004011E2                 xor     edx, edx
code:004011E4
code:004011E4 loc_4011E4:                                       ; CODE XREF: code:004011F7j
code:004011E4                 mov     bl, ds:sz_save_fmstr[ecx] ; 再次取出运算后的值
code:004011EA                 mov     byte ptr ds:(UCASE_Buffer+1)[edx], bl ; 奇数替换字符
code:004011F0                 add     edx, 2
code:004011F3                 inc     ecx
code:004011F4                 cmp     edx, 10h
code:004011F7                 jnz     short loc_4011E4          ; 再次取出运算后的值
code:004011F9                 xor     ebx, ebx
code:004011FB                 xor     ecx, ecx
code:004011FD                 xor     edx, edx
code:004011FF                 xor     eax, eax
code:00401201
code:00401201 Loop_Compare_Data:                                ; CODE XREF: code:00401231j
code:00401201                 mov     bl, ds:SN_Buffer[edx]     ; 取出假码
code:00401207                 mov     al, byte ptr ds:UCASE_Buffer[edx] ; 取出真码
code:0040120D                 xor     eax, ebx
code:0040120F                 jnz     Reg_Failed                ; 如果不相等则over
code:00401215                 mov     bl, ds:byte_4030C9[edx]
code:0040121B                 mov     al, byte ptr ds:(UCASE_Buffer+1)[edx]
code:00401221                 add     al, 5                     ; 比较真注册码的偶数位-5是否等于假码的偶数位
code:00401223                 cmp     bl, al
code:00401225                 jnz     Reg_Failed
code:0040122B                 add     edx, 2
code:0040122E                 cmp     edx, 10h
code:00401231                 jnz     short Loop_Compare_Data   ; 取出假码
code:00401233                 push    offset aThankYouForYou    ; lpString
code:00401238                 push    68h                       ; nIDDlgItem
code:0040123A                 push    dword ptr [ebp+8]         ; hDlg
code:0040123D                 call    SetDlgItemTextA           ; 显示正确信息
code:00401242
code:00401242 loc_401242:                                       ; CODE XREF: code:004010FCj
code:00401242                                                   ; code:00401110j ...
code:00401242                 popa
code:00401243                 jmp     short loc_401257
code:00401245 ; ----------------------------------------------------------------------------


 
算法总结:
       又抓了个软杮子, 算法也是非常这简单的,先把注册名转为大写,然后替换固定字符串里奇数位的字符,s1,然后把s1的值累加s2,s2*0ff*用户名长度key1,key1再异或固定值0ACEBDFABh结果保存为key2,key2的每一位比较是否小于’:’,小于则加上11h,然后再加上5,结果替换固定字符串里偶数位的字符。
 
Greetz:
 Fly.Jingulong,yock,tDasm.David.hexer,hmimys,ahao.UFO(brother).alan(sister).all of my friends and you!
 
By loveboom[DFCG][FCG][US]
Email:loveboom#163.com
Date:2005-6-13 14:32
 
IEC61850实战:从ICD文件解析到模型构建 本文深入解析IEC61850标准中的ICD文件结构,从Header、IED到DataTypeTemplates部分,详细介绍了如何构建电力自动化设备的数据模型。通过实战案例展示ICD文件的创建过程,并分享常见问题的调试技巧,帮助工程师快速掌握IEC61850建模方法,提升电力系统自动化项目的实施效率。 阅读详情

相关推荐

【电子元件篇】电容的九大作用与选型指南-超简单解读

本文系统介绍了电容的基础概念、核心功能及实际应用。电容作为存储电荷的被动元件,其容值公式为C=Q/V,单位包括法拉及常用派生单位。文章重点解析了电容的九大功能:滤波(通过RC低通电路抑制噪声)、耦合(传递交流隔离直流)、去耦(稳定供电)、储能(短暂供电)、定时(RC延时)、谐振(RLC振荡)、旁路(高频通路)、电压调节(DC-DC转换)以及保护(吸收浪涌)。同时详细阐述了电容分类(陶瓷/电解/薄膜等)、参数选型要点(耐压/容值/精度/温度)及PCB设计注意事项,并针对不同应用场景提供了具体选型建议和常见误区

2301_81299416的博客 4017

Diablo2oo2s Universal Patcher(文件补丁工具) 2.18.3 绿色汉化版

Diablo2oo2s Universal Patcher(文件补丁工具) 2.18.3 绿色汉化版 Diablo2oo2s Universal Patcher程序主要功能: 1.支持搜索与替换多字节模式 2.可通过比较功能创建偏移量补丁[Raw 偏移量和虚拟地址] 3.可以激活CRC32校验。 4.创建加壳[UPX;FSG;ASPACK]目标的补丁 5.可以用你喜欢的壳来压缩补丁

u012971242的专栏 892

AI Pika 生成进击的巨人动漫分镜案例

AI Pika 生成进击的巨人动漫分镜案例 Pika 是一个使用AI生成和编辑视频的平台。

独立开发,substack顶级编辑 2575

diablo2oo2’s Universal Patcher 中文汉化绿色破解版下载

diablo2oo2's Universal Patcher是一款极佳的文件补丁工具,软件本身体积小巧,但是功能却很强大,可自由定制性强。 程序的主要功能包括:支持对多个文件应用补丁;支持创建偏移或搜索/替换补丁/Loader;支持对不同大小的文件进行比较 (实偏移与虚拟地址);支持注册表补丁,同样支持Loader;支持在补丁中附加文件;支持从注册表中获取文件路径;支持CRC32与文件大

wangwangtongtong的专栏 1657

YOLOv8改进 | 主干网络 | 在backbone添加Swin-Transformer层【论文必备】

YOLOv8改进,Swin-Transform,YOLOv8添加Swin-Transform

kay_545 2367

飞牛fnNAS文件的超快检索

本文介绍了如何在NAS系统中部署fsearch文件搜索工具,以解决海量文件检索效率低下的问题。通过Docker容器部署ayound/file-search镜像,建立缓存和数据目录后,用户可通过8012端口访问fsearch界面。该工具支持快速关键字检索,速度媲美PC端的Everything,但需等待索引完成才能获得完整结果。虽然文件预览功能有待完善,但其高效的搜索性能值得推荐。文章还提及可通过zerotier实现远程访问,并提供了相关技术博客的参考链接。

dgnankai的专栏 1150

新160个crackme - 056-diablo2oo2‘s Crackme 01

ASM程序分析,ida静态分析,算法分析

qq_41483767的博客 447

CloudCompare二次开发(1)——获取指定高程的所有点

使用CloudCompare插件实现获取点云数据中指定高程的所有点。

点云侠的博客 4735

diablo2002’s crackme1算法分析

 【目     标】:diablo2002’s crackme1【工     具】:IDA【任     务】:算法分析 【操作平台】:Win2003 【作     者】: LOVEBOOM[DFCG][FCG][US]【相关链接】: ......【简要说明】: 一个非常简单的CrackMe入门级的,以前没有试过用ida分析东西,今天开始试着用IDA分析。【详细过程】:该CRACKME是masm32

loveboom's Reverse Enginering 2492

设计四翼无人机(Quadcopter)的自主降落控制算法

为四翼无人机建立动力学模型,包括其姿态(Pitch, Roll, Yaw)和位置(X, Y, Z)的变化。可以使用Aerospace Blockset中的预制模块,或者根据具体需求构建自定义模型。示例:简化动力学模型利用块模拟四翼无人机的基本行为,确保模型能够反映电机输出如何影响姿态和位置变化。

amy_mhd的博客 243

高云FPGA系列教程(8):ARM串口数据接收(中断和轮询方式)

GW1NSR-4C ARM部分共有2个串口外设,都挂载在APB1总线上,最高支持波特率921.6Kbit/s,无奇偶校验位,8位数据位,1位停止位,支持高速测试模式 HSTM(High Speed Test Mode),即每个时钟周期输出1位数据,可以在短时间内传输大量数据。官方手册上没有描述发送和接收缓存FIFO的深度,所以不确定是否支持缓存。

whik1194的博客 1686

新160个CrackMe054-vcrkme01、055-BCG Crackme、056-diablo2oo2‘s Crackme 01逆向分析

之后验证序列号是否为MQGBHLHNQK的变形为KZMKAFADZB,获取每个字符先+0x5如果ASCII码值大于‘Z’,则-0xD,之后再异或0xC,判断小于‘A’则将0x4B+字符串下下标作为生成后的字符,判断大于‘Z’则将0x4B-字符串下下标作为生成后的字符。先是获取用户名判断长度是否在5-32之间,之后将前五个字符进行循环操作生成新的序列号,每个字符异或0x29再+(5-i),之后判断是否处在A-Z之间,如果不是就用0x52+(5-i)来作为新生成的序列号字符。

点点关注不迷路 173

华为OD机试真题-国际移动用户识别码(IMSI)匹配

华为OD机试双机位C卷 国际移动用户识别码(IMSI)匹配 , 提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 国际移动用户识别码(IMSI)匹配

qq_45776114的博客 4927

新160个CrackMe分析-第6组:51-60(下)

有趣的验证方式,通过输入的用户名生成贪吃蛇地图,通过密码来进行移动,吃完豆子CC,走到终点DD算验证通过,很有趣的一次逆向体验。本文图片未能上传成功请移步公众号:极安御信安全研究院 查看。

m0_64973256的博客 780

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[Reverse] - 百度杯”CTF比赛 2017 二月场-CrackMe-1

环境:Windows XP 工具: IDA OD EXEINFOPE 0x00 查壳 0x01 分析 拖入OD,字符串查找看一看。 跟进去看就可以知道关键call了 0040196A . 48 dec eax 0040196B . 0F85 C4000000 jnz CrackMe1.00401A35 00401971 . B8...

123 1642

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

某CrackMe算法分析

平时看了一些CrackMe,算法都比较简单,这次拿到的这个算法自己觉得还是比较有难度,首先自己分析时并没有完全分析出算法的结论,后来参照答案才得到较完整的分析: 1.OD载入,F9运行,输入序列号,点击Check,弹出MessgaeBox提示错误的序列号,那么我们分别给MessageBoxA和MessageBoxW下断,重新载入OD,任意输入序列号,程序中断在调用MessgaeBoxA...

Hanxinyi930702的博客 363

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Diablo项目总结(包含线程池(countDownLatch)、EventBus、长轮询、一致性hash)

详见本地项目 diablo-new,总结文本 yiReadMe: 注:yiReadMe 是我自己看项目过程中的一些记录,方便回忆项目以及需要借鉴的代码的java文件 1.此项目核心:使用的配置更新即响应,通过 EventBus 事件总线来实现即时响应, 具体使用见 EventDispatcher.java 以及 PullingSupport.java 中的长轮询及其实现(url 在 Cli...

塑料味的美年达 260

【收藏】DIABLO 2 CD KEY

【收藏】DIABLO 2 CD KEY DIABLO 2 CD KEY: 79N6REJKVKK69B49X8J88EWER4 LOD CD KEY DIABLO 2 EXPANSION: XM98CC7FTFD6PPB62RHNM726KD

weixin_44875633的博客 3万+

ASPROTECT 2.x 脱壳系列(一)

ASPROTECT 2.x 脱壳系列(一)【目    标】:DVD Fab Gold 2.9.4.2【工    具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F【任    务】:简单的脱壳【操作平台】:Windows XP sp2【作    者】: LOVEBOOM[DFCG][FCG][US]【相关链接】: 自己搜索下【简要说明】: 时间在不断的减少,人越靠近死亡的

loveboom's Reverse Enginering 1万+

AcProtect 1.41 外壳分析

【目 标】: 应作者要求,这里不贴上软件名【工 具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F 【任 务】:分析外壳 【操作平台】:Windows 2003 server 【作 者】: LOVEBOOM[DFCG][FCG][US]【相关链接】: ......【简要说明】: 脱ACPROTECT的壳并不多,以前最多只

loveboom's Reverse Enginering 1万+

ASPROTECT 2.x 脱壳系列(三)

ASPROTECT 2.x 脱壳系列(三)【目    标】:BeeIcons 4.02.1【工    具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F【任    务】:简单的脱壳【操作平台】:Windows XP sp2【作    者】:LOVEBOOM[DFCG][FCG][US]【相关链接】:自己搜索下【简要说明】:继上一篇,这次的目标前两篇的又有所不同了.难度稍

loveboom's Reverse Enginering 6277

外挂脱壳示例一

Hying旧版壳的简单脱壳【目     标】:天堂xxxx(因为是外挂,所以不写全名)【工     具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F 【任     务】:简单的脱一下目标的壳 【操作平台】:WinXP sp2【作     者】:loveboom[DFCG][FCG][US]【相关链接】: 自己去上网搜搜【简要说明】: 这个一个很旧的Hying的壳了,现

loveboom's Reverse Enginering 5357

灰鸽子木马来源追踪

【目     标】:N/A【工     具】:OllyDBG 1.1【任     务】:木马来源追踪 【操作平台】:Windows xp sp2 【作     者】: LOVEBOOM[DFCG][FCG][CUG]【相关链接】: N/A【简要说明】: 今天在硬盘里找到个木马,用几款杀毒软件杀了下没有结果。自己用OD看了下,发现是灰鸽子的修改版(很反感灰鸽子的作者,搞的到处是“垃圾”)。在网上简单

loveboom's Reverse Enginering 5279

Hying's Armor v0.7x Code Injection

pre{FONT:9pt/14pt Fixedsys;WORD-BREAK:break-word;WORD-WRAP:break-word;}#1{color:#0000D0};#2{color:#FF0000};#3{color:#008000};#4{color:#808080};#5{color:#b000b0};#6{color:#000080};【目 标】:商业类的东西不

loveboom's Reverse Enginering 4798

PESpin v1.1完全外壳分析

【目     标】:PESpin v1.1主程序【工     具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F 【任     务】:分析外壳  【操作平台】:WinXP sp2 【作     者】: LOVEBOOM[DFCG][FCG][US]【相关链接】: 自己去上网搜搜 【简要说明】: 这篇文章算是给yock的一份礼物吧,前一段时间我答应他看看这个版本的壳,拖了

loveboom's Reverse Enginering 4523

Hying's PeLock v0.7x 外壳完全分析篇

    Hyings PeLock v0.7x 外壳完全分析篇前言:以前版分析的一个版本,通过对旧版的了解可以很快的掌握新版的变化的,新版刚看完,谢谢hnhuqiong的帮助,脚本太多了,我自己看不下去:-(,我还是选择了自己的方法,走了一程。走了后感觉新版变化也不是很大,虽然多乱序IAT和特殊代码加密转换了一种比较方式,不过去乱序iat感觉就像鸡肋,特殊代码处理虽然有一定难度,但很可惜,花指令

loveboom's Reverse Enginering 4264
上一篇: diablo2002’s crackme1算法分析
下一篇: ASPROTECT 2.x 脱壳系列(三)
bmd2chen
博客等级 码龄23年 34粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值