Hacker Gibi Gözükmek -2

marijuana

Yeni Üye
Katılım
19 Ağu 2013
Mesajlar
125
Tepkime puanı
0
Puanları
0
Arkadaşlar Bu Sitenin Yeni Serisi İnternet Sayfası Çalmış Gibi Gözükmenizi Sağlıyıcaktır Örneğin www.xxxxxx.com Gibi Şeyler Domain Fln Seçin Ayrıca Telefonlarınıza İndirmeniz İçin Googleplay Store Eklendi Tıklayarak Telefonlarınıza İndirebilirsiniz Googleplay Store Olmayanlar İse Google Arama Kısmına Google Play Yazıp Girin Arama Yerine hackertyper Yazıp İndirin Neyse Ben Konuyu Daha Fazla Uzatmadan Siteyi Vereyim http://hackertyper.net/
+Rep Vermeyi Unutmayın :)
 

marijuana

Yeni Üye
Katılım
19 Ağu 2013
Mesajlar
125
Tepkime puanı
0
Puanları
0
Bende Çözemedim :D :D :D
 

ProSound

Forumdan Uzaklaştırıldı
Katılım
15 Haz 2013
Mesajlar
200
Tepkime puanı
0
Puanları
0
ben çözdüm beyler rastgele basın tuşlara sayfa bitene kadar en sonunda bu kod çıkıyor
Kod:
<html lang="en"><head> 
		<meta charset="utf-8"> 
		<title>Hacker Typer</title>
		<style>
			body{
				background:#000000;
				color:#00FF00;
				font-family:monospace;
			}
			
			h1{
				text-align:center;
				font-size:70px;
				position:fixed;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				width:600px;
				height:80px;
				margin:auto;

				background-color:#000;

				border-style:solid;
				border-width:5px;
				border-color:#0F0;
			}
			
					</style>
		<script type="text/javascript" async="" src="http://www.google-analytics.com/ga.js"></script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script> 
		<script src="script.js" type="text/javascript"></script> 
		<script type="text/javascript">
			Typer.speed=3;
			Typer.file='files/kernel.txt';
			Typer.init();
		</script>
	</head> 
	<body><div id="deni" class="accessDenied"><h1>ACCESS DENIED</h1></div> 
		<div id="console">struct&nbsp;group_info&nbsp;init_groups&nbsp;=&nbsp;{&nbsp;.usage&nbsp;=&nbsp;ATOMIC_INIT(2)&nbsp;};&nbsp;<br>struct&nbsp;group_info&nbsp;*groups_alloc(int&nbsp;gidsetsize){&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;group_info&nbsp;*group_info;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;nblocks;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;nblocks&nbsp;=&nbsp;(gidsetsize&nbsp;+&nbsp;NGROUPS_PER_BLOCK&nbsp;-&nbsp;1)&nbsp;/&nbsp;NGROUPS_PER_BLOCK;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Make&nbsp;sure&nbsp;we&nbsp;always&nbsp;allocate&nbsp;at&nbsp;least&nbsp;one&nbsp;indirect&nbsp;block&nbsp;pointer&nbsp;*/&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;nblocks&nbsp;=&nbsp;nblocks&nbsp;?&nbsp;:&nbsp;1;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;group_info&nbsp;=&nbsp;kmalloc(sizeof(*group_info)&nbsp;+&nbsp;nblocks*sizeof(gid_t&nbsp;*),&nbsp;GFP_USER);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!group_info)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;NULL;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;group_info-&gt;ngroups&nbsp;=&nbsp;gidsetsize;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;group_info-&gt;nblocks&nbsp;=&nbsp;nblocks;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;atomic_set(&amp;group_info-&gt;usage,&nbsp;1);&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(gidsetsize&nbsp;&lt;=&nbsp;NGROUPS_SMALL)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group_info-&gt;blocks[0]&nbsp;=&nbsp;group_info-&gt;small_block;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;nblocks;&nbsp;i++)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gid_t&nbsp;*b;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;=&nbsp;(void&nbsp;*)__get_free_page(GFP_USER);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!b)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;out_undo_partial_alloc;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group_info-&gt;blocks[i]&nbsp;=&nbsp;b;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;group_info;&nbsp;<br>&nbsp;<br>out_undo_partial_alloc:&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(--i&nbsp;&gt;=&nbsp;0)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free_page((unsigned&nbsp;long)group_info-&gt;blocks[i]);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;kfree(group_info);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;NULL;&nbsp;<br>}&nbsp;<br>&nbsp;<br>EXPORT_SYMBOL(groups_alloc);&nbsp;<br>&nbsp;<br>void&nbsp;groups_free(struct&nbsp;group_info&nbsp;*group_info)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(group_info-&gt;blocks[0]&nbsp;!=&nbsp;group_info-&gt;small_block)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;group_info-&gt;nblocks;&nbsp;i++)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free_page((unsigned&nbsp;long)group_info-&gt;blocks[i]);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;kfree(group_info);&nbsp;<br>}&nbsp;<br>&nbsp;<br>EXPORT_SYMBOL(groups_free);&nbsp;<br>&nbsp;<br>/*&nbsp;export&nbsp;the&nbsp;group_info&nbsp;to&nbsp;a&nbsp;user-space&nbsp;array&nbsp;*/&nbsp;<br>static&nbsp;int&nbsp;groups_to_user(gid_t&nbsp;__user&nbsp;*grouplist,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;struct&nbsp;group_info&nbsp;*group_info)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;count&nbsp;=&nbsp;group_info-&gt;ngroups;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;group_info-&gt;nblocks;&nbsp;i++)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;cp_count&nbsp;=&nbsp;min(NGROUPS_PER_BLOCK,&nbsp;count);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;len&nbsp;=&nbsp;cp_count&nbsp;*&nbsp;sizeof(*grouplist);&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(copy_to_user(grouplist,&nbsp;group_info-&gt;blocks[i],&nbsp;len))&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-EFAULT;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grouplist&nbsp;+=&nbsp;NGROUPS_PER_BLOCK;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;-=&nbsp;cp_count;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<br>}&nbsp;<br>&nbsp;<br>/*&nbsp;fill&nbsp;a&nbsp;group_info&nbsp;from&nbsp;a&nbsp;user-space&nbsp;array&nbsp;-&nbsp;it&nbsp;must&nbsp;be&nbsp;allocated&nbsp;already&nbsp;*/&nbsp;<br>static&nbsp;int&nbsp;groups_from_user(struct&nbsp;group_info&nbsp;*group_info,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;gid_t&nbsp;__user&nbsp;*grouplist)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;count&nbsp;=&nbsp;group_info-&gt;ngroups;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;group_info-&gt;nblocks;&nbsp;i++)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;cp_count&nbsp;=&nbsp;min(NGROUPS_PER_BLOCK,&nbsp;count);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;len&nbsp;=&nbsp;cp_count&nbsp;*&nbsp;sizeof(*grouplist);&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(copy_from_user(group_info-&gt;blocks[i],&nbsp;grouplist,&nbsp;len))&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-EFAULT;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grouplist&nbsp;+=&nbsp;NGROUPS_PER_BLOCK;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;-=&nbsp;cp_count;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<br>}&nbsp;<br>&nbsp;<br>/*&nbsp;a&nbsp;simple&nbsp;Shell&nbsp;sort&nbsp;*/&nbsp;<br>static&nbsp;void&nbsp;groups_sort(struct&nbsp;group_info&nbsp;*group_info)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;base,&nbsp;max,&nbsp;stride;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;gidsetsize&nbsp;=&nbsp;group_info-&gt;ngroups;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(stride&nbsp;=&nbsp;1;&nbsp;stride&nbsp;&lt;&nbsp;gidsetsize;&nbsp;stride&nbsp;=&nbsp;3&nbsp;*&nbsp;stride&nbsp;+&nbsp;1)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;/*&nbsp;nothing&nbsp;*/&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;stride&nbsp;/=&nbsp;3;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(stride)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max&nbsp;=&nbsp;gidsetsize&nbsp;-&nbsp;stride;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(base&nbsp;=&nbsp;0;&nbsp;base&nbsp;&lt;&nbsp;max;&nbsp;base++)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;left&nbsp;=&nbsp;base;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;right&nbsp;=&nbsp;left&nbsp;+&nbsp;stride;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gid_t&nbsp;tmp&nbsp;=&nbsp;GROUP_AT(group_info,&nbsp;right);&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(left&nbsp;&gt;=&nbsp;0&nbsp;&amp;&amp;&nbsp;GROUP_AT(group_info,&nbsp;left)&nbsp;&gt;&nbsp;tmp)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP_AT(group_info,&nbsp;right)&nbsp;=&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP_AT(group_info,&nbsp;left);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;=&nbsp;left;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;-=&nbsp;stride;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP_AT(group_info,&nbsp;right)&nbsp;=&nbsp;tmp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stride&nbsp;/=&nbsp;3;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>}&nbsp;<br>&nbsp;<br>/*&nbsp;a&nbsp;simple&nbsp;bsearch&nbsp;*/&nbsp;<br>int&nbsp;groups_search(const&nbsp;struct&nbsp;group_info&nbsp;*group_info,&nbsp;gid_t&nbsp;grp)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;left,&nbsp;right;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!group_info)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;=&nbsp;0;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;=&nbsp;group_info-&gt;ngroups;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(left&nbsp;&lt;&nbsp;right)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;mid&nbsp;=&nbsp;(left+right)/2;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(grp&nbsp;&gt;&nbsp;GROUP_AT(group_info,&nbsp;mid))&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;=&nbsp;mid&nbsp;+&nbsp;1;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(grp&nbsp;&lt;&nbsp;GROUP_AT(group_info,&nbsp;mid))&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;=&nbsp;mid;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<br>}&nbsp;<br>&nbsp;<br>/**&nbsp;<br>&nbsp;*&nbsp;set_groups&nbsp;-&nbsp;Change&nbsp;a&nbsp;group&nbsp;subscription&nbsp;in&nbsp;a&nbsp;set&nbsp;of&nbsp;credentials&nbsp;<br>&nbsp;*&nbsp;@new:&nbsp;The&nbsp;newly&nbsp;prepared&nbsp;set&nbsp;of&nbsp;credentials&nbsp;to&nbsp;alter&nbsp;<br>&nbsp;*&nbsp;@group_info:&nbsp;The&nbsp;group&nbsp;list&nbsp;to&nbsp;install&nbsp;<br>&nbsp;*&nbsp;<br>&nbsp;*&nbsp;Validate&nbsp;a&nbsp;group&nbsp;subscription&nbsp;and,&nbsp;if&nbsp;valid,&nbsp;insert&nbsp;it&nbsp;into&nbsp;a&nbsp;set&nbsp;<br>&nbsp;*&nbsp;of&nbsp;credentials.&nbsp;<br>&nbsp;*/&nbsp;<br>int&nbsp;set_groups(struct&nbsp;cred&nbsp;*new,&nbsp;struct&nbsp;group_info&nbsp;*group_info)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;put_group_info(new-&gt;group_info);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;groups_sort(group_info);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;get_group_info(group_info);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;new-&gt;group_info&nbsp;=&nbsp;group_info;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<br>}&nbsp;<br>&nbsp;<br>EXPORT_SYMBOL(set_groups);&nbsp;<br>&nbsp;<br>/**&nbsp;<br>&nbsp;*&nbsp;set_current_groups&nbsp;-&nbsp;Change&nbsp;current's&nbsp;group&nbsp;subscription&nbsp;<br>&nbsp;*&nbsp;@group_info:&nbsp;The&nbsp;group&nbsp;list&nbsp;to&nbsp;impose&nbsp;<br>&nbsp;*&nbsp;<br>&nbsp;*&nbsp;Validate&nbsp;a&nbsp;group&nbsp;subscription&nbsp;and,&nbsp;if&nbsp;valid,&nbsp;impose&nbsp;it&nbsp;upon&nbsp;current's&nbsp;task&nbsp;<br>&nbsp;*&nbsp;security&nbsp;record.&nbsp;<br>&nbsp;*/&nbsp;<br>int&nbsp;set_current_groups(struct&nbsp;group_info&nbsp;*group_info)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;cred&nbsp;*new;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;ret;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;=&nbsp;prepare_creds();&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!new)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-ENOMEM;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;ret&nbsp;=&nbsp;set_groups(new,&nbsp;group_info);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(ret&nbsp;&lt;&nbsp;0)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abort_creds(new);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ret;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;commit_creds(new);&nbsp;<br>}&nbsp;<br>&nbsp;<br>EXPORT_SYMBOL(set_current_groups);&nbsp;<br>&nbsp;<br>SYSCALL_DEFINE2(getgroups,&nbsp;int,&nbsp;gidsetsize,&nbsp;gid_t&nbsp;__user&nbsp;*,&nbsp;grouplist)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;struct&nbsp;cred&nbsp;*cred&nbsp;=&nbsp;current_cred();&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(gidsetsize&nbsp;&lt;&nbsp;0)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-EINVAL;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;no&nbsp;need&nbsp;to&nbsp;grab&nbsp;task_lock&nbsp;here;&nbsp;it&nbsp;cannot&nbsp;change&nbsp;*/&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;cred-&gt;group_info-&gt;ngroups;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(gidsetsize)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i&nbsp;&gt;&nbsp;gidsetsize)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;-EINVAL;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;out;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(groups_to_user(grouplist,&nbsp;cred-&gt;group_info))&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;-EFAULT;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;out;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>out:&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;i;&nbsp;<br>}&nbsp;<br>&nbsp;<br>/*&nbsp;<br>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;SMP:&nbsp;Our&nbsp;groups&nbsp;are&nbsp;copy-on-write.&nbsp;We&nbsp;can&nbsp;set&nbsp;them&nbsp;safely&nbsp;<br>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;without&nbsp;another&nbsp;task&nbsp;interfering.&nbsp;<br>&nbsp;*/&nbsp;<br>&nbsp;<br>SYSCALL_DEFINE2(setgroups,&nbsp;int,&nbsp;gidsetsize,&nbsp;gid_t&nbsp;__user&nbsp;*,&nbsp;grouplist)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;group_info&nbsp;*group_info;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;retval;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!nsown_capable(CAP_SETGID))&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-EPERM;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((unsigned)gidsetsize&nbsp;&gt;&nbsp;NGROUPS_MAX)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-EINVAL;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;group_info&nbsp;=&nbsp;groups_alloc(gidsetsize);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!group_info)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-ENOMEM;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;retval&nbsp;=&nbsp;groups_from_user(group_info,&nbsp;grouplist);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(retval)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;put_group_info(group_info);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;retval;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;retval&nbsp;=&nbsp;set_current_groups(group_info);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;put_group_info(group_info);&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;retval;&nbsp;<br>}&nbsp;<br>&nbsp;<br>/*&nbsp;<br>&nbsp;*&nbsp;Check&nbsp;whether&nbsp;we're&nbsp;fsgid/egid&nbsp;or&nbsp;in&nbsp;the&nbsp;supplemental&nbsp;group..&nbsp;<br>&nbsp;*/&nbsp;<br>int&nbsp;in_group_p(gid_t&nbsp;grp)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;struct&nbsp;cred&nbsp;*cred&nbsp;=&nbsp;current_cred();&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;retval&nbsp;=&nbsp;1;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(grp&nbsp;!=&nbsp;cred-&gt;fsgid)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;retval&nbsp;=&nbsp;groups_search(cred-&gt;group_info,&nbsp;grp);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;retval;&nbsp;<br>}&nbsp;<br>&nbsp;<br>EXPORT_SYMBOL(in_group_p);&nbsp;<br>&nbsp;<br>int&nbsp;in_egroup_p(gid_t&nbsp;grp)&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;struct&nbsp;cred&nbsp;*cred&nbsp;=&nbsp;current_cred();&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;retval&nbsp;=&nbsp;1;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(grp&nbsp;!=&nbsp;cred-&gt;egid)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;retval&nbsp;=&nbsp;groups_search(cred-&gt;group_info,&nbsp;grp);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;retval;&nbsp;<br>}&nbsp;<br>|</div>
	
	<script type="text/javascript">
		  var _gaq = _gaq || [];
		  _gaq.push(['_setAccount', 'UA-22947694-3']);
		  _gaq.push(['_trackPageview']);
		  (function() {
			var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
		  })();
	</script>

</body></html>

böyle birşey işte
 

mustafa1414

Spys-Z
Katılım
5 Eki 2014
Mesajlar
286
Tepkime puanı
1
Puanları
0
İyi Bayramlar - Ajanlar.org AİLESİ
 

mersin escort bodrum escort fethiye escort alanya escort konya escort marmaris escort bodrum escort vozol puff sakarya escort sakarya escort sakarya escort serdivan escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort bursa travesti bursa travesti
Üst
Copyright® Ajanlar.org 2012