|
|
|
如何用asm获得windows的serial number
好像你提的问题是“如何把productid读出来?” 建议不要修改这个…… |
|
如何用asm获得windows的serial number
所有信息都在注册表中保存,可以使用RegOpenKey RegQueryValue RegCloseKey等普通注册表API读写,具体内容如下 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion] "SubVersionNumber"="" "CurrentBuild"="1.511.1 () (Obsolete data - do not use)" "InstallDate"=dword:4ec71a38 "ProductName"="Microsoft Windows XP" "RegDone"="" "RegisteredOrganization"="微软中国" "RegisteredOwner"="微软用户" "SoftwareType"="SYSTEM" "CurrentVersion"="5.1" "CurrentBuildNumber"="2600" "BuildLab"="2600.xpsp_sp3_gdr.101209-1647" "CurrentType"="Uniprocessor Free" "CSDVersion"="Service Pack 3" "SystemRoot"="C:\\WINDOWS" "PathName"="C:\\WINDOWS" "ProductId"="76481-640-8834005-23659" "DigitalProductId"=hex:a4,00,00,00,03,00,00,00,37,36,34,38,31,2d,36,34,30,2d,\ 38,38,33,34,30,30,35,2d,32,33,36,35,39,00,2e,00,00,00,41,32,32,2d,30,30,30,\ 30,31,00,00,00,00,00,00,00,90,35,66,cc,4b,57,39,89,3f,39,c9,08,01,2e,02,00,\ 00,00,00,00,3d,8a,c7,4e,f1,70,05,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,33,37,35,30,35,00,00,00,00,00,00,00,48,15,\ 00,00,8a,f8,f3,38,79,07,00,00,5c,1e,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,c7,06,96,73 "LicenseInfo"=hex:e7,5a,9b,0a,aa,8e,c4,44,cd,c0,7a,91,d1,bb,49,8f,57,01,13,b7,\ ac,46,d7,be,21,62,fb,7c,ed,c7,d1,ae,90,54,ca,da,d5,6e,2c,9c,9b,9b,c5,20,df,\ 1d,97,c7,2a,2b,26,67,6f,6e,9a,5a |
|
[讨论][求助]WIN32汇编
以下是个人理解,未知确否 1.你的system32目录下是“kernel32.dll”,决不可能是kernel32.lib,汇编引入的是“kernel32.inc”和“kernel32.lib”,这两个文件大概类似kernel32.dll的原始定义文件;而*.dll文件其实已经是编译好的“成品”了,无法直接在编写代码时include/includelib 2.addr 可以用于全局变量,也可以是局部变量,但只能用在api函数的invoke调用里;offset可以用于mov等普通指令中,也可以用在api函数的invoke调用里,但只能用于全局变量。 |
|
|
|
|
|
字符串问题
如果不太熟悉先不要随便改脚本 原脚本这一句: print encode(raw_input('Title: ')) F5运行后会出现: Please modify 'Gh0st2012.exe': Pos: 315Ch(12636d) Length: Less 30 bytes Title: 在“Title:”后面输入待测试标题,然后回车就会输出加密字节 |
|
|
|
|
|
字符串问题
bp CreateWindowExA 找到的只是解密后的标题 而软件真正的标题是加密存在的 你可以在00405B00处下 硬件写入断点,然后Ctrl+F2重载程序,F9运行即可断下 轻松找到解密处 我用Python写了一个模拟加密算法,很简单,运行效果如下: 模拟加密脚本: def encode(title): result = [] for i in range(len(title)): result.append(hex((ord(title[i])^9)+9)) result.append('0x00') return result print "Please modify 'Gh0st2012.exe':\nPos: 315Ch(12636d)\tLength: Less 30 bytes" print encode(raw_input('Title: ')) 加密后的标题内容位于软件315Ch字节处 长度为30字节 运行上面脚本,你可以自定义一个标题,然后根据返回的字节值用十六进制编辑器从315Ch处开始修改文件即可 比如模拟修改为: 修改后运行效果: |
|
字符串问题
bp CreateWindowExA 第一次中断即可看到窗口标题,具体参考MSDN http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx 注意第三个参数lpWindowName HWND WINAPI CreateWindowEx( __in DWORD dwExStyle, __in_opt LPCTSTR lpClassName, __in_opt LPCTSTR lpWindowName, __in DWORD dwStyle, __in int x, __in int y, __in int nWidth, __in int nHeight, __in_opt HWND hWndParent, __in_opt HMENU hMenu, __in_opt HINSTANCE hInstance, __in_opt LPVOID lpParam ); 具体看截图: 修改后效果: |
|
[原创]WSUnpacker v0.20 (2011.11.25)
建议:支持文件拖放(每次都手动选择文件,麻烦);最好换个图标吧 Bug: 脱壳UPX,无论是否启用通用脱壳引擎,脱壳后的程序运行后都是错误提示 |
|
[下载]MDebug 1.0 build 1118 更新
[QUOTE=accessd;1021211]OD好像没有脚本功能吧?简单看过ollyscript插件的脚本语法,是汇编级别的,开发和修改很不方便。 MDebug的脚本语言功能将是高级语言的脚本,类似C语言那样,例如: t t bl = dl edx=esi+0x1234 [ecx+0x100] = "test str...[/QUOTE] 呵呵 如果不是特别麻烦 还是建议学习Immunity Debugger,支持python或者Ruby 直接使用python 更稳定 更强大 更方便 更快速 至少有多种选择,简单操作可以直接使用内置脚本,较高级的应用可以选用python 毕竟python发展多年 各种功能及第三方库非常完备 这一点靠你一个人重新制作脚本引擎 远不可及哦 |
|
|
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值