diablo2002’s crackme1算法分析

CrackMe 破解能力测试等级1的完全算法解析 以下是辛大神的自述: 这些程序是关于MFC程序的破解能力自测,原以为0-2级我能秒杀(当然我用爆破秒杀了0-2级),接下来去尝试算法分析却被MFC的各种函数弄得头晕,有必要好好学习了。。。。 花了整整2小时,才疏学浅啊。。。。 我只是列出了关键代码,分号后的是注释,函数为了方便阅读都被我重命名了。。。。 .text:004013C4 alig 阅读详情
 
【目     标】:diablo2002’s crackme1
【工     具】:IDA
【任     务】:算法分析
【操作平台】:Win2003
【作     者】: LOVEBOOM[DFCG][FCG][US]
【相关链接】: ......
【简要说明】: 一个非常简单的CrackMe入门级的,以前没有试过用ida分析东西,今天开始试着用IDA分析。
【详细过程】:
该CRACKME是masm32写的,所以非常直观的找到关键处,直接静态分析就可以写出注册机的,分析如下:
.text:00401227                 jnz     loc_4013BB
.text:0040122D                 mov     eax, [ebp+wParam]         ; Case EAX==WM_COMMAND
.text:00401230                 cmp     ax, 3
.text:00401234                 jnz     loc_4013D0
.text:0040123A                 shr     eax, 10h
.text:0040123D                 or      ax, ax
.text:00401240                 jnz     loc_4013B9
.text:00401246                 xor     eax, eax                  ; 准备获取用户名
.text:00401248                 push    28h                       ; nMaxCount
.text:0040124A                 push    offset name_szBuffer      ; lpString
.text:0040124F                 push    2                         ; nIDDlgItem
.text:00401251                 push    [ebp+hWnd]                ; hDlg
.text:00401254                 call    GetDlgItemTextA
.text:00401259                 test    al, al
.text:0040125B                 jz      Name_isEmpty              ; 比较用户名是长是否为0
.text:00401261                 cmp     al, 20h                   ; 用户名长度是否大于20H
.text:00401263                 jg      Name_ToLong
.text:00401269                 cmp     al, 5                     ; 比较用户名长度是否小于5
.text:0040126B                 jl      Name_IsToShort
.text:00401271                 lea     ebx, ds:40318Ch           ; 取出保存用户名的地址到EBX中
.text:00401277                 xor     ecx, ecx
.text:00401279                 mov     al, 5                     ; 开始计算KEY1
.text:0040127B                 xor     edx, edx                  ; EDX清0
.text:0040127D
.text:0040127D Loop_Key1:                                        ; CODE XREF: sub_401109+19Bj
.text:0040127D                 mov     cl, [edx+ebx]             ; 取出用户名的每一位
.text:00401280                 xor     cl, 29h                   ; KEY=用户名xor 29h
.text:00401283                 add     cl, al                    ; KEY=Key add len(UerName)
.text:00401285                 cmp     cl, 41h                   ; 如果相加后的KEY小于41h,则key=52H,key=key add len(userName)
.text:00401288                 jl      short Mov_CL_52h
.text:0040128A                 cmp     cl, 5Ah                   ; 如果相加后的KEY大于5Ah,则key=52H,key=key add len(userName)
.text:0040128D                 jg      short Mov_CL_52h
.text:0040128F
.text:0040128F loc_40128F:                                       ; CODE XREF: sub_401109+1A1j
.text:0040128F                 mov     SaveKey1[edx], cl         ; 计算后的值保存在40313C处
.text:00401295                 mov     byte_40313D[edx], 0
.text:0040129C                 inc     dl
.text:0040129E                 dec     al
.text:004012A0                 cmp     al, 0
.text:004012A2                 jz      short jmp_next            ; 开始计算KEY2
.text:004012A4                 jmp     short Loop_Key1
.text:004012A6 ; ----------------------------------------------------------------------------
.text:004012A6
.text:004012A6 Mov_CL_52h:                                       ; CODE XREF: sub_401109+17Fj
.text:004012A6                                                   ; sub_401109+184j
.text:004012A6                 mov     cl, 52h
.text:004012A8                 add     cl, al
.text:004012AA                 jmp     short loc_40128F          ; 计算后的值保存在40313C处
.text:004012AC ; ----------------------------------------------------------------------------
.text:004012AC
.text:004012AC jmp_next:                                         ; CODE XREF: sub_401109+199j
.text:004012AC                 xor     edx, edx                  ; 开始计算KEY2
.text:004012AE                 mov     eax, 5
.text:004012B3
.text:004012B3 Loop_key2:                                        ; CODE XREF: sub_401109+1D4j
.text:004012B3                 mov     cl, [edx+ebx]             ; 取出用户名的每一位tmpkey=asc(mid(username,i,1)
.text:004012B6                 xor     cl, 27h                   ; tmpkey=tmpkey xor &H27
.text:004012B9                 add     cl, al                    ; tmpkey=tmpkey add loopval(al)
.text:004012BB                 add     cl, 1                     ; tmpkey=tmpkey+1
.text:004012BE                 cmp     cl, 41h                   ; if tmpkey<&H41 then tmpkey=&H4D add loopval
.text:004012C1                 jl      short Mov_CL_4DH
.text:004012C3                 cmp     cl, 5Ah
.text:004012C6                 jg      short Mov_CL_4DH          ; if tmpkey >&H5A then tmpkey=&H4D add loopval
.text:004012C8
.text:004012C8 loc_4012C8:                                       ; CODE XREF: sub_401109+1DAj
.text:004012C8                 mov     SaveKey2[edx], cl
.text:004012CE                 mov     byte_403142[edx], 0
.text:004012D5                 inc     dl
.text:004012D7                 dec     al
.text:004012D9                 cmp     al, 0
.text:004012DB                 jz      short Jmp_next1           ; 准备获取注册码
.text:004012DD                 jmp     short Loop_key2           ; 取出用户名的每一位tmpkey=asc(mid(username,i,1)
.text:004012DF ; ----------------------------------------------------------------------------
.text:004012DF
.text:004012DF Mov_CL_4DH:                                       ; CODE XREF: sub_401109+1B8j
.text:004012DF                                                   ; sub_401109+1BDj
.text:004012DF                 mov     cl, 4Dh
.text:004012E1                 add     cl, al
.text:004012E3                 jmp     short loc_4012C8
.text:004012E5 ; ----------------------------------------------------------------------------
.text:004012E5
.text:004012E5 Jmp_next1:                                        ; CODE XREF: sub_401109+1D2j
.text:004012E5                 xor     eax, eax                  ; 准备获取注册码
.text:004012E7                 push    28h                       ; nMaxCount
.text:004012E9                 push    offset Key_szBuffer       ; lpString
.text:004012EE                 push    4                         ; nIDDlgItem
.text:004012F0                 push    [ebp+hWnd]                ; hDlg
.text:004012F3                 call    GetDlgItemTextA
.text:004012F8                 test    ax, ax
.text:004012FB                 jz      short Invalid_Key         ; 如果注册码为空则OVER
.text:004012FD                 cmp     ax, 0Ah
.text:00401301                 jg      short Invalid_Key         ; 如果注册码长度不为10则over
.text:00401303                 jl      short Invalid_Key
.text:00401305                 xor     eax, eax
.text:00401307                 xor     ebx, ebx
.text:00401309                 xor     ecx, ecx
.text:0040130B                 xor     edx, edx
.text:0040130D                 lea     eax, ds:4031B4h
.text:00401313
.text:00401313 loop_compareKey:                                  ; CODE XREF: sub_401109+234j
.text:00401313                 mov     bl, [ecx+eax]
.text:00401316                 mov     dl, SaveKey1[ecx]
.text:0040131C                 cmp     bl, 0
.text:0040131F                 jz      Correct_Key
.text:00401325                 add     dl, 5                     ; 再次取计算后的KEY,如果值+5大于5A的话,值-0D
.text:00401328                 cmp     dl, 5Ah
.text:0040132B                 jg      short Sub_DL_0D
.text:0040132D
.text:0040132D loc_40132D:                                       ; CODE XREF: sub_401109+23Bj
.text:0040132D                 xor     dl, 0Ch                   ; if key<&H41 then key=&H4B +loopVal
.text:00401330                 cmp     dl, 41h
.text:00401333                 jl      short ADDMOV_DL_4B
.text:00401335                 cmp     dl, 5Ah                   ; if Key>&H5A then key=&h4B - LoopVal
.text:00401338                 jg      short subMov_dl_4b
.text:0040133A
.text:0040133A loc_40133A:                                       ; CODE XREF: sub_401109+241j
.text:0040133A                                                   ; sub_401109+247j
.text:0040133A                 inc     ecx
.text:0040133B                 cmp     dl, bl                    ; 如果结果不相等则OVER
.text:0040133D                 jz      short loop_compareKey
.text:0040133F                 jmp     short Invalid_Key
.text:00401341 ; ----------------------------------------------------------------------------
.text:00401341
.text:00401341 Sub_DL_0D:                                        ; CODE XREF: sub_401109+222j
.text:00401341                 sub     dl, 0Dh
.text:00401344                 jmp     short loc_40132D          ; if key<&H41 then key=&H4B +loopVal
.text:00401346 ; ----------------------------------------------------------------------------
.text:00401346
.text:00401346 ADDMOV_DL_4B:                                     ; CODE XREF: sub_401109+22Aj
.text:00401346                 mov     dl, 4Bh
.text:00401348                 add     dl, cl
.text:0040134A                 jmp     short loc_40133A
.text:0040134C ; ----------------------------------------------------------------------------
.text:0040134C
.text:0040134C subMov_dl_4b:                                     ; CODE XREF: sub_401109+22Fj
.text:0040134C                 mov     dl, 4Bh
.text:0040134E                 sub     dl, cl
.text:00401350                 jmp     short loc_40133A
.text:00401352 ; ----------------------------------------------------------------------------
.text:00401352
.text:00401352 Invalid_Key:                                      ; CODE XREF: sub_401109+1F2j
.text:00401352                                                   ; sub_401109+1F8j ...
.text:00401352                 push    0                         ; uType
.text:00401354                 push    offset Caption            ; lpCaption
.text:00401359                 push    offset Text               ; lpText
.text:0040135E                 push    0                         ; hWnd
.text:00401360                 call    MessageBoxA
.text:00401365                 jmp     short loc_4013B9
.text:00401367 ; ----------------------------------------------------------------------------
.text:00401367
.text:00401367 Name_isEmpty:                                     ; CODE XREF: sub_401109+152j
.text:00401367                 push    0                         ; uType
.text:00401369                 push    offset aSorry___          ; lpCaption
.text:0040136E                 push    offset aEnterName_0       ; lpText
.text:00401373                 push    0                         ; hWnd
.text:00401375                 call    MessageBoxA
.text:0040137A                 jmp     short loc_4013B9
.text:0040137C ; ----------------------------------------------------------------------------
.text:0040137C
.text:0040137C Name_ToLong:                                      ; CODE XREF: sub_401109+15Aj
.text:0040137C                 push    0                         ; uType
.text:0040137E                 push    offset aSorry___          ; lpCaption
.text:00401383                 push    offset aNameCanBeMax32    ; lpText
.text:00401388                 push    0                         ; hWnd
.text:0040138A                 call    MessageBoxA
.text:0040138F                 jmp     short loc_4013B9
.text:00401391 ; ----------------------------------------------------------------------------
.text:00401391
.text:00401391 Name_IsToShort:                                   ; CODE XREF: sub_401109+162j
.text:00401391                 push    0                         ; uType
.text:00401393                 push    offset aSorry___          ; lpCaption
.text:00401398                 push    offset aNameMustBeMin5    ; lpText
.text:0040139D                 push    0                         ; hWnd
.text:0040139F                 call    MessageBoxA
.text:004013A4                 jmp     short loc_4013B9
.text:004013A6 ; ----------------------------------------------------------------------------
.text:004013A6
.text:004013A6 Correct_Key:                                      ; CODE XREF: sub_401109+216j
.text:004013A6                 push    0                         ; uType
.text:004013A8                 push    offset aGoodCracker       ; lpCaption
.text:004013AD                 push    offset aSerialIsCorrec    ; lpText
.text:004013B2                 push    0                         ; hWnd
.text:004013B4                 call    MessageBoxA
.text:004013B9
.text:004013B9 loc_4013B9:                                       ; CODE XREF: sub_401109+137j
.text:004013B9                                                   ; sub_401109+25Cj ...
.text:004013B9                 jmp     short loc_4013D0


 
总结一下算法为:
只用注册名的前五位参与运算。共分为三个部分
第一部分:
count1=5
取用户名的每一位nameval1
nameval1 异或29h加上循环值count1
运算后的值小于41h或大于5ah则nameval1=52h + count1
count1-1,直到count1为0结束第一部分key1
 
第二部分:
count2=5
取用户名的每一位nameval2
nameval2异或27加上循环值加上1
运算后的值如果小于41h或大于5ah则nameval2=4dh+count2
count2=count2-1直到count2为0结束第二部分key2
 
第三部分:
count3=0
tmpkey=key1+key2
取tmpkey的每一位keyval
keyval加上5
运算后的值如果大于5ah则keyval=keyval-0d
keyval异或0ch
如果异或后的值小于41则keyval=4b加上count3
如果异或后的值大于5ah则keyval=4bh减去count3
循环10次,得出正确注册码。
附件里有asm和 VB版的注册机J
 
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-12 13:49
 
3组学潜变量DIABLO 【代码】三组学潜变量DIABLO。 阅读详情

相关推荐

iOS逆向之lldb调试分析CrackMe1.pdf

接下来几篇文章将介绍iOS逆向分析中动态调试分析。主要是使用lldb配合(ida或者Hopper Disassembler)对iOS app的关键算法进行动态调试外加静态分析,从而还原出算法流程及参数。感兴趣的朋友可以下载下来看看,学习学习。

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

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

qq_41483767的博客 447

Chatbox使用指南

Chatbox使用指南

weixin_65289420的博客 2万+

输入一个字符串,计算该字符串中字母的个数,并将大写字母转化为小写字母,小写字母转化为大写字母

.model small .stack .data  strbuf  db 41          db ?  string db 41 dup(?)  count db 0  mesg1 db 'the checked string is: ','$'  mesg2 db 'the characters number of the string is:','$'  enter

qq_22812773的博客 3035

深入傅里叶级数与傅里叶变换:从基础到应用

傅里叶分析为我们提供了一种理解信号频率结构的强大工具。从傅里叶级数到傅里叶变换,再到快速傅里叶变换(FFT),其理论与应用紧密结合,对现代科学技术的发展意义非凡。如果你对信号处理、数据分析或工程计算感兴趣,傅里叶分析是必须掌握的基础工具。希望本文能帮助你对傅里叶分析有更深入的理解!如果有问题或想法,欢迎在评论区讨论!

qq_56683019的博客 3530

从GEFCom到UCI:手把手教你构建电力负荷时空预测模型(Python版)

本文详细介绍了如何从GEFCom到UCI数据集构建电力负荷时空预测模型(Python版),涵盖数据集解析、时空特征工程、模型架构设计及工业部署优化。通过多任务图神经网络(MTGNN)实现高精度预测,并结合边缘计算和在线学习机制提升实际应用效果,为能源管理系统提供可靠解决方案。

lambda的博客 813

DOS及BIOS中断调用实验

1.实现简单的人机对话功能 STACKA SEGMENT DB 100 DUP(?) STACKA ENDS DATA SEGMENT MESS1 DB 'WHAT IS YOUR NAME?','$' MESS2 DB 'HOW OLD ARE YOU?','$' BUF1 DB 20 DB ? DB 20 dup(?) BUF2 DB...

weixin_30814329的博客 616

YOLOv8n模型导出ONNX的避坑指南:解决版本差异,正确生成TensorRT/RKNN所需输出节点

本文详细介绍了YOLOv8n模型导出ONNX格式的实战避坑指南,涵盖版本差异处理、代码修改技巧及TensorRT/RKNN部署优化方案。针对不同推理框架需求,提供输出节点生成、动态轴处理和后处理划分等核心问题的解决方案,帮助开发者高效完成模型部署。

weixin_33247358的博客 357

Diablo 2oo2’s CrackMe 2 算法分析

【目     标】:Diablo 2oo2’s CrackMe 2【工     具】:IDA 4.7 【任     务】:算法分析 【操作平台】:Windows 2003 server 【作     者】: LOVEBOOM[DFCG][FCG][US]【相关链接】: 见附件【简要说明】: 用IDA再分析一篇简单的算法。【详细过程】:        因为CRACKME是用masm写的,所以非常方便

loveboom's Reverse Enginering 2664

Delphi中使用FireDAC与uniDAC高效连接PostgreSQL的实战指南

本文为Delphi开发者提供了使用FireDAC与uniDAC组件高效连接PostgreSQL数据库的实战指南。文章详细对比了两款组件的选择策略,重点解析了驱动依赖(libpq.dll)的配置、连接参数设置、常见错误排查及性能优化技巧,旨在帮助开发者快速构建稳定可靠的数据库连接。

tomato的博客 807

matlab 点云均值、中值、高斯滤波【2024最新版】

点云均值滤波、中值滤波、高斯滤波的matlab自带函数实现。博客长期更新,本文最近一次更新时间为:2024年11月9日。

点云侠的博客 5260

ASPROTECT 2.0 脱壳示例

ASPROTECT  2.0 脱壳示例【目    标】:Win98’s notepad【工    具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F【任    务】:简单的脱一下asprotect的壳【操作平台】:Windows Xp sp2【作    者】:loveboom[DFCG][FCG][US]【简要说明】:有一段时间没写文章了,这篇文章本来是想在奥运会那时写

loveboom's Reverse Enginering 2631

AB测试面试题

AB实验流程以一个实际的业务场景去描述AB实验流程,限定场景来减少和面试官的信息差,确保沟通高效可以以自己简历上某个相关项目的场景来举例,或者以面试的岗位对应的业务来举例子。不能光自己说,要让面试官参与进来,引导面试官往自己熟悉的内容提问,从被动转为主动。回答要有逻辑性,简洁、准确的表达。还是延用之前提到的项目案例,假设之前抖音拍摄页面中右下角相册功能的icon 由相册图标改为 用户相册的最新一张照片这个案例写在了我的简历中。

qq_45727498的博客 857

ARMadillo V4.1 Copy MEM II Code Injection

【目     标】:自己写的一个小程序【工     具】:Olydbg1.1(diy版) 【任     务】:不脱壳直接Inline patch 【操作平台】:Windows 2003 server 【作     者】: LOVEBOOM[DFCG][FCG][US]【相关链接】: ......【简要说明】: Armadillo 是加密强度好的应该就是CopyMEM2+CC,我测试的目标没有CC,

loveboom's Reverse Enginering 2580

知识图谱中的 Ontology(本体论)

1980年,本体论(Ontology)哲学概念“本体”被引入到人工智能领域用来刻画知识。本体概念模型、明确、形式化、共享。本体是实体存在形式的描述,往往表示为一组概念定义和概念之间的层级关系,本体框架形式树状结构,通常被用来为知识图谱定义schema。如人、公司、车等都可以在具体场景下称为本体。Ontology是(特定领域)信息组织的一种形式,是领域知识规范的抽象和描述,是表达、共享、重用知识的方法。Ontology。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2033

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

计算机控制技术及应用

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

灰鸽子木马来源追踪

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

loveboom's Reverse Enginering 5279

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

逆向CrackMe-01写注册机

之前一直都对逆向工程蛮感兴趣,去年系统学习过一段时间,下载了160个crackme程序包开始逆向实践。 首先对Acid burn.exe进行分析 因为网上已经有对这个程序逆向的详细帖子这里我只写概要以及逆向后发现的加密算法以及我写的注册机源码 算法分析: 得到名字的第一个字符ascii转int类型。 *41*2得到密码中间 密码为 “CW-密码-CRACKED” 注册机源码:...

笔记本 1155

菜鸟逆袭 Crackme第二弹 附带注册机

本来想每天一破的,发现我天真了。 目标:crackme.rar 先检查有没有壳: crackme6.exe:ASPack 2.x (without poly) -> Alexey Solodovnikov [Overlay] 用AspackDie1.41脱壳后: unpacked.ExE:LCC Win32 1.x -> Jacob Navia [Overlay] 用w32dasm

要不,单步调试走起? 2428

外挂脱壳示例一

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

loveboom's Reverse Enginering 5357

Windows破解&逆向-CrackMe_1实例(使用OpenProcess修改内存中的值)

这里开发了一个CrackMe实例,源码打包下载如下: https://github.com/fengfanchen/Qt/tree/master/CrackMe_1 程序是这个样子的: 程序从10s开始倒计时: 到0s后提示Game over 这里的倒计时的数在代码中是这样体现的: resource,并且为static,进程在计算机中有4个空间,一个是代码区负责逻辑相关的功能,一个是常量区,如HelloWord字符串都在那里面资源文件等,静态区,就这些静态资源和全局变量了。耳环.

IT1995的博客 1332

ARM Copy MEM II标准壳脱壳

【目     标】:传奇外挂1.07【工     具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F 【任     务】: ARM 3.6或以下版本的COPYMEM II标准壳 【操作平台】:WinXP sp2 【作     者】: LOVEBOOM[DFCG][FCG][US]【相关链接】: ……【简要说明】: 这是一个ARM3.6或以下版本的COPYMEM II壳来

loveboom's Reverse Enginering 2551

逆向之CrackMe合集(1)Acid burn

使用软件IDA Pro 7.5 首先查看弹窗的字符串 在IDA种查找String 找到失败对应的字符串 找到后发现判断 (输入字符1111) f2下断点进行单步调试 发现是对输入的字符的第一位ASCII码的值乘0x29,然后再乘2得到最后序列号中间部分的十六进制表示。 然后发现有两个字符结构体 分别位内容位"CW" “CRACKED” 还有一个"-" sub_4039AC函数将这些字符串相连,形成CW-4018-CRACKE这样的字符串,然后和输入的序列号进行比较 至此我们就分析出此样本的解法 返回程序

m0_46746801的博客 487

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万+

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
上一篇: AcProtect 1.41 外壳分析
下一篇: Diablo 2oo2’s CrackMe 2 算法分析
bmd2chen
博客等级 码龄23年 34粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值