- 博客(32)
- 资源 (604)
- 收藏
- 关注
转载 ollyScript_AutoSetBp
脚本// @file ollyScript_AutoSetBp.txt// @brief ollyScript脚本 对Delphi类的函数列表下断点// @note 对delphi不熟, 在cm中看到了一个类的函数列表, 想对函数列表每一个下断点// 当进行登录操作时,就可以断在框架代码调用的类函数上.// 在OD中手工来下断点, 感觉划不来,写个脚本来下批量断点// 下断点的思路://
2017-02-28 20:43:15 398
转载 ollyScript脱壳脚本 for ABC Cryptor(1.0)[-]
前言ABC Cryptor(1.0)[-] 特点 : 可以找到跳到OEP之前的OPCODE, 再F8一次,就可以到达OEP. 这个脚本用来练习搜索特征码.脱壳脚本// @file ollyScriptDump_ABC Cryptor(1.0)[-].txt// @brief ollyScript脱壳脚本 for ABC Cryptor(1.0)[-]// @note ABC Cryptor(1
2017-02-26 15:11:39 512
转载 脱壳脚本-for DragonArmor(0.0.4.1)[-]
前言练习DragonArmor(0.0.4.1)[-]脱壳, 只要连续F8就可以到OEP. 这个壳有个特点, [0046B000]中第1次写的是OEP的RVA, 第2次写的是OEP的VA. 脱壳脚本的思路: 对0046B000下硬件写入断点, 对写入次数计数, 第2次时, 取[0046B000]的OEP值, 取消所有断点, 对OEP下硬件执行断点, go, 停下时, 就是OEP, 脱壳.
2017-02-26 12:08:57 578
转载 脱壳脚本-for ExE Pack(1.4)[-]
前言再做ExE Pack(1.4)[-]脱壳练习, 手脱可以了. 尝试用OD脚本来脱壳.手脱cm运行后, 随机启动副本, 自己退出. 在CreateProcessA内部下断点, 不断在头部5字节, 防止程序检测.7C80236B kernel32.CreateProcessA 8BFF mov edi, edi7C80236D
2017-02-25 17:52:00 630
转载 kernel32.FatalExit
前言有个cm, 运行起来后, 会随机的启动自己的副本, 然后自己退出, 对抗调试. 看见程序起来了, 但是调试器却终止了, 从调用链看不到在用户领空中哪里调用了使程序退出的API. 最后F8,F7,F8, 看到调用了FatalExit. 总结下, 如何确定用户领空调用退出API的点.记录调试器终止时, 停在ntdll.KiFastSystemCallRet7C92E4F4 ntdl
2017-02-25 02:42:11 712
转载 ollyScript脱壳脚本 for AHpack(0.1)[-]
前言继续做脱壳练习. AHpack(0.1)[-] 是压缩壳, 手工用ESP定律完成脱壳. 尝试用ollyScript模拟手工脱壳, 试验完成了. 如果是那种步骤比较繁杂的脱壳任务, 用脚本完成脱壳, 那性价比应该蛮高的.记录// @file ollyScriptDump_AHpack(0.1)[-].txt// @brief ollyScript脱壳脚本 for AHpack(
2017-02-24 14:52:27 1149
转载 批量文件名加前缀
前言今天开始看新的资料了, 文件夹里一坨文件, 不到500个. 因为不是一天的事情, 很有可能以后再继续学习时, 找不到下一个该学习哪个. 据我自己的经验, 先要给这些文件, 加一个数字前缀. 看完一个, 就记录我看完这个了. 等下回, 我就找下一个序号来学习. 我就习惯性的开始给文件改名, 改了几十个,突然意识到,不能手工这么玩… 去codeproject上找文件改名的工程
2017-02-23 22:40:03 9133
转载 在vs2013IDE中加入代码格式化工具
前言用vc6的时候, 已经在IDE中加入了代码格式化工具AStyle.exe. 今天用vs2013写cm时, 也想用代码格式化工具, 但是发现和vc6的配置不同. 上网差资料后, 可以用了. 记录一下和vc6配置AStyle的区别.记录 参数 第三项的是代码风格的设定, 可以设置成和手工风格几乎一样. 下面第三项参数是我的编码风格, 和手工编码风格只差空行的区别.代码格式
2017-02-23 02:13:44 2393
转载 在服务中感知用户登录
前言今天和同事聊起感知用户登录的方法. 想起以前做过一个<<在服务中以当前用户身份启动一个程序>>的试验, 里面有当不同用户身份登录(在服务程序中轮询时, 得到不一样的SessionID)时, 会以当前用户身份启动一个示例程序.这就已经感知了不同用户登录.回家做了一个试验, 验证不同用户登录时, 收集用户登录的信息, 只是做验证(记录当前用户登录的用户名, 其他用户信息没取(可以取到更多的信息)).
2017-02-23 01:13:21 829
转载 调试TLS
前言看资料时, 看到了TLS, 复习一下. 看看如果程序中带TLS回调, 如何找到并调试. 发现了一个知识点 : 在TLS函数中必须执行一个和Windows消息相关的API, 才会进(DLL_PROCESS_DETACH == Reason) 网上其他TLS资料, 演示TLS时, 都是在TLS中调用MessageBox, 都没有注意这个知识点. 在TLS中弹MessageBo
2017-02-20 15:00:10 1213
转载 OllyScript脚本练习
前言今天看脱壳资料, 看人家用OD脚本来干活, 自己也练习下. OD脚本是模拟手工来干活, 只要手工可以F7, F8, 下断点, go等操作. OD脚本都可以模拟. OD脚本学习起来很快, 1天就可以写出有实际功能的脚本了. 如果开始对OD脚本命令不熟, 可能调试花些时间.记录做了2个OD脚本练习. * 加法计算器 *一个trace程序流程用的脚本, 如果
2017-02-20 01:41:46 2070
转载 RDTSC
前言开始以为GetTickCount是用RDTSC实现的,跟进去看, 不是. 封装了函数, 使用RDTSC来取时间戳计数器值.记录// wrapper for RDTSC//#include "stdafx.h"#include <windows.h>#include <stdlib.h>#include <crtdbg.h>// RDTSC__int64 getTickByRDTS
2017-02-19 11:04:36 2395
转载 cm练习-2017-0217
前言今天做了一个cm, 用了好长时间, 扒出算法后, 尝试穷举注册码, 居然没有找到. 后来发现, 还是注册算法细节上扒错了, 要循环移位时, 不能用算术移位. 如果不好表达,可以用内联汇编或做汇编函数和C联合编译. 如果不知道注册码位数和格式, 用穷举不行啊. 超过1分钟出不来, 心里慌:)UI注册机// KeyGen.cpp : for cm19//#include "std
2017-02-17 21:50:17 428
转载 脱壳-Yoda's Crypter(1.3)
前言练习 Yoda’s Crypter(1.3)的脱壳, 记录下流程点记录用异常计数法, F9后, 只需要1次(ALT+F9)程序跑起来. 在第一次F9后, 代码段下F2断点, (ALT+F9)跑起, 断下来后,就是OEP(在OD中, CTRL+A重新分析一下)脱壳 用OllyDump插件Dump(不选重建导入表)IAT修复 在ImpREC中, 填好OEP后, AutoSearch,
2017-02-14 16:26:58 961
转载 (ZT)x86 Floating-Point Instructions
Floating-Point InstructionsThe floating point instructions operate on floating-point, integer, and binary coded decimal (BCD) operands.Data Transfer InstructionsFBLD load BCD FBSTP store BCD and pop
2017-02-14 12:16:25 406
转载 脱壳-PeCompact(2.20)
前言脱壳练习, PeCompact是压缩壳查壳PEID => PECompact 2.x -> Jeremy Collake DIE => PeCompact(2.20)[-]找OEPESP定律(硬断点, DWORD读) F9跑起断在NTDll中, ALT+F9返回用户领空, F8走到下面的JMP EAX, 就去OEP了.0050EB63 53 push
2017-02-13 15:59:58 963
转载 脱壳-ASPack 2.12
前言ASPack 2.12OEP可以用查找命令的方法找到, 只有一处结果. IAT用ImpREC直接可以修复.记录查壳ASPack(2.12-2.XX)[-] // by DIE ASPack 2.12 -> Alexey Solodovnikov // by PEID找OEP 只有一处 006A13BF006A13BA 68 24515E00 push 005
2017-02-13 09:43:31 2711
转载 在OD中手工修复IAT重定向
前言壳代码,都会重定向IAT表项到壳里的地址. 如果找到真正的IAT表项的API地址列表, 自己手工填到ImpREC中挺繁琐的. 这时, 可以在已经停在OEP处的OD中, 先在ImpREC中填写正确OEP, 得到IAT表项. 当IAT表项在壳内时(无效项), 在OD中根据ImpREC提示的IAT表项地址, 手工找到真实的API地址, 将IAT手工填充(2进制拷贝,2进制粘贴), Dump出去壳
2017-02-12 12:24:41 2873
转载 ImpREC手工指定IAT中的表项值
前言在做Armadillo1.x的脱壳练习, 找OEP, 脱壳还是一样的. 但是在IAT修复时, 遇到了新知识点. 我找到了壳代码写IAT表项的代码, 由于很乱, 没有找到合适的点来修改(让壳代码写IAT表项时, 写真实的API地址), 但是我得到了壳代码自己用的一段导入dll名称和dll内的导入函数的文本列表. 经过跟ImpREC比较, 发现有好消息, 这个文本列表和ImpREC中dl
2017-02-11 23:45:18 1200
转载 OD用栈回溯法找程序流程点
前言看别人操作时, 人家能通过栈回溯,找到流程点(e.g. Show Dialog, Click Button) 我自己做的时候, 和人家的上下文不一样. 自己做了下试验, 原来必须要用trace into(CTRL+F11), 才行.记录程序启动后, 在流程点即将进行前, 在OD中先停住, 打开run trace, 再trace into, 然后在进行流程操作. 等流程进行完(e
2017-02-11 15:05:06 6674
转载 makefile的彩色build脚本
前言在WDK命令环境中: *输入BLD, 编译结果是彩色的. *直接输入build是黑白的. 想做个脚本, 双击运行, 编译同级目录的makefile. 配合subst就更好些, 还没加.记录echo offrem ------------------------------------------------------------rem @filena
2017-02-11 13:25:42 565
转载 IDA6.8F5结果不正确
前言因为IDA F5伪码编译不过, 才手工翻译. 手工翻译时, 发现有个函数, IDA翻译的逻辑都错了(一定会调用的函数都漏掉了), 渣啊. 这多大一个坑啊… 即时是F5有优化, 那也应该是函数级别的优化, 哪能将函数调用搞没了. 用的IDA6.8正版.记录反汇编代码.text:00011086 HookProc_ZwQueryDirectoryFile_11086 proc ne
2017-02-08 22:36:32 2287
转载 SSDTHook的原理
前言分析了一个cm, cm中释放了一个驱动, 进行了SSDTHook, 用于保护cm. IDA的伪码翻译的真渣, 直接编译都过不了(已经将数据类型改对了), 翻译的和反汇编代码也有点对不上, 从反汇编开始自己翻译. 从反汇编层面看SSDTHook时, 先复习一下SSDT原理, 用Windbg做下试验.记录 /** // SSDT的原理 // 假设要Hook ZwQu
2017-02-08 21:36:27 841
转载 CC断点检测
前言以前看过CC断点的检测原理. 今天做脱壳练习时, 居然看到cm中有一个fnMessageBox函数中进行了CC断点检测.记录cm中的实际函数00FAF476 <fnMessageBoxEx> 55 push ebp00FAF477 8BEC mov ebp, esp00F
2017-02-04 12:37:32 1658
转载 脱壳-Armadillo1.x
前言今天练习脱Armadillo. 记录下流程点.记录查壳PEID => Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks [Overlay] DetectItEasy => Armadillo(6.X-9.X)[-] RDG => Armadillo 脱壳环境目标程序在原版WinXpSp3虚拟机中启动不了, 可能有虚拟机检测吧. 在真机环境(
2017-02-03 20:25:26 1341
转载 VB的OEP特征
前言看到一个小工具, 用来查一个指定壳. 主要是size很小, 只有9KB. 想逆向练习下, 这么小, 一定是没壳的, 拖进IDA, 一个函数都没有, 才知道加了壳. 用PEID, Die,RDG查壳, 都指出是UPX. 载入OD, ESP定律, F9后, 直接停在jmp xx, 再F8, 到了OEP.记录00401074 68 F41B4000 push
2017-02-03 12:06:26 827
转载 运行到指定EIP处, 打内存补丁
前言运行到指定EIP处, 打内存补丁, 对加壳的程序有用. 自己写了一个测试程序, 运行到指定位置, 打内存补丁成功. 一会找个带壳的实际程序试试.记录目标为自己的测试程序// PePatchByLoader.cpp : Defines the entry point for the console application.// auto patch/*** 用调试方式运行Crea
2017-02-03 02:31:08 803
转载 PePatchByLoader
前言当程序有壳时, 如果要打文件补丁, 就需要脱壳, 如果条件不允许, 可以采用打内存补丁的方式. 用CreateProcess启动目标进程好些. 如果不用在OEP处开始打补丁, 可以用非调试方式的CreateProcess启动进程. 等进程起来后, 手工选择时机, 对进程内存进行读写. 如果必须在OEP处打补丁, 要用调试方式的CreateProcess, 等到了OEP, 自动读
2017-02-02 17:09:42 153
转载 脱壳-PECompact v1.66
前言在练习脱壳. 这个壳特点: * 在OEP处少代码, 需要自己在OEP处补齐. 少的代码在OEP之前都能看到. * 在OEP处脱壳后, ImpRec找不到IAT. 需要自己搜索指令来找到IAT项.记录查壳Detect It Easy => Borland Delphi(-)[-] PEID => 什么都没找到 * RDG => PECompact v1.66查找OEP用ES
2017-02-01 23:08:12 998
转载 脱壳-MoleBox(2.0.0-2.3.0)
前言练习了MoleBox(2.0.0-2.3.0)的脱壳, 记录一下脱壳流程点. 找到OEP后, 去看IAT项, 系统DLL地址被换成了壳函数的地址(API redirection). 如果不使IAT项为系统API地址, 运行时闪退.记录查壳Detect It Easy 1.01 => MoleBox(2.0.0-2.3.0)[-]找OEP-----------------------
2017-02-01 15:18:07 1227
转载 脱壳-PC Guard(4.06)
前言PC Guard(4.06)和普通压缩壳脱壳步骤不一样, 单步跟时间长了, OD会报错. 还没等到琢磨哪里像OEP处的代码, OD已经报错了.记录查壳ESP定律 下硬件访问断点时, 选DWORD或WORD.F9找OEP按一下F9, 就会触发一次硬件访问断点. 当硬件访问断点触发时, 按F9继续, 直到程序运行起来了. 这时看到的最后一次的硬件访问断点就是OEP附近(1句,2句的偏移)
2017-02-01 02:45:27 793
转载 脱壳后的IAT修复
前言压缩壳(大部分)和加密壳脱壳后, 在OEP处Dump出来后, 都需要IAT修复. 否则运行报错. 今天练习了脱壳后的IAT修复, 将流程点记录一下.记录OEP处dump的工具OllyDump(修复导入表dump和不修复导入表dump) LordPE(有些壳dump不出来) PeTools OD在OEP处, 用这几种工具, 将PE映像Dump出来. 用这几种工具都Dump一下, 如果
2017-02-01 01:57:42 4755
pcasm-book-simplified-chinese.zip
2014-05-09
Advanced-Windows-Debugging-sources-awd.zip
2014-04-28
TrueCrypt 7.1a Source.zip
2013-11-01
filedisk-17-org.zip
2013-10-31
Sysinternals_Source.zip
2013-09-16
vs2010_Sample_C_plus_plus.zip
2013-08-08
DebugViewV4_81.zip
2013-03-13
srcSpyxx.zip
2012-09-30
ProcessExplorer
2011-11-05
cppunit-1.12.1.tar.gz
2011-08-30
STLport-5.2.1.tar.bz2
2011-08-20
工程目录结构模板设计_2011_0309_2054
2011-03-10
ResourceHack
2010-11-26
NTFS文件系统扇区存储探秘_电子书和随书光盘.7z
2019-03-18
Linux C程序设计王者归来_book_cd.7z.004
2018-08-22
Linux C程序设计王者归来_book_cd.7z.003
2018-08-22
Linux C程序设计王者归来_book_cd.7z.002
2018-08-21
Linux C程序设计王者归来_book_cd.7z.001
2018-08-21
eclipse-java-mars-2-win32-x86_64.zip
2017-04-21
International standard ISO/IEC C++98
2015-12-25
book code C语言名题精选百则
2015-12-16
depends22_x64.zip
2015-07-26
C++_Templates_The_Complete_Guide_book_code.zip
2015-06-14
quicktimesdk 7.3.0.70 for windows
2015-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人