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
 
海康visionmaster开发笔记10-集成HALCON第三方算子到VM工具箱的方法 海康visionmaster开发笔记10-HALCON第三方算子到VM工具箱的方法 阅读详情

相关推荐

<Verilog实现除法器> Verilog实现牛顿-拉夫逊(Newton-Raphson)除法器

阿斯顿阿斯顿啊啊是打发士大夫

IC跳跳鱼的博客 3586

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

SenseVoice 实测,阿里开源语音大模型,识别效果和效率优于 Whisper,居然还能检测掌声、笑声!5分钟带你部署体验

阿里开源语音大模型:语音识别效果和性能强于 Whisper,还能检测掌声、笑声、咳嗽等

u010522887的专栏 4万+

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

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

wangwangtongtong的专栏 1657

AI Agent开发实战:100个真实场景题库解析

AI Agent开发涉及复杂的需求理解、架构设计及安全防护等关键技术环节。在工程实践中,开发者常面临需求偏差、系统崩溃等挑战,特别是在金融、医疗等高要求场景下。通过真实案例题库,开发者能系统性地掌握需求分析、架构决策树建模(如向量数据库选型)、安全攻防策略(如提示词注入防御)等核心技能。这些实战经验不仅能提升Agent的可用性和安全性,还能优化其在电商客服、智能家居等场景中的表现。题库采用动态难度系统,覆盖从基础到高级的开发挑战,是AI工程化落地的重要参考。

weixin_29057695的博客 347

echarts的坐标轴处理算法

参考原文:https://www.cnblogs.com/vicky-li/p/11653415.html。2、可用于双轴的情况,指定splitNumber,保证左右两边的线没有交叉显示的情况。1、设置echarts显示的最大最小值,让数据显示比较有起伏。处理echarts的一些问题。

HYeeee的博客 801

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

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

qq_41483767的博客 447

【点云语义分割】Ubuntu20.04下RangeNet++环境配置与实战指南

本文详细介绍了在Ubuntu20.04系统下配置和运行RangeNet++点云语义分割模型的完整实战指南。内容涵盖从Cuda、cudnn到TensorRT的深度学习环境搭建,RangeNet++源码编译的详细步骤与常见问题解决,以及如何运行首个分割Demo并可视化结果。最后,还探讨了处理自定义点云数据格式和进行性能调优的进阶技巧,旨在帮助开发者和研究者快速部署并应用这一先进的点云语义分割技术。

rnn9storyteller的博客 517

diablo2002’s crackme1算法分析

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

loveboom's Reverse Enginering 2492

从零开始讲DDR(5)——读懂Datasheet

对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datasheet,而能都读懂datasheet,也是一个硬件工程师的必备技能。

apple_53311083的博客 5223

第七节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 用户管理(上)

本节的内容是用户管理,后端Python代码的实现。

cuiwin的专栏 780

新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

MTK平台WiFi学习--Wi-Fi 连线/断线问题初步分析

摘要:本文详细介绍了MTK平台WiFi连接问题的日志分析方法。文章首先阐述了WiFi连接的标准流程,包括指令接收、BSSID选择、信道分配、认证关联、四次握手和DHCP获取等关键步骤。针对常见故障场景,如选网失败、信道申请失败、认证关联失败、四次握手失败等,提供了具体的日志分析方法和排查思路,包括识别关键日志、分析状态码、结合固件日志和抓包数据等。文章还特别强调了不同故障场景下需要收集的日志类型和分析要点,为WiFi连接问题的定位提供了一套系统化的解决方案。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1594

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

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

m0_64973256的博客 780

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[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

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

某CrackMe算法分析

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

Hanxinyi930702的博客 363

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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、付费专栏及课程。

余额充值