简易PEDIY

PEDIY软件的加密技术文章提到的一些工具,珍藏多年了 立即下载
简易PEDIY
【目    标】:cyclotron的护肤宝(IDT Protector 1.0)
【工    具】:Olydbg1.1(diy版)、LORDPE
【任    务】:非常简单的为程序增加一个小小的功能
【操作平台】:Windows Xp sp2
【作    者】:loveboom[DFCG][FCG][US]
【简要说明】:这个软件对经常脱壳的朋友来说应该是比较熟吧,我自己是常用它,在WINDOWS XP也能工作,又能保存IDT到文件。只是有时意外发生时,要自己动手去删除注册表,不是很习惯,所以就想办法让程序自己去删除一下。(也就是如果注册表里的信息没有清除的话,程序就会报错,但不会询问是否删除,要我们自己DIY^_^)
【详细过程】:
在操作之前,我们先要清楚一下,要加什么功能,相关的功能要用到什么“家伙”。
我们要增加的功能就是:
1.删除注册表项;
2.删除后选择要不要立即重启系统。
第一个问题的相关扩展:
要删除注册表我们就起码要这么几个API:
RegOpenKeyExA
RegDeleteKeyA
RegCloseKey
程序里没有直接操作注册表,所以我们要自己手工加进去,要加进去,我们当然要有相关的键值信息,所以我们把相关的键值写到程序中。我自己是加到这么几个地方:
删除注册表相关API
RVA           API
703B          RegOpenKeyExA
703F          RegDeleteKeyA
7043          RegCloseKey
删除注册表相关键值
RVA           信息
6EB0                   Enum                  子项
6EB5                   Security              子项
6E60          SYSTEM/CurrentControlSet/Services/IDTProt       主键
好了,第一个问题我们已经解决了。
第二个问题:
要提示当然要用MessageBoxA这个API吧,用这个API我们还要加两个值进去,一个是标题,一个是内容。
如果选择了重启还要写重启代码,这里要注意了,因为在2k/xp下不能再向WIN9X下那样可以直接发送ExitWindowsEx,EWX_REBOOT,0.要有权限等,设置权限的问题如果直接写是比较烦的,所以我选择了自己用DLL写功能,然后在程序里直接调用。
信息框内容:
RVA           信息
6E90          Restart your computer now
6EBE         Information
信息和重启的API
RVA           API
205c           MessageBoxA
8014                Reboot(这个是我自己定义的API)
收集完相关的信息后,我们开始操作了,用LORDPE添加相关的API,并用HEXEDIT添加相关的信息。那个DLL可以自己写,也可以参照我的。
打开OD加载程序,先找到那个出错地方所在的位置,因程序比较小,所以直接在CPU窗口里翻几下就可以找到的说。找到以下位置:
004011DF  |> /6A 10         PUSH 10                                  ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
004011E1  |.  6A 00         PUSH 0                                   ; |Title = NULL
004011E3  |.  68 BF304000   PUSH 004030BF                            ; |Text = "Can't register driver!
Try to Delete
HKLM/SYSTEM/CurrentControlSet/Services/IDTProt
and Restart you computer..."
004011E8  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
004011EB  |.  E8 A4040000   CALL <JMP.&user32.MessageBoxA>           ; /MessageBoxA
找到后就改一下,程序原是只有一个确定按钮,我要让这里可以选择是否删除注册表。所以改一下
004011DF   > /6A 14         PUSH 14                                  ; /Style = MB_YESNO|MB_ICONHAND|MB_APPLMODAL
004011E1   .  6A 00         PUSH 0                                   ; |Title = NULL
004011E3   .  68 BF304000   PUSH 004030BF                            ; |Text = "Can't register driver!
Try to Delete'HKLM/SYSTEM/CurrentControlSet/Services/IDTProt'(must restart computer)?"
004011E8   .  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
004011EB   .  E8 A4040000   CALL <JMP.&user32.MessageBoxA>           ; /MessageBoxA
004011F0   .  E9 EB040000   JMP 004016E0                             ;  跳去我们自己的代码处
004011F5      90            NOP
具体的值,可以参照一下MSDN
 我们自己的代码开始:
004016E0   > /83F8 06       CMP EAX,6                                ;  判断是不是点了确定按钮
004016E3   .  74 0B         JE SHORT 004016F0                        ;  如果是则增加删除注册表代码
004016E5   >  FF35 E0374000 PUSH DWORD PTR DS:[4037E0]               ;  如果选择的否则退回去到原程序中
004016EB   .^ E9 06FBFFFF   JMP 004011F6
004016F0   >  68 00184000   PUSH 00401800                            ; /pHandle = IDTProtm.00401800
004016F5   .  68 3F000F00   PUSH 0F003F                              ; |Access = KEY_ALL_ACCESS
004016FA   .  6A 00         PUSH 0                                   ; |Reserved = 0
004016FC   .  68 606E4000   PUSH 00406E60                            ; |Subkey = "SYSTEM/CurrentControlSet/Services/IDTProt"
00401701   .  68 02000080   PUSH 80000002                            ; |hKey = HKEY_LOCAL_MACHINE
00401706   .  FF15 3B704000 CALL DWORD PTR DS:[<&advapi32.RegOpenKey>; /打开注册表
0040170C   .  68 B06E4000   PUSH 00406EB0                            ; /删除Enum子键
00401711   .  FF35 00184000 PUSH DWORD PTR DS:[401800]               ; |hKey = 0
00401717   .  FF15 3F704000 CALL DWORD PTR DS:[<&advapi32.RegDeleteK>; /RegDeleteKeyA
0040171D   .  68 B56E4000   PUSH 00406EB5                            ; /删除子项Security
00401722   .  FF35 00184000 PUSH DWORD PTR DS:[401800]               ; |hKey = 0
00401728   .  FF15 3F704000 CALL DWORD PTR DS:[<&advapi32.RegDeleteK>; /RegDeleteKeyA
0040172E   .  68 10184000   PUSH 00401810                            ; /因为RegDeleteKey不能删除里面有子项的键,所以我们要先删除子项
00401733   .  FF35 00184000 PUSH DWORD PTR DS:[401800]               ; |hKey = 0
00401739   .  FF15 3F704000 CALL DWORD PTR DS:[<&advapi32.RegDeleteK>; /RegDeleteKeyA
0040173F   .  FF35 00184000 PUSH DWORD PTR DS:[401800]               ; /删除后关闭注册表
00401745   .  FF15 43704000 CALL DWORD PTR DS:[<&advapi32.RegCloseKe>; /RegCloseKey
0040174B   .  6A 21         PUSH 21                                  ; /这里开始提示是否立即重启
0040174D   .  68 BE6E4000   PUSH 00406EBE                            ; |Title = "Information"
00401752   .  68 906E4000   PUSH 00406E90                            ; |Text = "Restart your computer now?"
00401757   .  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
0040175A   .  FF15 5C204000 CALL DWORD PTR DS:[<&user32.MessageBoxA>>; /MessageBoxA
00401760   .  83F8 02       CMP EAX,2
00401763   .^ 74 80         JE SHORT 004016E5                        ;  如果选择了否则返回程序原过程
00401765   .  FF35 E0374000 PUSH DWORD PTR DS:[4037E0]               ;  先关闭,然后重启
0040176B   .  E8 42FFFFFF   CALL <JMP.&advapi32.CloseServiceHandle>
00401770   .  FF15 14804000 CALL DWORD PTR DS:[408014]               ;  进入我们自己写的重启DLL中
00401776   .^ E9 B1FEFFFF   JMP 0040162C                             ;  这里,其实可以不写的,因为上面都已经重启了
写完这些代码后,我们保存文件。
OK,就写这么一点了,文章内容对高手们来说就没什么意思了。也没有什么参照价值.
Greetz:
 Fly.Jingulong,yock,tDasm.David.ahao.UFO(brother).alan(sister).all of my friends and you!
 
By loveboom[DFCG][FCG]
Email:bmd2chen@tom.com
 
si4.pediy.lic 立即下载

相关推荐

Windows安装Pytorch3d

pytorch和pytorch3d版本对应关系如下:https://github.com/facebookresearch/pytorch3d/releasescuda和NVIDIA CUB版本对应关系如下:https://github.com/NVIDIA/cub/releases?page=1本人配置如下:GPU:1050TiCUDA:11.1python:3.8。

Snakewood的博客 4287

脱壳—— pediy 加密壳(含OllySubScript脚本编写)

脱壳——pediy 加密壳寻找OEPIAT 加密问题编写脚本(OllySubScript 编写)脚本思路解决基址问题 关于程序连接: ,,,火绒爆毒,就不传程序链接了,,, 寻找OEP 首先(PEiD)查看下链接器版本 VC 6.0? 使用 OD 打开,发现 pushad/pushfd(妥妥的 ESP定律 呀) F9 运行后断下,再 F7 单步,发现 jmp 到远处 进入,发现 sub esp, 0x58 ,又因为根据链接器版本,猜测是 VC6.0,所以进入第一个 call 验证

weixin_42636579的博客 2481

从SIGGRAPH审稿人视角看:什么样的TOG论文更容易被接收?

本文从SIGGRAPH审稿人视角深入解析TOG论文的审稿标准与投稿策略,揭示如何提升论文接收概率。重点探讨创新性、技术深度、实验验证等核心评分维度,并提供写作技巧与审稿意见应对策略,帮助研究者优化ACM Transactions on Graphics投稿质量。

weixin_33721344的博客 109

脱壳之Pediy未知加密壳

一、简单分析 1.大致浏览寻找OEP地址,填充IAT的地址,获取API的地址,初步编写通用脚本 ①OEP ②填充IAT地址 ③获取API地址 将地址填入脚本,进行测试 // 1.定义变量 MOV dwOEP,0047148B MOV dwGetAPI,001E1914 MOV dwWriteIAT,001E0897 // 2. 清除环境 BC // 清除所有软件断点 BPHWC // 清除所有硬件断点 BPMC // 清除内存断点 // 3. 设置断点 BPHWS dwOEP,

Nattevak 649

从ADS到SystemVue:当简单链路预算不够用时,我的射频系统级仿真方案升级实录

本文详细介绍了从ADS到SystemVue的射频系统级仿真升级路径,重点分析了基础链路预算在多端口元件和复杂场景下的局限性,并提供了SystemVue在非线性系统验证和跨域协同分析中的优势。通过实际案例展示了如何平滑迁移工具链,提升仿真精度和效率,适用于5G、毫米波雷达等现代射频系统设计。

weixin_34233974的博客 346

基于深度视觉实现机械臂对目标的识别与定位

Marker ID 和 Marker size 自选,在 launch 文件中做相应的修改(本教程演示使用 Marker ID:582,Marker size:30mm)根据相机和机械臂的安装方式不同,手眼标定分为眼在手上和眼在手外两种方式,双臂机器人的相机和机械臂基座的相对位置固定,所以应该采用眼在手外的手眼标定方式。后续的视觉引导机械臂抓取测试实验基于本实验实现,通过视觉引导右臂完成抓取目标物,所以默认已使用机械臂右臂和相机完成了手眼标定。文件,根据打印的marker 标签,需要配置。

realman_Rop的博客 3768

为OllyIce增加附加隐藏进程的功能----PeDiy入门教程

最近学习脱壳,喜欢上了Attach法到OEP,这样有很多好处,但是局限性也很大,例如隐藏进程。有留意过一些手动查杀木马的朋友一定有看过使用Ntsd –P PID Q命令关进程的文章,Ntsd其实就是系统附带的调试器。手上有一个旧版的灰鸽子,Ring 3下的RootKit,加载之后便DLL注入Explorer,并把该进程隐藏。经IceSword查得Explorer的Pid后,能顺利用Ntsd把该进程

hbiao的博客 1466

用 Joule 点燃 ABAP 开发者的舞台感:SAP BTP 上的 ABAP AI 能力实战解读

摘要:SAP推出的Joule for developers和ABAP AI功能为开发者提供了智能辅助工具,旨在优化ABAP开发流程。主要功能包括上下文感知的代码预测补全、代码解释、单元测试生成和开发问题实时解答。这些能力特别适合应对Cloud环境下ABAP开发的复杂约束,如Clean Core原则和受限语法范围。通过减少重复劳动和提升代码理解效率,该工具帮助开发者将注意力集中在业务逻辑而非技术细节上。随着企业加速向S/4HANA迁移,这些AI功能将在遗留代码改造和云适配中发挥更大作用,建议团队将其纳入工程体

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 300

转一个win32k回调实现自定义r3函数的方法 教主威武

<br />ring0调用ring3早已不是什么新鲜事,除了APC,我们知道还有KeUserModeCallback.其原型如下:<br />NTSTATUS<br />KeUserModeCallback (<br />     IN ULONG ApiNumber,<br />     IN PVOID InputBuffer,<br />     IN ULONG InputLength,<br />     OUT PVOID *OutputBuffer,<br />     IN PULONG O

Sunny_wwc的专栏 2882

C#联合Halcon机器视觉框架源码—升级版

相较于之前的NxtVision,本软件代码架构更加合理,且新增。对源码有需求的,订阅本专栏后,私信我领取。、原来的vb脚本改为。

Z's Palace 1416

全新YOLOv11有效涨点改进专栏目录 | 本专栏持续更新500+篇内容 | 包含各种卷积、主干网络、各种注意力机制、检测头、损失函数、小目标检测改进、二次创新模块、独家创新等几百种创新点改进

YOLOv11专栏持续更新500+种创新改进方案,涵盖卷积优化、注意力机制、主干网络、Neck特征融合、检测头、小目标检测等核心模块。提供独家创新点组合方案、模型轻量化改进及最新Mamba架构融合技术,配套完整实验代码和训练参数解析。订阅用户可加入专属答疑群,获取一键运行项目支持。专栏包含YOLOv11网络结构详解、配置文件解读等入门必读内容,助力科研论文发表与模型性能提升。限时开放订阅通道,提供多种涨点改进方案组合,满足不同研究需求。

Ai缝合怪、助力小伙伴高效发论文 4017

pediy18-4

使用 return-to-libc 绕过 NX 位 与之前做的基本rop基本相同,但是由于是课程作业,得做一下 漏洞程序代码 //vuln.c #include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { char buf[256]; /* [1] */ strcpy(bu...

WocW的博客 273

Swin Transformer 类可视化(grad CAM)

完整代码 from pytorch_grad_cam import GradCAM, ScoreCAM, GradCAMPlusPlus, AblationCAM, XGradCAM, EigenCAM from pytorch_grad_cam.utils.image import show_cam_on_image from torchvision.models import resnet50 import glob from demo import parse_option from models i

G果的博客 6640

pediy2016 CM29

运行程序,传统32位窗口程序 要找到程序的输入点,考虑找MessageBoxA,GetWindowText等API调用点,由于没有进行api隐藏,可以轻易找到输入点。 反编译结果很清晰,可以看到我们的输入转变为ascii进行了求和,输入长度为8,然后调用sub_401B0A函数对其进行检查,进入该函数 反编译结果同样清晰,它看起来是个switch case结构,不过这本质上是个障...

40KO的博客 236

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

对话框程序的Pediy

在Vc编写的对话框程序中加入保存用户名的汇编码,有兴趣的同志可以加入保存密码的汇编码作为尝试。 1、主要断点 GetWindowTextA 找到用户名所在的位置,在最后程序要退出时加入跳转jmp 00401AE2  挑战到我们的程序。 MessageBoxA找弹出对话框所在的位置可以自行将弹出对话框去除 2、将输入的用户名保存到我的"c:\jyh.txt"文件中,此文件名称信息存入data

Walter的专栏 1016

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

关于52ghai,pediy帖子说明

pediy:我特别好奇某些易语言开发者电脑里到底有多少种病毒?-软件逆向-看雪论坛-安全社区|安全招聘|bbs.pediy.com 52ghai:Cisool驱动读写,内核远程call,兼容Win7.Win10.Win11系统,无痕驱动,分享给大家 - 开源交流 挂海论坛 (52ghai.com) 52ghai本人无账号. 这种“邀请码”式的论坛,打开就关闭,52pojie还是白嫖来的. ...

zhuhuibeishadiao 1931

pediy18-6

绕过ASLR -- 第一部分 漏洞代码 #include <stdio.h> #include <string.h> /* Eventhough shell() function isnt invoked directly, its needed here since 'system@PLT' and 'exit@PLT' stub code should be p...

WocW的博客 231

pediy18-8

绕过 ASLR -- 第三部分 漏洞代码 // vuln.c #include <stdio.h> #include <string.h> #include <stdlib.h> int main (int argc, char **argv) { char buf[256]; int i; seteuid(getuid()); if(argc ...

WocW的博客 274

pediy18-2

整数溢出 存储大于最大支持值的值称为整数溢出。整数溢出本身不会导致任意代码执行,但是整数溢出可能会导致堆溢出或者栈溢出,从而导致任意代码执行。 数据类型大小以及范围: 对于代码: //vuln.c #include <stdio.h> #include <string.h> #include <stdlib.h> void store_passw...

WocW的博客 425

Pediy-18-10-House of Force

Pediy-18-10-houseof系列堆溢出 House of Force 源码: /* House of force vulnerable program. */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { ...

WocW的博客 378

https://bbs.pediy.com/thread-215669.htm

https://bbs.pediy.com/thread-215669.htm 转载于:https://www.cnblogs.com/itzxy/p/11203228.html

weixin_30785593的博客 1425

pediy18-1

源代码: //vuln.c #include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { char buf[256]; strcpy(buf,argv[1]); printf("Input:%s\n",buf); retu...

WocW的博客 457

pediy18-7

绕过 ASLR -- 第二部分 漏洞代码 //vuln.c #include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { char buf[256]; strcpy(buf,argv[1]); printf("%s\n",buf); fflush(stdout); ret...

WocW的博客 231

pediy2016 CM2

整个程序大致流程:(所有重要字符串都已经过RC6解密处理,达到加密的效果) 解密出fnGetRegSnToVerify和fnCalcUserInputRegSnAfterEnc两个函数名并注册为lua函数 获取输入并进行RC6解密处理 解密出lua编译后的脚本并执行该脚本 在该脚本中调用了fnGetRegSnToVerify和fnCalcUserInputRegSnAfterEnc函数 ...

40KO的博客 359

pediy18-3

Off-By-One 漏洞(基于栈) 将源字符串复制到目标缓冲区可能会导致off-by-one 1.源字符串的长度等于缓冲区的长度。因为字符串的结尾会有一个\00。会溢出到目标缓冲区的上方。如果EBP恰好位于该缓冲区上方,则可导致任意代码执行。 漏洞源代码: //vuln.c #include <stdio.h> #include <string.h> void...

WocW的博客 304

PEDIY 之 我自己的FlashGet

PEDIY 之 我自己的FlashGet   面向初学者FlashGet地球人都知道吧,偶可是从以前的JetCar一直用过来的。看它的宣传中颇为自豪的是对下载来的文件的管理功能,可以分成软件、游戏、音乐之类来安排。可是偶还是用得不太爽,像偶这样每天DOWN一堆乱七八糟东东的,几个月就能累积起几百个文件,不少珍贵或是超大的东东是绝对舍不得先删了等需要时再下的。于是乎在七八百个压缩包中寻找三天前下载的

声明:因这个优快云的BLOG莫名其妙地不能发表文章了,请您访问我的新BLOG:roba.blogchina.com,给您造成的不便请原谅 1583
上一篇: forgot/hexer变形telock
下一篇: PESPIN v0.7脱壳(完结篇)
bmd2chen
博客等级 码龄23年 34粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值