caridle caridle
关注数: 18 粉丝数: 285 发帖数: 1,425 关注贴吧数: 7
vb.net C#里用汇编机器码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Security.Cryptography.X509Certificates; namespace 运行机器码 { public partial class Form1 : Form { private UInt32 MEM_COMMIT = 0x1000; private UInt32 PAGE_EXECUTE_READWRITE = 0x40; private UInt32 MEM_RELEASE = 0x8000; [DllImport("kernel32")] private static extern UInt32 VirtualAlloc(UInt32 lpStartAddr, UInt32 size, UInt32 flAllocationType, UInt32 flProtect); [DllImport("kernel32")] private static extern bool VirtualFree(IntPtr lpAddress, UInt32 dwSize, UInt32 dwFreeType); [DllImport("kernel32")] private static extern IntPtr CreateThread( UInt32 lpThreadAttributes, UInt32 dwStackSize, UInt32 lpStartAddress, IntPtr param, UInt32 dwCreationFlags, ref UInt32 lpThreadId ); [DllImport("kernel32")] private static extern bool CloseHandle(IntPtr handle); [DllImport("kernel32")] private static extern UInt32 WaitForSingleObject( IntPtr hHandle, UInt32 dwMilliseconds ); [DllImport("kernel32")] private static extern IntPtr GetModuleHandle( string moduleName ); [DllImport("kernel32")] private static extern UInt32 GetProcAddress( IntPtr hModule, string procName ); [DllImport("kernel32")] private static extern UInt32 LoadLibrary( string lpFileName ); [DllImport("kernel32")] private static extern UInt32 GetLastError(); [StructLayout(LayoutKind.Sequential)] // 格式不明白就自己看看cpu相关的资料 internal struct PROCESSOR_INFO { public UInt32 dwMax; public UInt32 id0; public UInt32 id1; public UInt32 id2; public UInt32 dwStandard; public UInt32 dwFeature; // 如果是 AMD cpu public UInt32 dwExt; } public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // 下面只是一段获取cpu信息的 ,你想干其他的 自己写吧 哈哈 byte[] proc = new byte[] { 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x00, 0x53, 0x51, 0x52, 0x57, 0x8B, 0x7D, 0x08, 0x33, 0xC0, 0x0F, 0xA2, 0x89, 0x07, 0x89, 0x5F, 0x04, 0x89, 0x57, 0x08, 0x89, 0x4F, 0x0C, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x0F, 0xA2, 0x89, 0x47, 0x10, 0x89, 0x57, 0x14, 0xB8, 0x00, 0x00, 0x00, 0x80, 0x0F, 0xA2, 0x3D, 0x00, 0x00, 0x00, 0x80, 0x72, 0x0A, 0xB8, 0x01, 0x00, 0x00, 0x80, 0x0F, 0xA2, 0x89, 0x57, 0x18, 0x5F, 0x59, 0x5B, 0x5A, 0x8B, 0xE5, 0x5D, 0x33, 0xC0, 0xC2, 0x04, 0x00 }; UInt32 funcAddr = VirtualAlloc(0, (UInt32)proc.Length, MEM_COMMIT, PAGE_EXECUTE_READWRITE); Marshal.Copy(proc, 0, (IntPtr)(funcAddr), proc.Length); IntPtr hThread = IntPtr.Zero; UInt32 threadId = 0; PROCESSOR_INFO info = new PROCESSOR_INFO(); IntPtr pinfo = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(PROCESSOR_INFO))); Marshal.StructureToPtr(info, pinfo, false); hThread = CreateThread(0, 0, funcAddr, pinfo, 0, ref threadId); WaitForSingleObject(hThread, 0xFFFFFFFF); // 获取返回的cpu信息 info = (PROCESSOR_INFO)Marshal.PtrToStructure(pinfo, typeof(PROCESSOR_INFO)); Marshal.FreeHGlobal(pinfo); CloseHandle(hThread); // 执行完毕 解放自己 哈哈 VirtualFree((IntPtr)funcAddr, 0, MEM_RELEASE); } } } 想在c# 里用汇编的朋友 可以转转 vb.net 代码要类 我就不写了 给个图看看吧 有想法的人 一看就明白如果你想了解关于汇编语句与机器码之间的转换我就给个老版本ollydbg 这部分源码原代码吧
C# 进程注入的代码 使用CreateRemoteThread和LoadLibrary技术的步骤如下:1. 得到远程进程的HANDLE(使用OpenProcess)。2. 在远程进程中为DLL文件名分配内存(VirtualAllocEx)。3. 把DLL的文件名(全路径)写到分配的内存中(WriteProcessMemory)4. 使用CreateRemoteThread和LoadLibrary把你的DLL映射近远程进程。5. 等待远程线程结束(WaitForSingleObject),即等待LoadLibrary返回。也就是说当我们的DllMain(是以DLL_PROCESS_ATTACH为参数调用的)返回时远程线程也就立即结束了。6. 取回远程线程的结束码(GetExitCodeThtread),即LoadLibrary的返回值――我们DLL加载后的基地址(HMODULE)。7. 释放第2步分配的内存(VirtualFreeEx)。8. 用CreateRemoteThread和FreeLibrary把DLL从远程进程中卸载。调用时传递第6步取得的HMODULE给FreeLibrary(通过CreateRemoteThread的lpParameter参数)。9. 等待线程的结束(WaitSingleObject)。10.采用C++/CLI编写:// InjectDll.h#pragma once#include using namespace System;namespace InjectDll {public ref class InjectDllManager{public:// szLibPath - 要加载的Dll,hProcess - 被加载的远程进程,iLibPathSize-要加载的Dll的名称的长度void InjectLib2Process(char szLibPath[],HANDLE hProcess,int iLibPathSize){HANDLE hThread;void* pLibRemote;DWORD hLibModule;//已加载的DLL的基地址(HMODULE);HMODULE hKernel32 = GetModuleHandle(L"Kernel32");//初始化 szLibPath//// 1. 在远程进程中为szLibPath 分配内存// 2. 写szLibPath到分配的内存pLibRemote = VirtualAllocEx( hProcess, NULL, iLibPathSize,MEM_COMMIT, PAGE_READWRITE );WriteProcessMemory( hProcess, pLibRemote, (void*)szLibPath,sizeof(szLibPath), NULL );// 加载 "szLibPath.dll" 到远程进程// (通过 CreateRemoteThread & LoadLibrary)hThread = CreateRemoteThread( hProcess, NULL, 0,(LPTHREAD_START_ROUTINE) GetProcAddress( hKernel32,"LoadLibraryA" ),pLibRemote, 0, NULL );WaitForSingleObject( hThread, INFINITE );//取得DLL的基地址GetExitCodeThread( hThread, &hLibModule );//扫尾工作CloseHandle( hThread );VirtualFreeEx( hProcess, pLibRemote, iLibPathSize, MEM_RELEASE );// 从目标进程卸载LibSpu.dll// (通过 CreateRemoteThread & FreeLibrary)hThread = CreateRemoteThread( hProcess, NULL, 0,(LPTHREAD_START_ROUTINE) GetProcAddress( hKernel32,"FreeLibrary" ),(void*)hLibModule, 0, NULL );WaitForSingleObject( hThread, INFINITE );// 扫尾工作CloseHandle( hThread );}};} 生成Dll,然后在C#项目中将它引用进来,最后编写:public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { InjectDll.InjectDllManager iManager = new InjectDll.InjectDllManager(); iManager.InjectLib2Process(.); // } }
173惊世blog:我来告诉你为什么《诛仙》是个烂游戏 转的 173惊世blog:我来告诉你为什么《诛仙》是个烂游戏 前言:2005年春天我就玩了完美世界的技术测试,它给我带来的是震撼与对中国网游的期盼,武林外传给我带来的则是意外与失望,看到了诛仙,我对中国网络游戏只剩一句话:我去你妈的吧。 《诛仙》“写真内测”了,笔者也参加了。 如果没玩过《完美世界》和《武林外传》,《诛仙》至少在第一感觉上是中国网游里不可多得的精品。人物漂亮、风景优美、引擎先进……可是当你玩的第二个游戏又是《诛仙》,名字却叫《鬼吹灯》,你会做何感想呢?然而,《诛仙》却已是第三个《完美世界》了! 如果说“新网游”就是换换NPC、地图名字,换换LOGO,就是把城东边的屋子挪到城西边,那么“新网游”这个名词的概念已经被《诛仙》完全颠覆了。 记得2005年春天,笔者参加了《完美世界》的技术测试。当时绚丽的画面、完全自由的游戏世界深深的震撼了我。御剑飞行在天空中,看着头顶上飞过去的苍鹰,看着远处翠绿的竹林,心想中国网络游戏终于有能顶的起天的大作了。 转眼到了2006年,我安装《武林外传》封测客户端时,猛然看见程序标题上写着“《完美世界》安装包”几个大字!当时,心凉的无以复加。有人说《武林外传》就是Q版的《完美世界》,有人说《武林外传》就是《梦世界》造了一座“同福客栈”。至少我的感觉是:原来所谓的《武林外传》就是在Q版完美里替佟掌柜和刑捕头跑腿。 昨天晚上我登陆《诛仙》,轻车熟路的穿过庭院、跳过小桥,站在原本是“同福客栈”门口的那片草地上发了会呆。切换到173《诛仙》论坛,里边有个玩家打开《诛仙》文件夹翻出了“武林外传更新包”的txt文档,而另一个玩家信誓旦旦的说,他武林外传里用的挂放在诛仙里通用…… 全文地址:http://1717f.blog.sohu.com/40905668.html
诛仙人物之谜(本吧转+自己见解) 诛仙人物之谜(!) 1、最大的谜,周一仙到底是谁? 猜测:青云子十大弟子中失踪的那一脉传人? 证据: 1) 显然是青云的 2) 道行修为极高,到目前无人能及(当小凡修完天书四部后只有他一眼看出,并且小凡不能避开他拍肩膀之举) 3) 书中原话:十位弟子中,两人早夭,四人死于江湖仇杀对决,剩下的一人残废,一人失踪,只传下两脉。 4) 最有可能修全天书的人,难道真是一仙? 补充:和鬼王关系非同一般,年轻的时候有过节!而且这个过节非常深,鬼王都觉得对不起他,并且害的周到处漂泊! 另外小环掉到井里学会了还魂术,那么小环应该巫族人,并且学习鬼道非常快,天生的。小环和周在一起,就证明周应该在巫族有非一般的关系!2、第二神秘的人物,鬼先生是谁? 猜测:云易岚的师兄? 证据:1) 是焚香谷的(是万剑一旧友,与普智、万剑一属不同门派,是同一辈人。此三人应为100年前三大正教之最高手,但三人都未做掌门) 2) 不是云易岚(同时出现在青云,云易岚在前山,鬼先生在后山),但云易岚知晓诛仙已断显然是此人透露。且鬼先生应是当年给普智“三日必死丸”的人,与鬼医有关 3) 来自南疆,精通鬼道(焚香谷与南疆巫术或为一体,都会玲珑传下来的火龙阵) 补充: 鬼先生是精通鬼道的,所以肯定是来自南疆,并且交代过他是巫族,这里有朋友都猜测过, 应该是黑木的另外一个化身。黑木本身不是救兽神,而是找回玲珑的尸体,并且复活她!3、万剑一之死不合情理,或假死,或能复活 1) 青叶以后青云最大的天才,正道第一高手。为何一出手就死了?且死在小凡与鬼先生之手? 补充:我觉得万知道了 道玄 的秘密,包括道玄学习鬼道。之所以让万死,鬼先生是想保全道玄,让道玄为鬼先生服务,具体目的不详细,但是道玄在山下收集鬼魂,目的不详。 2) 道玄却在小凡(此时小凡已学天书4部)+雪琪+田不易合击下杀死田不易并逃走?按书中所说田不易是仅次于万剑一和道玄 3) 万剑一与水月,朱雀,苏茹之间的情感关系还没交待清楚。 书中交代, 鬼先生对万是有救命之恩的,以鬼道到底如何救的万,万为什么要人救,这个就搞不清楚了。4、小白,她身上还有太多的谜。 1) 活了几千年,与兽神是旧交,知道南疆巫术所藏之地? 2) 被上官策关了300年?“老鬼啊,你害的我在那玄火坛中幽居了多少年,这一次,我不好好答谢你,真是对不起你了。”书中原话 3) 那上官策与云易岚活了多久了?而道玄田不易们才100多岁?这里当为萧先生之败笔了 5、黑木 黑木未了的心愿是什么?他也是活了几千年了,从书中道理来看,心愿似乎是复活玲珑(太可怕了) 6、小环 以后章节的关键人物,碧瑶,万剑一,玲珑的复活就是她的戏。但小白也发现了复活的法术,还有那个年轻的大法师? 还有,她之前所学鬼道从何而来?周一仙所授? 补充: 上面提过,小环绝对是巫族人,但是是谁的姑娘,就不清楚了。7、林惊羽 此人应为第二男主角,为青叶,万剑一之后青云第三大天才。戏份太少了,太不正常? 8、鬼王、云易岚、道玄 这三人心机深沉,都有一统天下的野心。果然如此的话,苍松的角色应当是道玄安排打入魔教的。 且鬼王与青云似乎有说不清的关系,难道道玄与鬼王互传了法术?道玄修鬼道书中已经证明,且普智也应为道玄所杀。证据如下: 1) 杀普智的人精通鬼道,出现时一团黑气。 补充,这点我同意, 杀普智的人绝对应该是道玄,难道当日道玄不同意普智的请求,下山就立即杀他,然后夺取他的珠子?所以道玄早就入魔了。
诛仙人物之谜(本吧转+自己见解) 诛仙人物之谜(!) 1、最大的谜,周一仙到底是谁? 猜测:青云子十大弟子中失踪的那一脉传人? 证据: 1) 显然是青云的 2) 道行修为极高,到目前无人能及(当小凡修完天书四部后只有他一眼看出,并且小凡不能避开他拍肩膀之举) 3) 书中原话:十位弟子中,两人早夭,四人死于江湖仇杀对决,剩下的一人残废,一人失踪,只传下两脉。 4) 最有可能修全天书的人,难道真是一仙? 补充:和鬼王关系非同一般,年轻的时候有过节!而且这个过节非常深,鬼王都觉得对不起他,并且害的周到处漂泊! 另外小环掉到井里学会了还魂术,那么小环应该巫族人,并且学习鬼道非常快,天生的。小环和周在一起,就证明周应该在巫族有非一般的关系!2、第二神秘的人物,鬼先生是谁? 猜测:云易岚的师兄? 证据:1) 是焚香谷的(是万剑一旧友,与普智、万剑一属不同门派,是同一辈人。此三人应为100年前三大正教之最高手,但三人都未做掌门) 2) 不是云易岚(同时出现在青云,云易岚在前山,鬼先生在后山),但云易岚知晓诛仙已断显然是此人透露。且鬼先生应是当年给普智“三日必死丸”的人,与鬼医有关 3) 来自南疆,精通鬼道(焚香谷与南疆巫术或为一体,都会玲珑传下来的火龙阵) 补充: 鬼先生是精通鬼道的,所以肯定是来自南疆,并且交代过他是巫族,这里有朋友都猜测过, 应该是黑木的另外一个化身。黑木本身不是救兽神,而是找回玲珑的尸体,并且复活她!3、万剑一之死不合情理,或假死,或能复活 1) 青叶以后青云最大的天才,正道第一高手。为何一出手就死了?且死在小凡与鬼先生之手? 补充:我觉得万知道了 道玄 的秘密,包括道玄学习鬼道。之所以让万死,鬼先生是想保全道玄,让道玄为鬼先生服务,具体目的不详细,但是道玄在山下收集鬼魂,目的不详。 2) 道玄却在小凡(此时小凡已学天书4部)+雪琪+田不易合击下杀死田不易并逃走?按书中所说田不易是仅次于万剑一和道玄 3) 万剑一与水月,朱雀,苏茹之间的情感关系还没交待清楚。 书中交代, 鬼先生对万是有救命之恩的,以鬼道到底如何救的万,万为什么要人救,这个就搞不清楚了。4、小白,她身上还有太多的谜。 1) 活了几千年,与兽神是旧交,知道南疆巫术所藏之地? 2) 被上官策关了300年?“老鬼啊,你害的我在那玄火坛中幽居了多少年,这一次,我不好好答谢你,真是对不起你了。”书中原话 3) 那上官策与云易岚活了多久了?而道玄田不易们才100多岁?这里当为萧先生之败笔了 5、黑木 黑木未了的心愿是什么?他也是活了几千年了,从书中道理来看,心愿似乎是复活玲珑(太可怕了) 6、小环 以后章节的关键人物,碧瑶,万剑一,玲珑的复活就是她的戏。但小白也发现了复活的法术,还有那个年轻的大法师? 还有,她之前所学鬼道从何而来?周一仙所授? 补充: 上面提过,小环绝对是巫族人,但是是谁的姑娘,就不清楚了。7、林惊羽 此人应为第二男主角,为青叶,万剑一之后青云第三大天才。戏份太少了,太不正常? 8、鬼王、云易岚、道玄 这三人心机深沉,都有一统天下的野心。果然如此的话,苍松的角色应当是道玄安排打入魔教的。 且鬼王与青云似乎有说不清的关系,难道道玄与鬼王互传了法术?道玄修鬼道书中已经证明,且普智也应为道玄所杀。证据如下: 1) 杀普智的人精通鬼道,出现时一团黑气。 补充,这点我同意, 杀普智的人绝对应该是道玄,难道当日道玄不同意普智的请求,下山就立即杀他,然后夺取他的珠子?所以道玄早就入魔了。
"天地不仁,以万物为刍狗"林惊羽和陆雪琪的必死! 先谈谈"天地不仁,以万物为刍狗"的不同理解来区分魔道! "天地不仁,以万物为刍狗"这里有人按照字面意思理解为:天地是不仁义的,对待万物象对待猪狗一样,任其自生自灭,我晕,典型的“魔”理解方法。那么弱肉强食,见神杀神,见仙杀仙,就是诛仙的含义! 再看第二种: "天地不仁,以万物为刍狗"是无为的思想,天地对待苍生是平等的,是有大仁大义的,是有情的,这个才是老庄的正统解释,只有这样解释,才是正道,也就是千百万年来的正统解释,学武的理解了这个,才能在武学上有所成就,才能本着苍生着想,造福人民,除去祸害人间的妖孽,道玄为什么要杀张小凡?就是这个道理,其实我觉得应该杀掉张小凡,要不是道玄受重创,张小凡早死了。 张小凡为什么沦落到魔?不只是因为他使用的烧火棍的影响,还因为鬼王万人往说的一番话的影响,而这番话不但影响了张小凡,甚至影响了广大的读者,认为魔道就是没有什么标准衡量,道也杀人啊,魔也杀人啊,反正大家都杀人,魔道有什么区别?什么以偏概全,认为道里还不是出了苍松道长和哪个普智的和尚乱杀无辜?他们难道就不是魔吗?魔里面有碧瑶这样的美丽善良的姑娘,难道她是魔吗?其实,这个就是以偏概全的论调。 魔道是有大是大非的标准的,这个就是胸怀天下,周济苍生。魔道也遵从辨证法的,也能相互转化的。道中之人如果不能胸怀天下,就会变为魔,因此有道中的败类!魔中之人能改邪归正,造福人民,就能变为道的,因此魔中也有良善之辈。而这个魔道之间个别的转换,就构成了很多书中大起大落的曲折情节故事。 所以,魔道之间是没有模糊概念,大家要正确理解! 这篇小说中,如果不能体现魔道的大是大非, 故事是肯定难以继续下去的,张小凡肯定难以从魔中转变回道中,因为没有魔道之间的大是大非,两派阵营就无法相互转换。 张小凡心中一直对自己村里被杀光加上万人往的从中“教导”以及“邪物”烧火棍的浸染,让张小凡走火入魔,当然,张小凡在自己师傅那里很少得到师徒的情分和教诲,也是张小凡入魔的原因之一,因为碧瑶的爱情而入魔的关系不大。那么故事演绎中,张小凡必定要回到正义的立场中来,烧火棍是邪物,有与之对抗的玄火鉴的正义之物,参透“天书”,最后会胸怀天下,周济苍生黎民百姓。击败鬼王,从而天下太平。 那么张小凡如何又从魔入道?这就需要正义之血流干,需要邪恶践踏生灵,从而震撼张小凡 ! 那么正义之血让谁流? 让林惊羽流,让陆雪琪流,让自己最亲近的人去死............................... 魔道之间的大是大非,就是这么残酷............
首页 1 2 3 4 下一页